reef-pi :: An opensource reef tank controller based on Raspberry Pi.

Michael Lane

Well-Known Member
View Badges
Joined
Aug 11, 2018
Messages
677
Reaction score
1,123
Rating - 0%
0   0   0
Hi Ranjib, thanks for all this work!

I've done some deconstructing of my Jebao Wavemaker Controller. The wireless ones use a NRF24L01+ Transceiver Module to setup master / slave communication. It's cheap and easy to get one (https://amzn.to/2wQkmCY) and add it to a pi. The problem - which I havn't been able to figure out - is that there isn't a way to sniff the channel and signals the Jebao controller is sending, so they can't talk to each other. I don't know which command to emulate, or on which channel. I'm wondering if anyone else has some knowledge of the NRF24L01+ channel or commands that are standard on a Jebao. I imagine they all use the same channel for wider compatibility.

If that can be programmed in it seems like it would be a nice affordable plug and play option for reef-pi.

IMG_20180707_034340.jpg

I happen to have a Jebao wavemaker just sitting in my tank. I took the back off of mine today and found that it also has a NRF module. They use SPI protocol, and it may be possible to hook up a logic analyzer to reverse engineer its protocol. We're working on a final push to get v2.o out, but I think it would be interesting to start expanding to integrate other hardware modules in the future.
I don't know anything about the protocol Jebao uses, but a cursory review of the datasheet shows the NRF has 126 channels to choose from, and then a 5 byte pipe address. It might take some effort to identify the channel and pipe, then the protocol could be investigated.
 

DirtDiggler2823

If I can't break it, it doesn't exist
View Badges
Joined
Jul 31, 2018
Messages
1,667
Reaction score
2,075
Location
Gambrills
Rating - 0%
0   0   0
It depends on what you want it to run. But yes one Raspberry Pi could run 2 tanks but you will be limited to how many outlets etc you can have.

That makes sense. I only have the actual RaspPi3 right now, and none of the other equipment, but I was curious to know if it could run two tanks. Help me out on this as 300+ pages is a lot to look through: I will be running T5 lights which I don't believe to be dimmable so only on/off functionality for them. I'll also be looking to monitor pH, Temp, and Salinity. I'm also looking for it to manage whatever DIY ATO I build, and the wave makers. I believe that everyone is going with Jebao, so as long as those are easy to integrate, and the heaters. I'm good with that. Maybe a couple of dosing pumps, once I determine whether or not I'll be needing them. I suppose an HD camera would be a nice to have at some point. I have a DC return pump that I'm not sure can be integrated, and a skimmer, so those will be manually controlled. I think that's about it for this build. All of this is feasible with this system, yes? Are there certain brands that have proven to be easy to integrate into this system that I should look for?
 
Last edited:

MaccaPopEye

Well-Known Member
View Badges
Joined
Jan 5, 2016
Messages
697
Reaction score
1,232
Rating - 0%
0   0   0
That makes sense. I only have the actual RaspPi3 right now, and none of the other equipment, but I was curious to know if it could run two tanks. Help me out on this as 300+ pages is a lot to look through: I will be running T5 lights which I don't believe to be dimmable so only on/off functionality for them. I'll also be looking to monitor pH, Temp, and Salinity. I'm also looking for it to manage whatever DIY ATO I build, and the wave makers. I believe that everyone is going with Jebao, so as long as those are easy to integrate, I'm good with that. Maybe a couple of dosing pumps, once I determine whether or not I'll be needing them. I suppose an HD camera would be a nice to have at some point. I have a DC return pump that I'm not sure can be integrated, and a skimmer, so those will be manually controlled. I think that's about it for this build. All of this is feasible with this system, yes? Are there certain brands that have proven to be easy to integrate into this system that I should look for?
I'm also still waiting on parts to do my build but the guides are probably the best place to start.
https://reef-pi.github.io/

I was also able to quickly find this quote from Ranjib which explains what a Reef-Pi is capable of.
reef-pi does not have any software limits, but raspberry pi has GPIO limits. In most cases you'll be limited to total 22 GPIOs. Its your choice how to distribute them among outlets, inlets, leak detectors and mechanical push buttons. Total has to be exactly or below 22. For example, you can go with 16 outlets, 6 inlets. Each inlet can power one ATO sensor.
For your case you would need to figure out how many outlets you need and then distribute the remaining pins among pH, temp, dosing pumps and ATO switches etc. (any more than 2 dosing pumps will need a PCA9685 board as well). There is no salinity monitoring yet (I'm not sure if it is planned, but if it is it will be a fair way away).

At the moment there isn't any integration for the actual control of any pumps as far as I am aware, although a few people appear to be looking into it. For now there is only on/off control through the outlets.

Edit: if you are in the US also look into the ADJ power boards, they appear to be a really neat and easy solution to outlets. And a member here is also developing a HAT for the Pi that allows you to run temp, 16 outlets and 2 dosing pumps off of a compact PCB so if you are interested in that do a search through the thread and read the posts about it :)
 

DirtDiggler2823

If I can't break it, it doesn't exist
View Badges
Joined
Jul 31, 2018
Messages
1,667
Reaction score
2,075
Location
Gambrills
Rating - 0%
0   0   0
I'm also still waiting on parts to do my build but the guides are probably the best place to start.
https://reef-pi.github.io/

I was also able to quickly find this quote from Ranjib which explains what a Reef-Pi is capable of.

For your case you would need to figure out how many outlets you need and then distribute the remaining pins among pH, temp, dosing pumps and ATO switches etc. (any more than 2 dosing pumps will need a PCA9685 board as well). There is no salinity monitoring yet (I'm not sure if it is planned, but if it is it will be a fair way away).

At the moment there isn't any integration for the actual control of any pumps as far as I am aware, although a few people appear to be looking into it. For now there is only on/off control through the outlets.
Interesting that there is only on, and off for the wavemakers. I thought i saw a way to control them beyond that, but on/off is good enough for me, granted i can use that function to create some cool "random" flow in the tank. I understand the GPIO limitations as well, but i wasn't aware that the software was limitless, that's good to know and i tip my cap to ranjib for designing it. So it doesn't matter what wavemaker i use, so long as i can plug it directly to an outlet. Same principle for the gyre machines?
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,843
Reaction score
17,058
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Hi Ranjib, thanks for all this work!

I've done some deconstructing of my Jebao Wavemaker Controller. The wireless ones use a NRF24L01+ Transceiver Module to setup master / slave communication. It's cheap and easy to get one (https://amzn.to/2wQkmCY) and add it to a pi. The problem - which I havn't been able to figure out - is that there isn't a way to sniff the channel and signals the Jebao controller is sending, so they can't talk to each other. I don't know which command to emulate, or on which channel. I'm wondering if anyone else has some knowledge of the NRF24L01+ channel or commands that are standard on a Jebao. I imagine they all use the same channel for wider compatibility.

If that can be programmed in it seems like it would be a nice affordable plug and play option for reef-pi.

IMG_20180707_034340.jpg
From my limited understanding, I think jebao works on 24V power and 5v control. I have not verified it personally. I want to get to the wave makers, but currently reef-pi does not have any specific things for wavemaker (i.e. you can use some other modules, like timers to build wave makers, but theres nothing purpose made feature for wavemakers).
From my initial discussion with some forum member, and device manufacturers, we are likely to use a BLDC/BEMF driver straight (like DROK, or open bldc) instead of interfacing with wavemakers interface, first. Once implemented, this should allow running jebao / gyre pumps directly with reef-pi, instead reef-pi controlling the power head specific controller which then controls the pump.
I'll be finalizing the initial prototypes after 2.0 release. Till then, i am focused on documentation and bug fixing of the 2.0 features
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,843
Reaction score
17,058
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Hi Ranjib, thanks for all this work!

I've done some deconstructing of my Jebao Wavemaker Controller. The wireless ones use a NRF24L01+ Transceiver Module to setup master / slave communication. It's cheap and easy to get one (https://amzn.to/2wQkmCY) and add it to a pi. The problem - which I havn't been able to figure out - is that there isn't a way to sniff the channel and signals the Jebao controller is sending, so they can't talk to each other. I don't know which command to emulate, or on which channel. I'm wondering if anyone else has some knowledge of the NRF24L01+ channel or commands that are standard on a Jebao. I imagine they all use the same channel for wider compatibility.

If that can be programmed in it seems like it would be a nice affordable plug and play option for reef-pi.

IMG_20180707_034340.jpg
In terms of how many pumps we can control.. i think it will be initially limited to 18 (16 pwm from pca9685 and 2 from pi) at least. If we work on multiple pca9685 support in 3.0 release, then this will go to way more .. the bldc drivers can be tuned for wide variety of operating voltage . i am still reading on hall sensor and other specifics,. If you want we can start the thread in github for the development specifics. We do discuss some of the same things (more technical) in the slack channel
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,843
Reaction score
17,058
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
@Ranjib I am tryign to enable the telemetry for adafruit. I can see data feeds for system-load5 and for system-mem-used but that is all the data I see in the feeds section. do I need to do something different to enable temperature, ATO and pump status?
the adafruit.io integration is broken in the beta releases. I am in this strange dilemma on whether i want to keep it or remove it from reef-pi as part of 2.0 release. Its really a nifty feature that we can see metrics in an external place (has lots of good use cases), but since reef-pi 2.0 allows multiple ATO, temperature and many more things.. its just trivial to trip the free account limit for adafruit.io, in short I worry most users will generate more data than free limit, and will be rate limited , adafruit can block us for this, or it may significantly deteriorate reef-pi performance. I certainly dont want to mandate paid adafruit.io account to run reef-pi. ..
so stay tuned.. its broken but we'll have a decision before the 2.0 release. Either making it abundantly clear that there potential dangers, or remove it completely (and may reintroduce it when we know more and have a better strategy for sending telemetry data to adafruit.io)
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,843
Reaction score
17,058
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
That makes sense. I only have the actual RaspPi3 right now, and none of the other equipment, but I was curious to know if it could run two tanks. Help me out on this as 300+ pages is a lot to look through: I will be running T5 lights which I don't believe to be dimmable so only on/off functionality for them. I'll also be looking to monitor pH, Temp, and Salinity. I'm also looking for it to manage whatever DIY ATO I build, and the wave makers. I believe that everyone is going with Jebao, so as long as those are easy to integrate, and the heaters. I'm good with that. Maybe a couple of dosing pumps, once I determine whether or not I'll be needing them. I suppose an HD camera would be a nice to have at some point. I have a DC return pump that I'm not sure can be integrated, and a skimmer, so those will be manually controlled. I think that's about it for this build. All of this is feasible with this system, yes? Are there certain brands that have proven to be easy to integrate into this system that I should look for?
@MaccaPopEye is an OG in reef-pi :) . You can count on his inputs. I have nothing to add in terms of what reef-pi can do other than what he already mentioned.

After 2.0 release, I plan to add support for mcp23017 IC, which will enable us to extend the GPIO limits, and a single reef-pi will be able to control lots of (tens if not hundreds) outlets.
 

pickupman66

5000 Club Member
View Badges
Joined
Aug 10, 2010
Messages
6,032
Reaction score
1,166
Location
Winchester, TN
Rating - 0%
0   0   0
Ranjib,.

I am good without it so long as we can log a few weeks data in graphs to see trends.

We did the jebao integration for the Archon. Basically what we did was run 0-10v signaling thru the analog ports to a dp2 interface (took 24v power in for pump and married it to the signaling ) which converted it to the 5v pwm signaling for the jebao. It worked perfectly.

Basic settings were min and max speed and then the pulse function on a per min:sec:millisec basis. It would do sequential of 4 pumps or alternate between 2. One was a master, rest slaves. If we can use the same pwm board as the lighting, we should then just need the programming and rind the female ends to wire up.
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,843
Reaction score
17,058
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Ranjib,.

I am good without it so long as we can log a few weeks data in graphs to see trends.

We did the jebao integration for the Archon. Basically what we did was run 0-10v signaling thru the analog ports to a dp2 interface (took 24v power in for pump and married it to the signaling ) which converted it to the 5v pwm signaling for the jebao. It worked perfectly.

Basic settings were max speed and then the wave function on a per second basis. It would do sequential of 4 pumps or alternate between 2. If we can use the same pwm board as the lighting, we should then just need the programming and rind the female ends to wire up.
this is pretty much my thought as well. I'd love to get some schematics , if you have.
 

Michael Lane

Well-Known Member
View Badges
Joined
Aug 11, 2018
Messages
677
Reaction score
1,123
Rating - 0%
0   0   0
the adafruit.io integration is broken in the beta releases. I am in this strange dilemma on whether i want to keep it or remove it from reef-pi as part of 2.0 release. Its really a nifty feature that we can see metrics in an external place (has lots of good use cases), but since reef-pi 2.0 allows multiple ATO, temperature and many more things.. its just trivial to trip the free account limit for adafruit.io, in short I worry most users will generate more data than free limit, and will be rate limited , adafruit can block us for this, or it may significantly deteriorate reef-pi performance. I certainly dont want to mandate paid adafruit.io account to run reef-pi. ..
so stay tuned.. its broken but we'll have a decision before the 2.0 release. Either making it abundantly clear that there potential dangers, or remove it completely (and may reintroduce it when we know more and have a better strategy for sending telemetry data to adafruit.io)
I think we should be able to specify what data is sent to the Adafruit.io feeds. Generally, I'm mostly concerned with temperature and PH over time, so 5 feeds would be more than sufficient for me. I think that's a pretty significant change in the current functionality, so it probably makes sense to delay until after v2.0.
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,843
Reaction score
17,058
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
I think we should be able to specify what data is sent to the Adafruit.io feeds. Generally, I'm mostly concerned with temperature and PH over time, so 5 feeds would be more than sufficient for me. I think that's a pretty significant change in the current functionality, so it probably makes sense to delay until after v2.0.
yeah. i would prefer the same, but to make it selective (i.e. enabled for only certain ph or temperature probes), we'll need significant amount of work across the board. I think I'll keep the config settings and have only heart beat right now (i.e. send cpu & memory usage only to adafruit), and we'll selectively enable each module after 2.0 release.
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,843
Reaction score
17,058
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
I'm almost finished with updates to the temperature tab. Here's a preview of the updated UI for large screens. I've struggled a bit in finding informative labels for some of the fields, so I'm definitely open to feedback.
upload_2018-9-9_19-48-30.png
Very very nice :) , thank you for all the hard work
 

Michael Lane

Well-Known Member
View Badges
Joined
Aug 11, 2018
Messages
677
Reaction score
1,123
Rating - 0%
0   0   0
Heat and cool control should have a high and a low. Or a set point and a hystersis.
@pickupman66 Thanks for the feedback. I don't think the system currently supports configurable hysteresis but that would make sense as a feature after v2.0. There's kind of a poor man's hysteresis based on the check frequency. I don't know if reef-pi has anywhere set up for feature voting, but github supports logging issues and we could probably tag it as an enhancement.
 

When to mix up fish meal: When was the last time you tried a different brand of food for your reef?

  • I regularly change the food that I feed to the tank.

    Votes: 36 25.0%
  • I occasionally change the food that I feed to the tank.

    Votes: 48 33.3%
  • I rarely change the food that I feed to the tank.

    Votes: 43 29.9%
  • I never change the food that I feed to the tank.

    Votes: 13 9.0%
  • Other.

    Votes: 4 2.8%
Back
Top