- Joined
- Oct 3, 2019
- Messages
- 7
- Reaction score
- 13
Introduction
I use the Arduino-compatible ESP8266 board to connect the pH and temperature sensors and send the sensor data to the self-built private cloud service via the MQTT protocol via the Wifi connection. On the cloud, use Node-RED to subscribe to MQTT data and store it in the InfluxDB database. Grafana is used to display the sensor data historical graph and set the alarm condition. If the condition is met, the Slack message will be sent. You can also use voice to ask Siri to return the latest status of the tank.
System architecture diagram
Demo
1.Siri returns the latest status of the fish tank with voice (thanks to shih87: Siri Control of Apex (SCA) without HomeBridge)
2.Received notifications from Slack (mobile or computer app)
pH < 8.4 (for testing), get notification
pH back to 8.4 or above, get notification which is OK
3. Webpage showing historical data on pH and temperature
- Since the pH value is related with the light, on the pH chart, the white background indicates that the display light is on, and the black matrix indicates that the refugium light is on.
- On the temperature chart, the red background indicates daytime (06:00), the black background indicates night (18:00), and the left jagged indicates that the weather is cold, and the heater starts to work. I also need to adjust, the goal is to make the temperature change less than 1 degree (or 0.5 degree)
- Can add annotations, such as the vertical blue line on the pH chart
- Alert conditions can be set here
Prepare items
This DIY does not require welding, just inserts breadboards, and there is no good-looking housing. It is still under planning.
Do It Yourself, But...
Required skills:
1. Arduino basic operation
2. How MQTT works, publish / subscribe
3. Basic instructions for Linux
4. Basic operations of Docker, Swarm
5. Node-Red basic operations
6. InfluxDB SQL syntax
If not, be enthusiasm (you can learn by yourself on Google, Youtube!)
Let’s Go!
Open source on Github https://github.com/samuelchiang/auto_tank
Follow the README will illustrate how to set it up.
I use the Arduino-compatible ESP8266 board to connect the pH and temperature sensors and send the sensor data to the self-built private cloud service via the MQTT protocol via the Wifi connection. On the cloud, use Node-RED to subscribe to MQTT data and store it in the InfluxDB database. Grafana is used to display the sensor data historical graph and set the alarm condition. If the condition is met, the Slack message will be sent. You can also use voice to ask Siri to return the latest status of the tank.
System architecture diagram
Demo
1.Siri returns the latest status of the fish tank with voice (thanks to shih87: Siri Control of Apex (SCA) without HomeBridge)
2.Received notifications from Slack (mobile or computer app)
pH < 8.4 (for testing), get notification
pH back to 8.4 or above, get notification which is OK
3. Webpage showing historical data on pH and temperature
- Since the pH value is related with the light, on the pH chart, the white background indicates that the display light is on, and the black matrix indicates that the refugium light is on.
- On the temperature chart, the red background indicates daytime (06:00), the black background indicates night (18:00), and the left jagged indicates that the weather is cold, and the heater starts to work. I also need to adjust, the goal is to make the temperature change less than 1 degree (or 0.5 degree)
- Can add annotations, such as the vertical blue line on the pH chart
- Alert conditions can be set here
Prepare items
- ESP8266 board with wifi
- Analog pH Meter Pro Sensor
- Calibration Solution pH7 and pH10
- DS18B20 waterproof temperature sensor
- Breadboard
- Breadboard connectors
- Micro USB cable and power adapter
This DIY does not require welding, just inserts breadboards, and there is no good-looking housing. It is still under planning.
Do It Yourself, But...
Required skills:
1. Arduino basic operation
2. How MQTT works, publish / subscribe
3. Basic instructions for Linux
4. Basic operations of Docker, Swarm
5. Node-Red basic operations
6. InfluxDB SQL syntax
If not, be enthusiasm (you can learn by yourself on Google, Youtube!)
Let’s Go!
Open source on Github https://github.com/samuelchiang/auto_tank
Follow the README will illustrate how to set it up.