Status : Proof of concept (under construction)
This is a personal project where I’m creating a smart thermostat. The idea is to make a dumb thermostat where you can change the setpoint over bluetooth. A small computer like the Raspberry Pi communicates with this dumb thermostat over bluetooth to make the dumb thermostat smart.
Theoretically it is possible to let just a computer like the Raspberry Pi control the heating, but I don’t trust computers enough to let them do the control directly. Think about things like sd-card or file system corruption, which on occasion can happen.
By making use of a dumb microcontroller based thermostat, it should still be possible to control the heating when the smart part fails.
pic18f1320 : dumb thermostat
- schematic diagram
- software, written in assembler (gpasm - GNU PIC assembler)
Raspberry Pi : smart thermostat
JAVA Spring Boot program that:
- communicates with dumb thermostat over bluetooth
- checks if a user is home by checking smartphone/bluetooth
- creates a web interface at port 8080
- reads the outside temperature from http://tgftp.nws.noaa.gov/data/observations/metar/decoded/EBAW.TXT (hard coded at the moment)
- use the outside temperature to lower the setpoint if it’s warm outside
- it’s possible to add/delete “users” and “rules” by using the web interface