With this blog post Iwould like to wrap up my Google Summer of Code work for 52°North. And since pictures say more than a thousand words, I prepared a video about my project “GIS link to the Web of Things“.
The SenseBox features can be divided into three functional parts:
- AutoUpdate functionality
- JSON response format
- KML response
The AutoUpdate functionality periodically stores the sensor’s readings, data, time, and geographical coordinates in a log file at a specific location on a memory card. This requires a working GPS receiver attached to the Arduino. If there is no GPS reception, the automatic update does not take place while the search for a GPS signal continues. The update interval can be set by the user. Each line of the log file looks like the one below:
The format here is D<Date>,U<UnixTime>,T<Time>,N<Serial ID>,M<Sensor1 reading>,S<Sensor2reading>,L<coordinates>
The KML response is very similar to the JSON response except for the fact that it is delivered to an Earth Browser client, such as Google Earth. In addition, the data stored on the SD card is retrieved and encoded in KML format instead of JSON format before it is sent to the client.
The SenseBox, the name of the Arduino device programmed, stores the sensor’s measurement (on-board) and other information required to truly assess its state on an SD card. When a GIS software client wants that data, it is sent to it in a JSON or KML encoding.
On a personal note, it was a largely helpful experience working in close association with a highly professional organization like 52°North. I got a new eye on how to efficiently and boldly carry out tasks in general, not just coding tasks.