A family member recently asked me if I could make a simple device that would track humidity and alert him when it had reached a set level.
Rather than being an “Internet of Things” solution, I envision a more simplistic machine to machine system, where there is no central server and no internet. The device can be contacted with SMS commands to its phone number, and it contacts other phones over SMS when appropriate.
The system can be broken down into three parts, as demonstrated using my awesome Inkscape skills:
- To send and receive SMS
- To measure humidity and convert the measurement into a form that can be read by a microcontroller
- Handle alerts. Depends on:
- Configuration of the system,
- The last time recipients were alerted. If humidity conditions were met, but users have been contacted in what is deemed “recent”, then they are not contacted again to avoid being bombarded with alerts.
- Configuration of the system
- Who are the recipients
- What are the conditions for notifications (thresholds, comparisons)
- System state
- To take readings from the sensor
- To compile SMS messages and send it to the cellular component.
- To interpret incoming SMS from the cellular component to:
- Update its humidity alert conditions
- Update its list of recipients
- Reply with its status (a “ping”)
There are more complicated things such as power management, data logging, system performance logging and mechanical enclosures, but these can all be considered at a later time.