This challenge was about Node-Red.
Starting from a csv file, we had to pseudo-randomly choose a row and check the type of the message: if it was an MQTT publish, we had to publish a message to a topic specified in the requirements.
Then, the Node-Red flow had to subscribe to that topic, get the messages we were publishing, keep only those messages which temperature measure was in Celsius, and create a temperature chart with those values.
For more information on the assignment, check here.
The main functionalities of row-extraction in the csv file and of message-filtering were implemented in the function nodes of the Node-Red flow in JavaScript.
To check our implementation, please see our report and the js scripts.
This challenge was about TinyOS and TOSSIM.
We had to implement a simple routing protocol based on broadcasting strating from a provided sketch. Before transmitting a message, each node checks its routing table to see if a route is present for the selected destination: if it is, the message is forwarded to the next hop, otherwise a ROUTE_REQ message is sent in broadcast. When the actual destination will receive a ROUTE_REQ message, it will answer in broadcast with a ROUTE_REPLY.
For more information on the assignment, check here.
We implemented the functionalities using the nesC programming language (strictly related to TinyOS), in particular the most interesting files are RadioRoute.h for the structure of the messages exchanged over the network, RadioRouteAppC.nc for the declaration of the interfaces that has been used, and RadioRouteC.nc for the actual implementation. Then we simulated it thanks to the simulation script, that uses the TOSSIM library.
Visit the report and the linked pages to understand the actual implementation of the network and of the nodes.
Descrizione del problema
Descrizione della soluzione
Distributed under the MIT
License. See LICENSE
for more information.