Hello everyone, today i want to present my project made with Blynk at heart.
The goal for the project is to automate my house, or at least some room.The project is hosted on a raspberry pi 3 that run a Blynk local server, (there is also a second raspberry pi 2 always ready and in sync in case the first one fail).The “client” devices are mainly esp8266, they are all setted to retrieve updated firmware from the raspberry pi and auto-update.
Device: Weather station
The weather station is the first device that I’ve realized, it’s an esp-8266 battery powered, solar charged and use a DS18B20 temperature sensor to monitor external temperature,List of sensor:
- DS18B20 digital temperature sensor, 16 bit accuracy, onewire protocol.
- Resistive rain sensor connected to the ADS1115 external adc.
- DHT11 monitor internal box temperature and humidity, poor accuracy, onewire protocol.
- LM35 monitor the internal temperature , medium accuracy, connected to the ADS1115.
- Battery voltage is measured by both the internal adc and the external ADS1115.
- Solar panel voltage is measured by the external ADS1115.
The battery is a Li-ion 1 cell battery (4400 mAh) recharged by a solar panel trough a classic TP4056
Weather station schematic:
Weather station code:
Solar panel and rain sensor:
Weather station intern:
Device: Tv control and living room monitor
(This device is under heavy development, i will upload the code and photo in future)
This device is an Esp8266 wall powered that monitor the room temperature and control Tv, Sky decoder, Xbox, HVAC and Bd-player trough an ir LED.The wiring is similar to the weather station and i will reuse the pcb with little modification.Since this device is powered from the wall the code is very different because here I’ve used the Blynk library.
Device: light relay
This device is very simple, it’s only purpose is to control a relay that trig the light in my bedroom,because of this I’ve use a Esp01, the OTA-update here isn’t implemented because of the little memory.Here the code is the basic Blynk example because the only thing to do is trig a digital pin.
The Rasperry pi’s host the local Blynk server, all my local git repo’s, and some JS script that provide service like OTA-update, telegram bridge and google maps API bridge(the last one is under development).The emergency raspberry pi is kept in sync with the primary one by a cron job that every 15 minute copy the data, the switch between the couple of raspberry isn’t already automatic so i must do it manually.Near the server there is an arduino mega connected trough Ethernet that monitor and control:
- Temperature and humidity(DS18B20, LM35 and DHT11)
- Voltage from the 12 switching power supply
- Voltage from every dc-dc (12V -> 5V) that power the raspberry pis
- Relay that power the 3D printer
- Light for the 3D printer (RGB strip not NeoPixel)
Photo of the server with double Raspberry Pi and Arduino Mega on top
Here is the script for the OTA-update: