Project in progress
Aquariumatic

Aquariumatic © CC BY-NC

Aquarium monitor with automation, Web GUI & IoT. Daisychain units can control multiple tanks all from the one master unit.

  • 21,913 views
  • 7 comments
  • 52 respects

Components and supplies

475267 240424 01 front zoom kankcmvqdh
Raspberry Pi Zero Wireless
To run the webserver
×1
Ard nano
Arduino Nano R3
The 'brain' of the slave device prototype
×1
84mrvdejlrve7gm0dems
Arduino LCD Screen
To display data on the slave device prototype
×1
10988 01
Temperature Sensor
For reading tank's water temp
×1
DFRobot pH Sensor module
to read water pH readings
×1
RaspiBox Zero Lite
DIN Rail enclosure for Pi Zero W
×1
70949653 q1yfdw3oja
Siemens SIMATIC IOT2020
To integrate both webserver and slave unit duties and simplify the build
×1

Apps and online services

Raspberry Pi Raspbian Jessie Lite
Headless Linux distro to run Python Webserver
Tornado
Python Library to handle webserving
Ide web
Arduino IDE
To upload code to the Arduino Slave

About this project

Description

This Project is to document the progress of a joint project between myself and my good buddy Liam O'Reilly. The aim is to create an automated aquarium monitor to control and maintain several tanks, and provide feedback and manual control to the user via an easy to use interface. The project started as a college project, but we are extremely interested in taking our rough-and-ready proof of concept and creating a professional looking unit suitable for industrial or commercial use.

Details

The initial plan was something like this:

The aim was to use a Raspberry Pi as a Webserving I2C master. This would provide a user interface accessible over the network on any device, and also the ability to relay commands to multiple I2C devices.

Slaves Devices

These slave devices contain Arduino Nanos operating as I2C slaves, with multiple relays (for controlling a tank's lights, heaters, pumps etc), and also pH and temperature sensors for monitoring the tank's current state.

All data collected by the slaves would be returned to the master when requested for display on the web GUI when the page is requested. For example if the user were to access page /23 on the web interface the device would make a request to the slave configured for Tank 23.

Monitoring Controls

In theory I would like the master to be able to provide a set of parameters to the slave; things such as temperature and pH thresholds, to be saved to the Arduino's EEPROM. This would allow the Arduino to constantly monitor the Tank's state and respond to some any anomalies:

  • Trigger the heater if the temperature drops below the provided threshold
  • Send warning messages back to the Pi if anything is amiss.

This would allow the user to preset configure each individual slave for the type of fish they are keeping in that tank. Ideal for a multi tank setup, or even a pet store.

Next Steps

Once the prototype for the slave had been assembled and was working using the sensors, relays and screen alongside the Arduino Nano I started to look at more modular solutions; using relay shields or LCD shields to simplify the build process.

With the emergence of the IOT2020 it would be incredible to use it as the slave device in this project, replacing the Arduino non-based prototype. Taking advantage of the IOT2020's feature set we could make the slave devices wireless and communicate with the webserver wireless over the network using websockets. It could even be used to remove the need to have the Pi running the web interface and become the master unit in the set up. This would be tremendously advantageous, making replication so much simpler!

Update

I have been working further on this project in recent weeks; buying new hardware, revising my communication protocols, and generally making this device much more user friendly. So far the changes cover:

  • Brand New enclosures, giving a more professional finish.
  • Pi Zero W-based hub, reduces the footprint and has integrated wifi!
  • New Wireless Control Units, reducing messy wiring and allowing a further reaching setup
  • Onboard Oled display and buttons, to allow for improved feedback at the Control Unit
  • Expanded IoT possibilities using the Hub to transmit data to cloud based services.

More information to follow once it's all working as planned!

Code

Github
Aquariumatic Github Repo

Schematics

Basic layout
Before I can draw up schematics I like to create a basic diagram of my plans. Schematics aren't my strong point so this method allows me to create a visual representation of what I am aiming to achieve.
7988501476184030588 2hgei9sapa

Comments

Similar projects you might like

Modified Aquariumatic Management System (AMS IoT App)

Project in progress by Team Basem

  • 3,515 views
  • 0 comments
  • 6 respects

Laser Pointer Panther Tank

Project tutorial by Arduino “having11” Guy

  • 5,571 views
  • 1 comment
  • 12 respects

Vertical Hydroponic Farm

Project in progress by Paul Langdon

  • 55,417 views
  • 21 comments
  • 290 respects

OH HAI! on Windows 10 IoT Core

Project in progress by BuddyC

  • 12,530 views
  • 3 comments
  • 48 respects

The "Mars Rover" Emulator

Project tutorial by MJRoBot

  • 9,534 views
  • 3 comments
  • 47 respects

Arduino 101 Connects with Raspberry Pi Zero W

Project tutorial by Alexis Santiago Allende

  • 8,198 views
  • 0 comments
  • 17 respects
Add projectSign up / Login