The theme of this event was physical web, so we tried to integrate two of the three sub-subjects, quantitative-self and smart building, to create a comfort profile that can interface with a smart building.
Preferences for temperature and light level are set on a web-based phone app, encoded to QR, pushed to a smartwatch, and read by a building to output the necessitated physical changes.
We used a Pebble front-end website which was set to take user inputs of light and temperature levels, as well as whether celsius or fahrenheit would be used. This information was encoded into a QR code using an open-source tool, and the image was pushed to a Pebble smartwatch. A camera hooked into a laptop running Ubuntu was used to read the QR code. This was passed into recognition algorithms (python-qrtools) that (if successful) then pass the decoded value to an Arduino over a USB-to-serial interface. The Arduino then uses this data to control the room to the user's liking. In our case, we had a room simulation using a brightness LED which uses PWM (Pulse-Width Modulation) to give a percentage of its total output capabilities. We also had an RGB LED that turns red when the heater would turn on to bring up the heat (in the case of ambient temperature being lower than desired) or blue for Air Conditioning.
Our original goal was to make this system as condensed as possible, and use a raspberry pi for the QR code reading/decoding. We had issues getting the proper libraries to work so after several hours of head-scratching we decided to run detection on an Ubuntu laptop instead. Once this was working, we ran into issues sending data from the laptop to the Arduino over the USB serial console. This was resolved after doing research and finding the right tools for the job. One last issue we encountered was tying everything together. We decided to use a bash script based on personal experience and necessity. Since all of our tools run from the Linux terminal, bash works well to tie things together. We encountered an issue where we couldn't get one of the stages of the recognition process to work in the bash script, but after a lot of research this issue was surmounted.
We were able to integrate a lot of different hardware to make this project work. This project depends on the Pebble Smartwatch, Arduino, and Ubuntu Linux.
It's very handy to have a tool like this, but there were several challenges we faced. Integrating a lot of different hardware, especially within the IoT realm can be challenging, and we had to do a lot of "duct-taping" with extra code and scripts.
Comfort-Meister has the capability to be expanded to many different features of smart-building, because the framework is simple and easy to adapt for us, the developers. It can also be applied to sensor journalism by collecting anonymous analytics from our clients, allowing us to take averages of preferred ambient light, temperature, and whatever else the future may hold.