diff --git a/content/assets/stylesheets/includes/general.scss b/content/assets/stylesheets/includes/general.scss
index 16cf189..c252da8 100644
--- a/content/assets/stylesheets/includes/general.scss
+++ b/content/assets/stylesheets/includes/general.scss
@@ -174,27 +174,33 @@ footer.footer {
float: left;
}
-// Bold definition types in
-dt {
- font-weight: bold;
-}
-
-figure {
- position: relative;
- display: inline-flex;
- figcaption {
- position: absolute;
- background-color: rgba(0,0,0,.7);
- color: white;
- bottom: 0;
- width: 100%;
- padding: 10px;
-
- transition: all .1s;
+.content {
+ // Bold definition types in
+ dt {
+ font-weight: bold;
}
- &:hover {
+
+ figure {
+ position: relative;
+ display: inline-flex;
figcaption {
- opacity: 0;
+ position: absolute;
+ background-color: rgba(0,0,0,.7);
+ color: white;
+ bottom: 0;
+ width: 100%;
+ padding: 10px;
+
+ transition: all .1s;
+ }
+ &:hover {
+ figcaption {
+ opacity: 0;
+ }
}
}
+
+ sup {
+ font-size: small;
+ }
}
diff --git a/content/blog/10-11/counting-laps-using-bluetooth-dongle-detection-on-the-12-urenloop.md b/content/blog/10-11/counting-laps-using-bluetooth-dongle-detection-on-the-12-urenloop.md
index 7d6f8f3..f9c7286 100644
--- a/content/blog/10-11/counting-laps-using-bluetooth-dongle-detection-on-the-12-urenloop.md
+++ b/content/blog/10-11/counting-laps-using-bluetooth-dongle-detection-on-the-12-urenloop.md
@@ -1,13 +1,15 @@
---
title: Counting laps using bluetooth dongle detection on the 12 urenloop
created_at: 09-05-2011
+toc:
+ depth: 1
---
_Crossposted from [jaspervdj.be](https://jaspervdj.be/posts/2011-05-09-12-urenloop.html)_
The [12 urenloop](https://www.12urenloop.be/) is a yearly contest held at [Ghent University](https://www.ugent.be/). The student clubs compete in a 12-hour-long relay race to run as much laps as possible. Each of the 14 teams this year had a baton assigned, so they can only have one runner at any time.
-
+
Just after the start
@@ -38,7 +40,7 @@ We decided to attach bluetooth dongles to the relay batons. I'm now pretty confi
These bluetooth receivers were borrowed from the [CartoGIS](https://geoweb.ugent.be/cartogis/), a research group which (among other things) studies technology to track people on events (e.g. festivals) using bluetooth receivers.
-
+
A Gyrid node
@@ -50,7 +52,7 @@ The receivers run a custom build of [Voyage Linux](https://linux.voyage.hk/) cre
- receiver: sending all received bluetooth data to a central computing node
Here is another picture of what's inside of a node:
-
+
A Gyrid node (inside)
@@ -58,7 +60,7 @@ Here is another picture of what's inside of a node:
## Relay batons
We built the relay batons using a simple design: a battery pack consisting of 4 standard AA batteries and connecting them to a bluetooth chip, put in a simple insulation pipe. Some extensive tests on battery duration were also done, and it turns out even the cheapest batteries are good enough to keep a bluetooth chip in an idle state for more than 50 hours. We never actually set up a bluetooth connection between the receivers and the relay batons -- we just detect them and use that as an approximate position.
-
+
Left: our sweatshop, right: a relay baton
@@ -67,11 +69,13 @@ We built the relay batons using a simple design: a battery pack consisting of 4
The problem here was that we only could put cables _around_ the circuit, we couldn't cut right through to the other side of the circuit. This means the commonly used [Star network](https://en.wikipedia.org/wiki/Star_network) was impossible (well, theoretically it was possible, but we would need _a lot_ of cables). Instead, [Jens](https://twitter.com/jenstimmerman), [Pieter](https://thinkjavache.be/) and [Toon](https://twitter.com/nudded) created an awesome ring-based network, in which each node also acts as a switch (using [bridging-utils](https://www.linuxfoundation.org/collaborate/workgroups/networking/bridge)). Then, the [Spanning Tree Protocol](https://en.wikipedia.org/wiki/Spanning_Tree_Protocol) is used to determine an optimal network layout, closing one link in the circle to create a tree. This means we didn't have to use _too much_ cables, and still had the property that one link could go down (physically) without bringing down any nodes: in this case, another tree would be chosen. And if two contiguous links went down, we would only lose one node (obviously, the one in between those two links)!
-
+
Ring-based network with spanning tree indicated
+# The software
+
## count-von-count
Now, I will elaborate on the software which interpolates the data received from the Gyrid nodes in order to count laps . `count-von-count` is a robust system written in the [Haskell](https://haskell.org/) programming language.
@@ -102,14 +106,14 @@ We also ([hopefully](https://bash.org/?5273)) know the location of our Gyrid nod
This is something we can easily plot. Note that there are only a few possible positions, since we discarded the RSSI values because of reliability issues.
-
+
Linear regression used
I've illustrated the plot further with a linear regression, which is also what `count-von-count` does. Based on this line, it can figure out the average speed and other values which are then used to "judge" laps. When `count-von-count` decides a relay baton has made a lap, it will make a REST request to `dr.beaker`.
-# dr.beaker
+## dr.beaker
`dr.beaker` is the scoreboard application. It's implemented by [Thomas](https://twitter.com/blackskad) as a [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) service that runs on top of [GlassFish](https://glassfish.java.net/). It provides features such as:
@@ -123,13 +127,13 @@ I've illustrated the plot further with a linear regression, which is also what `
and more.
-## Conclusion
+# Conclusion
It's a hardware problem.
When the contest started, both Gyrid, `count-von-count` and `dr.beaker` turned out to be quite reliable. However, our relay batons were breaking fast. This simply due to the simple, obvious fact that runners don't treat your precious hardware with love -- they need to be able to quickly pass them. Inevitably, batons will be thrown and dropped.
-
+
Thomas & me monitoring the batons