Low Power Home Network Weather Monitoring
Despite the I in IoT, not all the IoT projects require a connection to internet and the use of cloud services.
This project explores a low power local network for home weather monitoring. The LaunchPad, BoosterPack and SensorTag boards were sampled by Texas Instruments, and the e-paper screens by Pervasive Displays. The Updated Low Power Home Network Weather Monitoring page describes an updated version of the project, now based on the CC1352 LaunchPad SensorTag Kit. |
Hardware
The first decision is about the radio. There are three requirements: sufficient bandwidth, low power, range especially through concrete walls.
The three contenders are WiFi, Bluetooth and Sub-1 GHz.
|
The system includes three modules:
|
Left: CC1310 / CC150 LaunchPad + Sensors BoosterPack
Right: CC1350 SensorTag |
The CC1310 / CC1350 LaunchPad doesn't provide enough RAM with 20 KB to keep the frame-buffers required by the e-papaer screen. The MSP432P401R LaunchPad hosts multiple fonts and the frame-buffers for the 400 by 300 pixels screen with 256 KB of Flash and 64 KB of RAM. |
Left: CC1310 / CC1350 LaunchPad + Sensors BoosterPack
Right: MSP432P401R LaunchPad + Pervasive Displays BoosterPack. |
Although marketed as development kit, Texas Instruments recommends the CC1310 / CC1350 LaunchPad over the CC1350 SensorTag for development. However, both solutions do not share the exact same sensors.
Additionally, the total cost is not the same. Adding the Sensors BoosterPack and the CC1310 / CC1350 LaunchPad sums USD54, while the CC1350 SensorTag with the Debug DevPack totals USD44. |
Software
Both the CC1310 / CC1350 LaunchPad and the CC1350 SensorTag support Energia MT with multi-tasking, and thus could be used with the Galaxia Library, which brings the most popular elements of TI-RTOS as objects.
The radio is managed by the EasyLink library, which comes with some serious limitations. For example, only broadcasting, or sending a message to everyone, is supported. Similarly, there is no acknowledgement of receipt and no wake-up on receive implemented on the EasyLink library. However, those features are available, but are provided by the underlying library and not exposed by the Energia library. Address filtering is performed by the receivers: a list of authorised addresses is passed on to the radio, and only the messages sent to those addresses are received. |
Some measures just can't be trusted, as they differ too much from one sensor to another, even after 30 minutes.
Since the libraries are the same, do the sensors and the boards explain those significant differences? Obviously, testing only two items of each configuration isn't sufficient. I would need a large population for significant statistics. In any case, the sensors would need to be carefully calibrated before implementing them for real. |
Node-RED Extension
Apart from receiving and displaying the data on the e-paper screen, the MSP432P401R LaunchPad also formats it into a JSON string and prints it on the Serial port.
The Serial port is connected through USB to a computer, where Node-RED runs and generates a dashboard. The dashboard is refreshed every 10 minutes. |
The Node-RED flow is very basic and makes extensive use of the JSON format.
Once again, just like on the Pervasive Reporting case, there are multiple solutions for a given project. |
Low Power
With the use of Energia MT and the Galaxia library, I rewrote the whole project around a clock, an event and a task. The node performs the measures every ten minutes, and enters low power mode between two measures.
The XDS110 programmer of the CC1350 LaunchPad doesn't feature EnergyTrace, so I used the EnergyTrace-enable programmer from the MSP430FR5969 LaunchPad to measure the power consumption.
This combination allows a single CR2032 coin cell battery to last for more than one year. |
|
For the MSP432 in charge of the screen, I implemented an interrupt on pin 23.
When pin 23 is set low, the MSP432 awakes and listens to the serial port for 1 second. If a valid message is received, the MSP432 refreshes the screen with the new values. Finally, it goes to sleep again. When idle, the screen requires 5.6 mW or 1.7 mA. Updating the screen peaks at 101.9 mW or 30,9 mA. |
Improving power consumption on the base would require implementing the wake-on-radio feature.
This feature is not part of the EasyLink library. |
Black-White-Red Display
When the evolution of a measure exceeds a threshold, the new value is displayed in red.
I set the threshold to
On the first capture, Node 1 has joined the network. On the second capture, the values for light have changed on Node 1 and Node 2, while Base and Node 3 have no significant changes and remain in black. On the third capture, no value has changed significantly and thus all are displayed in black. |
|
Conclusion
The CC1350 SensorTag offers a great alternative to the CC1310 / CC1350 LaunchPad. Energia MT and the Galaxia library manage low power mode easily and deliver incredible results for battery life.
As always, the Pervasive Displays screen offers unrivalled contrast and definition, with low power requirement. The red colour brings a new dimension to the data displayed. However, the measures taken by the CC1350 SensorTag are significantly different from those from the Sensors BoosterPacks on top of the CC1310 / CC1350 LaunchPads, putting the whole project in jeopardy unless each sensor is carefully calibrated. The project has been updated with the CC1352 LaunchPad SensorTag Kit. The details are available at the Updated Low Power Home Network Weather Monitoring page. |
Links
Posted: June 13, 2018
Updated: June 14, 2018; June 21, 2018; June 23, 2018; July 9, 2018; July 20, 2018