After their third agile embedded sprint, the team of 6 students at University of Cologne finished their Guided Project’s IoT/Embedded part, a demo’ed their prototype last week!
The whole mix of cables, MCUs and water-bearing components have been merged into a demo platform, where the prototype’s functionality can be inspected. It shows an IoT-controlled water flow and continuously measures the flow between an input source and outputs, in a way that the sum of the output flows must match the input flow.
When opening an extra value to simulate a leakage, the difference is detected and the main water flow is blocked. The same goes for single water sensor, whenever it detects water (i.e. on a floor next to your washing machine), it blocks the main water flow.
The team has used slyft.io to model and build the firmware for all devices. All sensors and actors are connected to a NodeMCU, the Master process runs on a raspberry pi. All MCUs are connected by WiFi and exchange message via CoAP, the Constrained Application Protocol.
Data is exchange using MessagePack, a binary form of JSON. One of the goals of this project was to investigate into APIs for embedded devices, and interopability between them. Code has been generated by slyft.io on a basis of API models, using JSON Schema and RAML, the Restful API Modeling Language. „Whenever we wanted to enhance our API, say, adding another REST endpoint or adding a field in our data structures, slyft made it really easy to accomplish this“ the team pointed out in their presentation.
Some more facts on this:
- 6x NodeMCU ESP8266
- C/C++ based Firmware, microcoap, msgpack
- Grove Kit sensors & actors
- Raspberry PI 3 as gateway, running Californium as a CoAP-Client/Server
Well done, guys! We’re really looking forward to the next projects and follow-ups.