This blog post presents the progress of the Google Summer of Code Project GIS Link to the Web of Things. The purpose of this project is to enable a user to communicate with “things” in the WoT paradigm using available GIS and geobrowser software running on a computer or mobile platform. The methodology of communication uses regular HTTP GET requests to which the server hosted by the thing responds with a KML file. KML is an open XML standard for geographic visualisation and is well suited to carry geographic information. The file received is then displayed by a KML viewer, such as Google Earth or ArcGIS Explorer.
The video demonstrates how I programmed an Arduino Mega 2560 with web connectivity provided by an Arduino Ethernet Shield to respond to specifically structured requests from Google Earth. The response is a KML file and depends upon the type of GET request. The vision is to program such a server on thousands of digital devices and control them from a remote location using GIS software. The applications of such a scenario can be vast and promising.
To be more specific, the readings of multiple sensors attached to the Arduino platform are internally stored in a csv log file. Sensor readings alone are insufficient to provide a complete picture of the sensor state. Therefore date, time and geo-coordinates obtained from an on-board GPS unit are also stored with each sensor measurement. Upon request from the client, multiple Placemarks (one for each measurement) are embedded into KML file along with the timestamp information so that a user can easily filter out the information he/she wants while interacting with the timeline user interface.
The work above proves the concept, but still defines just a first step and a lot of innovation and improvement lies ahead. Moving on further, another possible way to maintain the link is through the GeoServices REST API and JSON exchange. In that way, a smooth exchange of data between ArcGIS GIS software and web enabled things can take place.