I had an old Tolino Shine E-Reader lying around that I did not want to throw out just because I did not use it anymore. After I found out it ran on Android and there is a way to root it I new I had to give it a new life. So I rooted it and created a mini-app that regularly pulls the current weather conditions and displays them. Furthermore I included a button to show current departure times of public transportation around my flat.
Ingredients:
Tolino Shine E-Reader
Some rooting-magic as described here and here (Update 13.2.2021: works even easier as described here and even gives you access to Playstore)
[Update October 17th, 2020] Peter emailed me that he found an excellent comparison between various weather APIs. So if you plan to consume a weather API be sure to have a look here – maybe you find an API that better suits your needs.
My home automator – nicknamed “Botman” – has some nice features:
Indoor data: shows the current room temperature, humidity and barometric pressure on the display (1st row)
Outdoor weather: regularly requests current weather conditions from a weather API and displays them on the display (2nd row) and moves the servo arm to what we normally call the “weather icon”
Public transportation info: current departure times of public transport options around my flat are pulled from the web allowing me to better schedule when I have to leave my flat.
Archive indoor conditions: temperature, humidity and barometric pressure are regularly sent to a Google Spreadsheet to archive and visualize the data over time.
Android App: allows me to check the current data and lets me switch my remote controlled outlets on and off.
Technical overview:
Arduino Ethernet acting as a web server but also as web client when it pulls data from APIs.
433MHz wireless sender for remotely controlled outlets
As you might know the Arduino does not have a lot of memory. So parsing current JSON APIs might be a big pain in the *** or would simply not be possible – e.g. due to unsupported https connections. That is why I have installed a separate Google App Engine instance which does all the hard work and only returns the small data chunks I really need on the Arduino.
Of course security is always a big issue when it comes to home automation. All the data is transported on an unencrypted standard http connection. At the moment I can cope with this imperfect approach.
Codebender:
This is the first project I moved to the Arduino browser based IDE codebender. It really helps me to save plenty of time as I do not have the hassles of setting up the Arduino IDE with all the proper libraries. Perfect for people who tend to experiment a lot or switch their dev. machine too often :)
Todos:
make a better hand for the pointer of the weather icon
prepared to control door opener of house
prepared to add Ir diode to control any device with an Ir remote