For a video demonstrating voice control over Bluetooth check out this link:
To see the full android app in operation check this link:
Why does this project include Bluetooth?
The Henrietta Project uses Bluetooth for the following reasons:
- Wireless monitoring and programming adds a significant convenience factor to the system. The system can be controlled from a comfortable chair, making use of scattered free time like during TV commercials.
- Standard wireless capability allows the system to leverage the large expensive displays and ergonomic input systems of PCs, tablets and phones without large additional cost. This can add much better graphics to the system without additional hardware cost. It allows system capabilities to grow and could even add voice recognition.
- Bluetooth is ubiquitous on mobile devices and less expensive than WiFi.
- Bluetooth is less likely to be monitored by big brother or hacked from a foreign land than WiFi.
- Bluetooth is unique for thermostats (WiFi thermostats are commercially available)
The upper level communication protocol is super simple - most commands are implemented as a single letter, allowing any terminal program to provide remote monitoring and control. In most cases the upper case letter turns a parameter on and the lower case turns it off. This allows testing of Henrietta's firmware independent of programming and testing the remote app.
Commands fall into 2 categories - query commands that request sensor readings shown in the "Get" column and action commands shown in the "Set" column.
6 digit time + 8 digit date
Red LED On
Red LED Off
Green LED On
Green LED Off
Blue LED On
Blue LED Off
X-Y coordinates in %
The HC05 Bluetooth module on a carrier card is extremely simple to connect and use. I simply left it in its default state and connected 2 signal wires. It automatically handles all low level Bluetooth protocols and pairing. The PSoC4 only needs to implement a 9600 baud UART with transmit and receive signals. This 7$ wireless module made Bluetooth functionality the only aspect of the whole project that turned out to be easier than expected.
Actually configuring the PWM signal for the servo motor was also surprisingly simple on the PSoC4, but there were lots of mechanical headaches with the servo subsystem to compensate.
Initial Bluetooth testing with an android phone used the Sena BTerm android terminal application.
The enclosed video shows some of the more visible Bluetooth commands in action.
Implementing Bluetooth turned out to be such a simple and cheap way to leverage use of my smart phone, I will certainly be using it in many more projects.
I expect my next update to cover the custom furnace control interface in a bit more detail.
For more info on the Henrietta Project, which is entered in the Smarter Life Challenge, check these logs: