Has anyone created a full Raspberry Pi Aquarium monitoring/control system?

OP
Rob Lion

Rob Lion

Active Member
View Badges
Joined
Apr 8, 2016
Messages
305
Reaction score
507
Location
UK
wow looks so good !!!!!!!! is the software to be released as freeware or pay ?
I've no intentions to sell it, but once completed I'll be more than willing to share it for free as open source. It already uses a few components that I got from open sources, like the ability to schedule events.

This is part of my hobby, I spend time adding / perfecting its abilities only as and when time permits, but that suits me fine, the main core runs 24/7 and gives me the basics of what I need, but I am forever thinking of new things to add ! :)

In time, I'll look for a like minded person to work with to share development ideas and knowledge.

That is one informative GUI ya got there. I like.
Thank you! :)

It's a 7 inch touch screen, which is a good size, each one of the touch screen "boxes" like Sensors or Testing or Dosing etc opens up a new page with more detailed features for that item. I am considering changing the display to 10 inch touch screen to give more space available, which will be a very simple change to make with the code as the GUI is created with QT Designer.

If I get a good amount of free time, I'll add a build thread and show how it was all done, then show the plans I have to progress it and maybe get a few others involved to help test in the real world with others contributing, but I know once I release it, I'll get a thousand questions etc, and time at the moment is short.
 

domination2580

Reef-a-nator
View Badges
Joined
May 16, 2015
Messages
5,457
Reaction score
2,686
Location
Mitchell SD
I've no intentions to sell it, but once completed I'll be more than willing to share it for free as open source. It already uses a few components that I got from open sources, like the ability to schedule events.

This is part of my hobby, I spend time adding / perfecting its abilities only as and when time permits, but that suits me fine, the main core runs 24/7 and gives me the basics of what I need, but I am forever thinking of new things to add ! :)

In time, I'll look for a like minded person to work with to share development ideas and knowledge.



Thank you! :)

It's a 7 inch touch screen, which is a good size, each one of the touch screen "boxes" like Sensors or Testing or Dosing etc opens up a new page with more detailed features for that item. I am considering changing the display to 10 inch touch screen to give more space available, which will be a very simple change to make with the code as the GUI is created with QT Designer.

If I get a good amount of free time, I'll add a build thread and show how it was all done, then show the plans I have to progress it and maybe get a few others involved to help test in the real world with others contributing, but I know once I release it, I'll get a thousand questions etc, and time at the moment is short.
I'd love to try this
 
OP
Rob Lion

Rob Lion

Active Member
View Badges
Joined
Apr 8, 2016
Messages
305
Reaction score
507
Location
UK
I'd love to try this
DO IT!!!

here is some advice I gave to someone else.....

First off, to you don't actually need any hardware to start with, just a windows or mac computer.
Software wise, you need 3 things;
1. QT Designer , that is what you will draw your user interfaces on, very simple to use.
2. PYQT, this is the QT version of the python programming language, its very basic like and real simple to pick up, but has many add ons so you can really get into more stuff later. (all free).
3. Sublime Text 3 - is a great text editor full of features you will need to write your code in.

GITHUB is the site for open source code, you can copy other peoples work, see how it works, adapt it etc.. its a great way to see ways to overcome problems, and saves a ton of time in reinventing the wheel. Open source means you can use and distribute it free of charge, but you can't charge others for it.

Learning wise.... I recomend Youtube..... , to get started follow
SENDEXhttps://www.youtube.com/channel/UCfzlCWGWYyIQ0aLC5w48gBQ

and TREVORPANE




, great simple little examples to get you going in every area.

I joined a Rapberry Pi forum https://www.raspberrypi.org/forums/index.phpgreat for getting the Pi up and running , and there Python section is good too.

If you get into issues and can't work out whats wrong with the code you have written, then http://stackoverflow.com/ is a good place, you can generally search for you issue and see what the previous people have done to fix it.... this is a real time saver.

Once you know exactly what your project is, you can pick your hardware...
I went for the Raspberry Pi 3 , its basically a mini computer that uses a version of Linux operating system (Raspbian) and already has WIFI, bluetooth and UBS ports. It costs about $40 and the Raspbian is free, cheaper Pi versions and available if you don't need all the features of a Pi 3. You will also need a 16GB SD card for the Pi to hold data etc on. Costs about $10. Screen size is up to you, I went for a 7 inch touch screen, not cheap at $65 but its a good size, many others opt for cheaper smaller screens or the bigger 10" screen (which I now wish I had gone with).
You will also need a keyboard and mouse.

For hardware, there are a ton of places, i'm in the UK so I use https://www.modmypi.com/raspberry-pi but i'm sure you will have much more available to you....

I suggest before buying anything, grab a pen and book, and think out your ideas, watch videos, see whats possible and develop on paper what you want to achieve, this will save you money! I drew up what my screens would look like, what features I wanted and didn't want too, then looked online about how to do it.

Taken step by step, it is quite easy to do, like anything, break it down into mini steps... so if you are making an aquarium monitor, do a simple thing first, like record temperatures.... then add on maybe pH, then add on saving the data into a database, then add on graphing the data... etc etc... The little wins you will have will spur you on to doing more and harder things.... If you just think about the big picture, its daunting... like how on earth could someone that knows nothing create an APEX like system, but you can, little by little.

so grab the free software, play with it.. and decide what you want it for before paying out money for hardware etc.
 
OP
Rob Lion

Rob Lion

Active Member
View Badges
Joined
Apr 8, 2016
Messages
305
Reaction score
507
Location
UK
The only "issue" with my software, is that I have only developed it for me only, so it uses my make and model sensors (seneye) my wavemakers (jebao) and my lighting (AI Prime), my test kits (Hanna/Salifait/Red Sea) and my RF type sockets. It hasn't been designed for everyone to use with different parts, that would take more work and access to equipment I don't have.

Developing your own specific monitor/controller is a lot easier when you only have to worry about your own needs, and it makes it a lot cheaper too, you only get what your need and don't need to buy any new equipment or stuff, apart from some float switched etc.

Honestly, try the QTDesigner software, it's so simple and you will have your GUI up and running in no time, even on a PC or MAC, then try the PYQT python programming software to give functions to your interface, again its free to use and there are tons of teaching materials out there. Make yourself a small little project, nothing too big, like maybe a database to log your parameter test results in using SQLite..... then maybe add a graph to it using MATPLOTLIB again free and simple, add on a countdown timer for while you are running your tests..... you can just keep adding more onto it as and when you want to.... it soon adds up to a system that works the same way as you do.

Cost is only your time, and its fun to do :)
 

gettaReef

Valuable Member
View Badges
Joined
Sep 15, 2013
Messages
1,012
Reaction score
213
Location
Coralville, IA
Wow Rob Lion, thanks so much for posting all this "how to" info with links and suggested software, that's AWESOME! When I get some free time I would love to try my hand at building & programming my own custom controller! I don't have too much experience in this area but the way you describe it, it really seems doable and like there are pple out there who will help answer simple questions when a problem comes up.....just do it step by step like you said. Thanks! Looking forward to giving this a go
 

domination2580

Reef-a-nator
View Badges
Joined
May 16, 2015
Messages
5,457
Reaction score
2,686
Location
Mitchell SD
The only "issue" with my software, is that I have only developed it for me only, so it uses my make and model sensors (seneye) my wavemakers (jebao) and my lighting (AI Prime), my test kits (Hanna/Salifait/Red Sea) and my RF type sockets. It hasn't been designed for everyone to use with different parts, that would take more work and access to equipment I don't have.

Developing your own specific monitor/controller is a lot easier when you only have to worry about your own needs, and it makes it a lot cheaper too, you only get what your need and don't need to buy any new equipment or stuff, apart from some float switched etc.

Honestly, try the QTDesigner software, it's so simple and you will have your GUI up and running in no time, even on a PC or MAC, then try the PYQT python programming software to give functions to your interface, again its free to use and there are tons of teaching materials out there. Make yourself a small little project, nothing too big, like maybe a database to log your parameter test results in using SQLite..... then maybe add a graph to it using MATPLOTLIB again free and simple, add on a countdown timer for while you are running your tests..... you can just keep adding more onto it as and when you want to.... it soon adds up to a system that works the same way as you do.

Cost is only your time, and its fun to do :)
I like how you have jebao
 

GK3

Well-Known Member
View Badges
Joined
Jan 16, 2017
Messages
915
Reaction score
714
Location
Charlotte NC
I've no intentions to sell it, but once completed I'll be more than willing to share it for free as open source. It already uses a few components that I got from open sources, like the ability to schedule events.

This is part of my hobby, I spend time adding / perfecting its abilities only as and when time permits, but that suits me fine, the main core runs 24/7 and gives me the basics of what I need, but I am forever thinking of new things to add ! :)

In time, I'll look for a like minded person to work with to share development ideas and knowledge.



Thank you! :)

It's a 7 inch touch screen, which is a good size, each one of the touch screen "boxes" like Sensors or Testing or Dosing etc opens up a new page with more detailed features for that item. I am considering changing the display to 10 inch touch screen to give more space available, which will be a very simple change to make with the code as the GUI is created with QT Designer.

If I get a good amount of free time, I'll add a build thread and show how it was all done, then show the plans I have to progress it and maybe get a few others involved to help test in the real world with others contributing, but I know once I release it, I'll get a thousand questions etc, and time at the moment is short.
How are you monitoring pH, ORP, and salinity? By that I mean what are you using as circuit, I realize how the probes work. The reason I am asking is because these sensors require electrical isolation to work correctly. If not isolated and placed in the water with something, say your pump, it will not return accurate results. The pump and most power heads will cause electrical interference with the probes if not properly isolated.
 
OP
Rob Lion

Rob Lion

Active Member
View Badges
Joined
Apr 8, 2016
Messages
305
Reaction score
507
Location
UK
How are you monitoring pH, ORP, and salinity? By that I mean what are you using as circuit, I realize how the probes work. The reason I am asking is because these sensors require electrical isolation to work correctly. If not isolated and placed in the water with something, say your pump, it will not return accurate results. The pump and most power heads will cause electrical interference with the probes if not properly isolated.
First off, for clarity, on my system I am using a Seneye Reef Monitor, it measures pH, Temp, NH3 and from that it calculates NH4 and O2, so its a self contained unit that you can buy off the shelf. It is powered by a USB port on the Pi which I guess is shielded. Rather than buy the expensive Seneye Reef Wifi Server, I run the server side off the Pi too using Apache, so it can "Read" the values and send them to the Seneye cloud server.

ORP isn't enabled yet as I don't have a probe, but it's on my wish list, so I have made space available for it in readiness on the GUI. That will work by means of either a Pi add on HAT or I may do what others have done and add a microcontroller to the Pi, like a Gertboard or an Arduino Uno and have that shielded/ground.

Salinity will one day be as per the ORP, but for now it is manually done when I do my parameter testing, i.e. I use a refractometer and read its SG and record it into the database on the Pi with its date and time.

In terms of "noise" the Pi is shielded and from other electrical components, I have not seen any issues, but then again I wouldn't put the various parts that are in water close to eachother either, just like I wouldn't put anything in my tank that could leak current.

If what you say about pumps and powerheads is true, then I would be surprised, as they don't cause any interference with my PC or Pi or Monitor etc that's next to my tank too and they even run off the same ring main circuit, but then again, the wattage usage of all the components is small... it's only a 250L tank. Switching on or off any/all of my equipment doesn't effect any of the readings.
 
OP
Rob Lion

Rob Lion

Active Member
View Badges
Joined
Apr 8, 2016
Messages
305
Reaction score
507
Location
UK
Additional..... from a quick web search, it looks like people have had issues with this when they have everything running off a single power supply, ie, the Pi or Arduino is supplying all the power, that stutters when more or less current is suddenly demanded from it (like equipment switching on or wave pumps pulsing). For me, I have no equipment plugged into the Pi, all pumps etc run as they do when purchased off the shelf, off their own power supplies. I just use the Pi to send radio frequency codes out, that the socket power switches and wavemakers are already listening for.
 

Zondebok

Member
View Badges
Joined
Jan 24, 2017
Messages
74
Reaction score
52
Location
Vancouver, WA
Which power strip did you end up using? I won a Pi from work for a hackathon project, and have been wondering what to do with it. I have considered doing exactly what you are doing, but hadn't had the time to really dig into it. Looking at what you have is very promising, but I can't say I'm excited to start from scratch knowing that you will probably open source one day :)
 
OP
Rob Lion

Rob Lion

Active Member
View Badges
Joined
Apr 8, 2016
Messages
305
Reaction score
507
Location
UK
I really didn't want to do any heavy soldering, or having to make a box for the relays/sockets, so I thought outside of the box, and found Radio Frequency socket power strips, that individual sockets can be switched on or off via a RF signal, and after some searching I found the perfect one from https://energenie4u.co.uk/catalogue/product/ENER010-PI-RT

ENER010-PI-RT.jpg


They sell it for Uk and EUR power supplies, not sure about USA etc, but i'm sure another manufacturer will.

No wiring, just plug power bar lead into mains outlet, add RF transceiver onto the Pi, add the code that they supply, go into socket training mode, click a few buttons and its up and working in minutes!
 
Best reef aquarium LED lighting

GK3

Well-Known Member
View Badges
Joined
Jan 16, 2017
Messages
915
Reaction score
714
Location
Charlotte NC
Additional..... from a quick web search, it looks like people have had issues with this when they have everything running off a single power supply, ie, the Pi or Arduino is supplying all the power, that stutters when more or less current is suddenly demanded from it (like equipment switching on or wave pumps pulsing). For me, I have no equipment plugged into the Pi, all pumps etc run as they do when purchased off the shelf, off their own power supplies. I just use the Pi to send radio frequency codes out, that the socket power switches and wavemakers are already listening for.
So what I was saying about "isolated" didn't have to do with your standard electrical isolation. One of the trickiest things about the pH, salinity, and I believe ORP probes is how they actually measure the physical phenomenon. I have not read about these probes in a long time but it has to do with the two contacts in the end of the probe (obviously) and the physical phenomenon in your aquarium translates into an electrical signal that your system has to read. The issue with these probes is that when you place other things in your aquarium I.e a pump, the device will add electrical noise that these probes can pick up quite easily. It effectively creates a ground loop. If you look at neptune's website they refer to this as "galvanic isolation" - https://www.neptunesystems.com/products/expansion-modules/phorp/

I built an aquarium controller out of an arduino that ran 2.5 gallon reef tank for 2+ years. The only thing I ever did was feed occasionally and changed the water a handful of times. When I built it, I wanted to measure pH. So I bought a probe and researched the circuits needed to acquire the signal and filter it. I built the circuit, calibrated the probe, and bam it worked. Right up until I turned the pump on and then the probe wouldn't work. I totally forgot about the ground loop or "galvanic isolation". This is really hard to do correctly and I never ended up doing it.

So in my research of potentially creating my own controller, I came across people who had figured this out and sell circuits that work with arduino. Problem is each circuit, probe, and calibration fluids run about $150-$200. After pH, orp, and salinity you are at $500+. At that point I decided a fusion was pretty good value. The only time I think a DIY controller makes more sense economically is if you get into all of the additional apex modules. Then you might come out ahead doing it DIY.

Just my $0.015, I'd be curious to hear what you guys find in building the sensor circuits.
 

fsamir

Active Member
View Badges
Joined
Nov 7, 2014
Messages
223
Reaction score
157
Location
Gold Coast, Australia
I built one based on the RaspberryPi, too.
The core computer is called REEFmate and I also built a variant that goes inside of a dosing pump, called DOSEmate.
It's been built on my free time, for the past 5years and hope to one day distribute it as a product or DIY kit you buy and build your self.

It has a handful of features common in all controllers and some that are unique to the REEFmate, such as the ability use the Node-Red, the IoT programming interface.


More details in the link in my signature.







 

njtiger aquariums

Active Member
View Badges
Joined
Oct 9, 2015
Messages
497
Reaction score
500
Location
NJ
I've no intentions to sell it, but once completed I'll be more than willing to share it for free as open source. It already uses a few components that I got from open sources, like the ability to schedule events.

This is part of my hobby, I spend time adding / perfecting its abilities only as and when time permits, but that suits me fine, the main core runs 24/7 and gives me the basics of what I need, but I am forever thinking of new things to add ! :)

In time, I'll look for a like minded person to work with to share development ideas and knowledge.



Thank you! :)

It's a 7 inch touch screen, which is a good size, each one of the touch screen "boxes" like Sensors or Testing or Dosing etc opens up a new page with more detailed features for that item. I am considering changing the display to 10 inch touch screen to give more space available, which will be a very simple change to make with the code as the GUI is created with QT Designer.

If I get a good amount of free time, I'll add a build thread and show how it was all done, then show the plans I have to progress it and maybe get a few others involved to help test in the real world with others contributing, but I know once I release it, I'll get a thousand questions etc, and time at the moment is short.
Hey any time you would like to bounce ideas off each other I been working on my own system with the Pi. Now I am doing all the coding and designing myself (not using any program to create the GUI). Here a link to my thread. I'm not willing to share the code I wrote but I am willing to bounce ideas around and willing to share any open source/code I use - https://www.reef2reef.com/threads/dyi-control-system-i-am-building.229595/
 
OP
Rob Lion

Rob Lion

Active Member
View Badges
Joined
Apr 8, 2016
Messages
305
Reaction score
507
Location
UK
@fsamir that is fantastic!!!!!!!!!!!!!!!!!!!!!!!!!! it's exactly why I started this post, to see others that have done it and that are willing to share it with others....

I need more details!!! cost? availablity?

I can tell from the pics that you use a jebao dosing pump and wavemakers, this is exactly what i'm looking for!!! :)
 
Corals.com

How often do have to clean your aquarium glass?

  • Every Day

    Votes: 76 10.2%
  • A few Days a Week

    Votes: 218 29.3%
  • A Couple Days a Week

    Votes: 218 29.3%
  • Once a Week

    Votes: 178 23.9%
  • Every 10 or so Days

    Votes: 45 6.0%
  • Every Couple of Weeks

    Votes: 34 4.6%
  • Other (please explain)

    Votes: 9 1.2%

Online statistics

Members online
2,014
Guests online
5,292
Total visitors
7,306
TheCoralConnect.com
Top