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

acanfor420

Active Member
View Badges
Joined
Oct 3, 2015
Messages
228
Reaction score
44
Rating - 0%
0   0   0
You do need a router to access the Raspberry Pi, you can plug directly into it or use wifi. Your router will assign an IP address to your Pi, you type this in your web browser and reef-pi will load. If you want to access reef-pi outside your local network you need to port forward the Pi and how to do that really depends on your router, if you can find a user manual it should explain how to do this.



I just setup a light and the new profiles appear, maybe when you edit a previous profile they don't show, try removing it and adding back.

ScreenShot.png
ok thanks
I'm thinking of using a pi zero w or the pi4
 

Bigtrout

Valuable Member
View Badges
Joined
Dec 16, 2018
Messages
1,189
Reaction score
2,826
Rating - 0%
0   0   0
ok thanks
I'm thinking of using a pi zero w or the pi4
Start a build thread, and the first thing to decide is what all you want to monitor and or control with reef pi. Members of the community will gladly chime in with helpful guidance. That way it doesnt get lost in the megathread.
 

BenB

Active Member
View Badges
Joined
Jun 11, 2019
Messages
100
Reaction score
152
Rating - 0%
0   0   0
Hive minds,
I have just cut a new reef-pi release, 3.5. Its been almost 4 months sine the last stable reef-pi release and lot has piled up since then. Hence this release brings a handful of goodies. Key highlights are

New features:
  • Availability of ADS1015/ADS1115 series analog to digital converter. This will allow a wide range of analog sensor, including alternate temperature sensor, UV/Lux sensors, anemometers, VOC/CO2/Gas sensor and many more system to seamlessly integrate with reef-pi and used for controlling equipment.
  • We have introduced a special feature called "One Shot" in temperature , ph and ATO controllers. When enabled reef-pi will run the controller till the sensor reaches its target point instead of running perpetually. For example an one shot ATO controller will run the ATO pump till the sensor detect water level has reached the level and stop there. Same for temperature and ph, where the controller will stop soon the read reaches within min/max zone. When used within macro, this step will block the next step instead of running parallel. Intention of this feature is to help model auto water change and other scenarios.
  • Macros now have a new step called "alert". This can be used to send sms/email as part of a macro
  • Lighting module UI now support lunar, random and sine profile in addition to the existing ones (auto/interval, diurnal and fixed). Decimal/fractional values are also allowed in light profiles.
  • API documentations are now bundled with reef-pi code itself. The footer section in the UI will link to API documentation.

Bugfixes:
  • Pi 4 driver detection failures are resolved for upgraded raspberry pi os.
  • Temperature calibration bug was fixed
  • Equipment chart rendering bug was fixed
  • Temperature chart bounds are now removed, light chart rendering bug fixed.
  • Erroneous and out of acceptable range temperature sensor values are now ignored and retry logic has been implemented to address ds18b20 sensor reading issues.
Other than these critical features and bug fixes a number of tech chores across package updates, automated user acceptance test , performance improvement have also went in this release. I want to thank @Michael Lane from the bottom of my heart for his tireless contribution across drivers, backend and UI bugfixes. Without his work this release wont be happening in this challenging times.

Release builds are available in usual location: https://github.com/reef-pi/reef-pi/releases/tag/3.5

Please help us make reef-pi better by testing and providing feedback. You all, including the pre-built hardware vendors, have been absolutely awesome and we appreciate your effort and interest in this project. You, the users and builders, constitute the best of this project.

Yours truly
ranjib on behalf of reef-pi development team.

I did a quick test with an ads1115 and a PH probe, i get a reading, i calibrated with tapwater ph7.6, I did not have calibration solution.
Michael Lane I used settings 2/3 for gain. What does it mean and what about the other gains you are able to enter like 1,2,4,8 or 16?
 

DeeEmm

New Member
View Badges
Joined
Sep 20, 2020
Messages
24
Reaction score
27
Location
RADelaide
Rating - 0%
0   0   0
Hi guys, reef-pi noob here.

First up awesome project. I looked at creating a tank automation controller myself using an Arduino, but then discovered your project so decided to give reef-pi a go on my tank instead.

At the moment I'm just trying to get the Raspi working and doing what it should before progressing on to adding additional sensors etc.

I'm using an 'orange-pi pc' as I have a few laying around from their kickstarter campaign. I've prepared an image and then installed reef-pi via SSH using the guides on reef-pi.github.io

So I now have reef-pi running, access via SSH and via the browser, and everything seems to be working as it should, with the exception of the configuration > connectors tab, which throws an error...

Something went wrong.
TypeError: Cannot read property 'analog-input' of null

When I check the error log I get the following...
can't build hal pin 8: embd: your host ": ARMv7 Processor rev 5 (v7l)" is not supported at this moment. request support at https://github.com/kidoman/embd/issues

I suspect that it may be related to the boot configuration file (/boot/config.txt) as this file was not present when I went to edit it, leading me to think that a different startup file is called.

I have tried installing under both Armbian and Debian. I will give Ubuntu a go later.

If anyone has any ideas or pointers. I'm hoping it's a simple issue. I've got a fair bit of experience with Arduino's but Raspi's are a new thing for me.

With thanks in advance.

/DM
 

BenB

Active Member
View Badges
Joined
Jun 11, 2019
Messages
100
Reaction score
152
Rating - 0%
0   0   0
Hi guys, reef-pi noob here.

First up awesome project. I looked at creating a tank automation controller myself using an Arduino, but then discovered your project so decided to give reef-pi a go on my tank instead.

At the moment I'm just trying to get the Raspi working and doing what it should before progressing on to adding additional sensors etc.

I'm using an 'orange-pi pc' as I have a few laying around from their kickstarter campaign. I've prepared an image and then installed reef-pi via SSH using the guides on reef-pi.github.io

So I now have reef-pi running, access via SSH and via the browser, and everything seems to be working as it should, with the exception of the configuration > connectors tab, which throws an error...



When I check the error log I get the following...


I suspect that it may be related to the boot configuration file (/boot/config.txt) as this file was not present when I went to edit it, leading me to think that a different startup file is called.

I have tried installing under both Armbian and Debian. I will give Ubuntu a go later.

If anyone has any ideas or pointers. I'm hoping it's a simple issue. I've got a fair bit of experience with Arduino's but Raspi's are a new thing for me.

With thanks in advance.

/DM

Hi, I used Raspberry Pi OS and it works fine!
 

DeeEmm

New Member
View Badges
Joined
Sep 20, 2020
Messages
24
Reaction score
27
Location
RADelaide
Rating - 0%
0   0   0
Unfortunately the Raspberry Pi image does not appear to work on the Orange-Pi. I suspect that it has a different architecture / chipset.
 

Yov

Community Member
View Badges
Joined
May 24, 2020
Messages
51
Reaction score
44
Rating - 0%
0   0   0
Unfortunately the Raspberry Pi image does not appear to work on the Orange-Pi. I suspect that it has a different architecture / chipset.

i just bought a pi-zero for the camera. After i found out that the camera option save's the pictures and never delete these XD i wil be using different solution. @Ranjib maybe its a idea to add IP camera screen option to the dashboard? :)
 

DeeEmm

New Member
View Badges
Joined
Sep 20, 2020
Messages
24
Reaction score
27
Location
RADelaide
Rating - 0%
0   0   0
So after some research I think my issue is due to the 'embd' library that is used to interface with the GPIO. This error appears to be a common problem as it is also reported elsewhere. There is no official fix for it as the library appears to be abandoned since 2017, which is not great.

Any ideas?
 

Mandelstam

Well-Known Member
View Badges
Joined
Oct 29, 2017
Messages
688
Reaction score
1,117
Location
Malmö, Sweden
Rating - 0%
0   0   0
i use the PH tab for a humidity sensor. ( sht31d ) but the humidity in the tank says 100% when in fact it is 80% so its is of by 20%! i like to adjust this so it is whitin 5% correct.
1600324768029.png


Edit: Second Calibration problem XD:
1600325873498.png

Most if not all humidity sensors don't like to be in >80%rh environments for very long. The sensor gets saturated after a while and gets stuck at 100% even when the humidity drops down. It usually gets back to normal operation after drying out in a dry environment for a few hours. Can this be what has happened?

There's a heating element in the sensor but I don't know how it's currently set up. Always on or just on for a few seconds before reading (which probably isn't enough to dry it out properly). For a very humid environment I think the possibility to tweak the time the heating element is on together with time between readings is crucial. From what I've read the heating element should be turned off for some time before a measurement is taken. But I'm not completely sure.
 
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
So after some research I think my issue is due to the 'embd' library that is used to interface with the GPIO. This error appears to be a common problem as it is also reported elsewhere. There is no official fix for it as the library appears to be abandoned since 2017, which is not great.

Any ideas?
We are unlikely to support architectures other than raspberry pi. The pin map , i2c bus and several other hardware interfacing aspects differ across architecture and supporting all of them will greatly increase our maintenance burden.

In the beginning reef-pi used to be called as reefer and I was planning to support pi, Galileo etc .. but soon I realized this will sink my time and I won’t be able to focus on the reef keeping specific features , instead was overwhelmed by various architecture specific nuances and raspberry pi was the only ground up sbc with biggest community. Around 0.4 version , made the conscious decision to support only raspberry pi (That too Model B )and Renamed the project as reef-pi.
 
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
Most if not all humidity sensors don't like to be in >80%rh environments for very long. The sensor gets saturated after a while and gets stuck at 100% even when the humidity drops down. It usually gets back to normal operation after drying out in a dry environment for a few hours. Can this be what has happened?

There's a heating element in the sensor but I don't know how it's currently set up. Always on or just on for a few seconds before reading (which probably isn't enough to dry it out properly). For a very humid environment I think the possibility to tweak the time the heating element is on together with time between readings is crucial. From what I've read the heating element should be turned off for some time before a measurement is taken. But I'm not completely sure.
Yes , we just have to improve the driver code to run the internal heater at periodic interval. In my setup I am running it at 1 min interval, and didn’t realize this was an absolute necessary. I guess it depends on the setup. Here’s my 1 month chart from that data
FB8F5116-EB14-4D5F-8FF0-4B76140AFFC3.jpeg
 

Mandelstam

Well-Known Member
View Badges
Joined
Oct 29, 2017
Messages
688
Reaction score
1,117
Location
Malmö, Sweden
Rating - 0%
0   0   0
Yes , we just have to improve the driver code to run the internal heater at periodic interval. In my setup I am running it at 1 min interval, and didn’t realize this was an absolute necessary. I guess it depends on the setup. Here’s my 1 month chart from that data
FB8F5116-EB14-4D5F-8FF0-4B76140AFFC3.jpeg

I think when you're within the range your graph is showing it's not really a big issue if you use the heater or not. It's when the sensor is in an environment that's above 80% for long periods of time that it can become stuck and show too high readings.

I'm soon about to start my build thread for a reef-pi that will control a tropical vivarium I'm setting up. It will be constantly between 70-100% humidity in there so we will see how it goes. My plan is to have a second sensor and rotate them but if the sensor reaches saturation too quickly that will be a pain in the butt lol. Best scenario is of course if there's a way to keep it from reaching that saturated state from the start. Combination of heating element and maybe putting it in front of a fan or something.

Found this study comparing unheated sensors to heated ones in a high humidity environment and the heated sensor had a cycle like this: Heating 1 min, waiting 4 min, measuring 1 min. Basically one reading every 5-6 min. I know that Adafruit in their example code only heats the sensor for like a few seconds and makes a reading directly after. I have my doubts about that cycle being very efficient in battling condensation etc.

"The HCS internal working cycle consists of three phases: measuring - heating - waiting (before undertaking further measurements). The working cycle lasts 6 min: 1 min for measuring, 1 min for heating and 4 min for waiting, in order not to undertake the measuring just after heating."

"The heated capacitive sensor has resulted to be more effective in recording RH daily fluctuations. In fact, the heating cycle, allowing the desorption of water from the dielectric material, provides a RH measurement which is accurate and with a lower time response with respect to the capacitive sensor without heating cycle. This result should encourage the use of the heated capacitive sensor when indoor environmental conditions are characterized by such high RH values."
 

Mandelstam

Well-Known Member
View Badges
Joined
Oct 29, 2017
Messages
688
Reaction score
1,117
Location
Malmö, Sweden
Rating - 0%
0   0   0

92Miata

Valuable Member
View Badges
Joined
Feb 26, 2020
Messages
1,523
Reaction score
2,485
Location
Richmond, VA
Rating - 0%
0   0   0
reef-pi uses a common driver framework called HAL, which makes it easy to add new driver. This should be fairly easy to integrate, but it requires some coding.
If your design and code is opensource, I'd be more than happy to develop the driver for you. It will be nice to collaborate and so that we can provide some feedback on the esp32 API as well, i think it will be beneficial for the users.
I need to do some cleanup and remove a whole bunch of hard-coding - but yeah - it'll go up on github.
 

DeeEmm

New Member
View Badges
Joined
Sep 20, 2020
Messages
24
Reaction score
27
Location
RADelaide
Rating - 0%
0   0   0
We are unlikely to support architectures other than raspberry pi. The pin map , i2c bus and several other hardware interfacing aspects differ across architecture and supporting all of them will greatly increase our maintenance burden.

Hi Ranjib, thanks for the clarification. Maintaining several projects of my own, I understand your reasoning. I'll get a RPi3B on order.

The issue with EMBD is however not limited to other architectures, but also applies to the RPi. The main problem being that EMBD has been unmaintained since 2017.

The problem that I have come across on my search for a solution for my own issue with the Orange Pi is that EMBD can break when using later kernels, which then becomes an issue when upgrading to a later OS or using newer RPi versions. This is one of the problems I have with the Orange-Pi, which is otherwise pin compatible with the RPi and should work. There is even some evidence of this issue on the RPi platform here within the forums.

It might be worth reviewing the use of EMBD as at some point it will hold the project back. There are other better / more complete libraries that work with GO.

/DM
 

DeeEmm

New Member
View Badges
Joined
Sep 20, 2020
Messages
24
Reaction score
27
Location
RADelaide
Rating - 0%
0   0   0
...Point in case EMBD broke with the RPi kernel 4.9 and was repaired by someone external to the EMBD project. I also note that you too have pull requests for RPi4 support.
 
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
...Point in case EMBD broke with the RPi kernel 4.9 and was repaired by someone external to the EMBD project. I also note that you too have pull requests for RPi4 support.
I had to fork embd and apply pi4 specific patches for 3.5 release. I am planning to remove the embd dependency and use periph or go-rpio or just roll our own,, going forward. I have tried to minimize external dependencies.. even for embd we only use the gpio bits. pwm and i2c are all from reef-pi/rpi.
 
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 need to do some cleanup and remove a whole bunch of hard-coding - but yeah - it'll go up on github.
Awesome :p . It will super cool to have an open api for hardware developer. It will be more sophisticated than 0-10v control signal, and can be done over IP :). Think about that, any controller and any sensor can interact with each other, similar to our main electricity .

We have quiet a few open hardware developers among us, i think we should make an attempt.
 
Back
Top