In this assignment you will, in some sense, replicate what you did for Homework #1. There are several differences, however.
Instead of using TinyOS and nesC, our software platform will be Contiki and C.
Instead of using physical devices, we will execute the system in simulation on the Cooja Contiki simulator. This will require a development system with a GUI since Cooja requires it.
Instead of using the "Active Messaging" of TinyOS, we will use 6LoWPAN (as implemented in Contiki).
Instead of using a simple flooding scheme for transmitting temperature data back to some base station, we will use MQTT (as implemented in Contiki) to publish temperature data to appropriate topics.
Instead of using a mote connected to a base station as a sink of data, we will create a specialized MQTT client (the control program) that subscribes to the appropriate data topics.
Instead of only supporting information flow from the motes to the base station, we will also implement a "control" topic to allow the control program to command the network. For now we will only implement two commands: DATA OFF and DATA ON that respectively disable and enable data gathering.
Last Revised: 2024-11-25
© Copyright 2024 by Peter Chapin <peter.chapin@vermontstate.edu>