On the 28st of May we (Sven and Cindy) attended the developersday organized by the dutch java user group (nljug) in Jaarbeurs, Utrecht. Currently, Sven is involved in the promotion of an IOT-related communication protocol (Lightweight Machine-to-Machine, LWM2M) and Cindy is actively brushing up on her hardware skills using her Raspberry Pi trying to get some hands-on experience with Raspberry Pi and Arduino.
We started off with two keynote speakers. The first was Ron van Kemenade from the ING. He started out by making the compelling argument that by 2020 there will be around 50 billi on devices connected to Internet (although he probably isn’t the first to say this, nor the last).
“The Internet of Things of today is more an Internet of Islands. – Ron van Kemenade”
Ron made the point that there are currently too many open “standards” and that the Internet of Things can be better described as an “Internet of Islands”. Also he warned us for the possibility of Apple stepping in at some point to make a closed standard ushering in the era of the the Internet of Apple (making it 5 times as expensive).
The second keynote speaker was Max Cavalli from Oracle.
Mr. Cavalli presented us with the Oracle point of view on the Internet of Things. Most of the presentation came across as a dry lecture on abstract IOT-concepts combined packaged in a Oracle sales pitch, but he did make the argument for more direct interconnectedness among small devices, instead of through centralized servers, an interesting idea.
Nearing the end of his presentation Mr. Cavalli mentioned the openness of the Java API standard, being an argument in favour of its use over other languages or standards. Not unexpectedly, someone stepped in and asked him to comment on the current situation regarding Oracle’s recent lawsuit against Google for re-implementing parts of the Java API. Sadly, Mr. Cavalli excused himself of a formal response by saying he was not in Oracle’s legal department and therefore no legal expert.
Hands on part 1
After a brief introduction about the Internet of Things and a picture of the beach where their boat lays, Vinicius and Yara Sengar showed us some things possible with devices like a Raspberry Pi, Gemanto and BeagleBone. This went from home automation control to a twittering tree in Brussel.
After lunch it was time for the third and last keynote speaker of today, Hendrik Blokhuis from Cisco. After lunch it was time for the third and last keynote speaker of today, Hendrik Blokhuis from Cisco.
”Fail often and fail fast” – Hendrik Blokhuis
Starting with an motivating movie, he then continued with an even more inspiring talk. We should look to the world with “new eyes” and think outside box. We should not squeeze every little bit out of a current process but re-engineer them. Hendrik also touched upon the subject of “Fog Computing”. Fog Computing is a paradigm that extends Cloud computing and services to the edge of the network. Fog provides data, compute, storage, and application services to end-users but much closer to the end-users than the Cloud does. It supports mobility and is far more dense in terms of geography.
Hands on part 2
Gained a more insight on the Raspberry, how you should start it up when you get one and connect it to a network. Then we finally could get our hands a little dirty and make a little LED flikker. This was as easy as putting the right wires on the right places in the breadboard and typing the right commands in the terminal.
sudo gpio -g mode OUTPUT
sudo gpio 4 1
sudo gpio 4 0
Hands on part 3:
When we could finally start with the third part of the lab. We got to check out WebIOPi, a
framework that exposes your Raspberry’s GPIO ports through an simple HTML web application or REST API. This way we could make the LED blink by the click of a mouse. Progress! Next up was Java integration! Since Java SE Embedded does not have its own GPIO manipulation API, we were presented with an external library called Pi4J. Sadly, most of the lab only consisted of quick run-throughs of their instruction sheets and at the end we did not get much chance to get started with some real programming. Thankfully, the slides from the lab were put online (here), so we can get started in our own time.
The last session of that day that day that was attended was about Ubidots. Ubidots is a cloud-based service that can be used to store data from a Internet-connected device like a Raspberry pi, Microchip, Arduino or BeagleBone. The speaker, Agustin Pelaez, showed a real-time demo of a humidity meter by throwing some water on a sensor and showing the graph in Ubidots corresponding to the humidity sensor. Hooking up a device in Ubidots is as easy as adding the datasource and its variables (i.e. the sensors). Sending an e-mail in case of some event like a value dropping below 200 can easily be done by drag and drop. It shouldn’t be too difficult to make a little app or monitor either. Ubidots provides a REST API to read and write data to the cloudservice with just a few lines of code in Java, Python or node.js.