IoT Project

Intention
With technological progress and the smartification from everyday's life devices, processes would get automated more and more. The main technology for that would be the IoT (Internet of Things).
Therefore I try my take on that technology to get to know this technology.
IoT does also play me in hand with the greenhouse project, with IoT I can control and observe the different parameters.
And I don't have to use third-party software hosted on a server from a company on the internet. I'm currently "smartifying" my room, to explore IoT.
Requirements
Requirements of IoT are different, depending on the specific project. But the basics mostly stay the same. You need a sensor with wireless connection (eg. WLan, Zigbee, LoraWAN), a Server to manage the Data and a Device to interact with.
Components And Parts List
The sensors I currently use are a DHT11 and an BME280, they are connected to the network with two ESP Wemos D1. As a server I'm using my raspberry pi 4.
Hardware Parts
- 1x DHT11
- 1x Soil Moisture Sensor
- 2x ESP Wemos D1
- 1x Raspberry Pi 4 8GB
- 1x 256GB SSD
- 1x Shelly Plug S
- 2x Tasmota Plugs
- 1x Sonoff Window Sensor
- 1x Zigbee-Bridge
- 1x DeskPi Pro V2.0 Case
Used Software
- Tasmota
- Portainer
- Telegraf
- Zigbee2MQTT
Used Containers
- Pihole
- Node-RED
- Grafana
- Mosquitto
- influxdb 1.x
- Wireguard VPN
Current Progress
I currently use one esp8266 to measure indoor humidity and temperature. As well as a Shelly Plug S and two Nous Plugs with Tasmota to monitor the Energy used by my PC, Fridge and Server. As well as a Sonoff door-sensor to monitor the status of the Window. The used applications are mostly running as containers in portainer.
The data get's transfered to Node-Red through MQTT and then written to the influxdb. From there Grafana is using the data to visualize them in graphs.
I observe the Pi's hardware with Telegraf, it also writes it's data tho the influxdb.
I needed a solution to communicate with the system outside the network. After some research I discovered that I can use a Telegram bot with Node-Red. Through Telegram I can get weather information every morning, but I can also control the lights with it. To show more info like powerusage I can use telegram commands like /power.
To work on my projects even when I'm not at home I build myself a WireGuard VPN. With this I can connect to my home-network through a secure VPN-tunnel. To establish this connection I had to use a dyndns service, because the public ip of my router gets changed by the provider once in a while.
