I’ve always been curious about GSM modems, but I’ve never get in touch with one until a friend asked me to build a Thermostat for his house in the mountains. The device should have been be enable to report power failures, acknowledge commands, and report in solicited and unsolicited mode some information about the device status and the room temperature; furthermore we wanted to have very little electronics in addition to the Arduino board and the GSM Shield.
So after some thoughts and web browsing we designed a simple solution with just few components.
The requirements for this project are:
- Build a simple device with simple hardware
- The thermostat should receive commands and send answers through SMS
- All commands that change the status of the device should have a password
- The thermostat should handle a command to change the password
- The thermostat should handle a command to activate the device and set the desired temperature
- The thermostat should send an SMS when the temperature reaches the desired value for the first time
- The thermostat should optionally send a SMS message if there is a black out (in this case it restarts deactivated) to a phone number configured in the SIM
- The thermostat should handle a command to activate the black out notification and to set the target phone number for the informational SMS
- The thermostat should handle a command to inquire the status of the device (Active/Inactive) and the room temperature
- The thermostat should handle a command to deactivate the device
- The thermostat should automatically deactivate after a (long) period of activity and send an informational SMS
To comply with the first requirement I used An Arduino Uno board, a GSM shield, a temperature sensor, a double coil latched relais, a couple of transistors and a few passive components. To comply with the others more than 20Kb of Arduino C++ code.
To find out more about this projects please visit the Hardware Section and the Software section.