reef-pi 6.0 - release announcement

OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,848
Reaction score
17,081
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Hi team,
i have just updated the README of esp32 firmware , it covers the key pices (library install, api specifics for testing and how it works). @Sral let me know if you are planning to write a guide on the integration, then i will not worry about it :) . Else, i'll try to write a more comprehensive doc with build pics. I want to slowly build up a comprehensive guide collection here that we can maintain for perpetuity through community feedback
 

Sral

Valuable Member
View Badges
Joined
May 2, 2022
Messages
1,006
Reaction score
978
Location
Germany
Rating - 0%
0   0   0
Hi team,
i have just updated the README of esp32 firmware , it covers the key pices (library install, api specifics for testing and how it works). @Sral let me know if you are planning to write a guide on the integration, then i will not worry about it :) . Else, i'll try to write a more comprehensive doc with build pics. I want to slowly build up a comprehensive guide collection here that we can maintain for perpetuity through community feedback
Great, I was thinking of doing exactky that, e.g. comprehensive doc with screenshots of handling the Arduino IDE and adapting the code.
Should I write that doc here or on Github in the Readme ? I'm thinking here, then we can upload the pictures here and link them into the readme.
 

Sral

Valuable Member
View Badges
Joined
May 2, 2022
Messages
1,006
Reaction score
978
Location
Germany
Rating - 0%
0   0   0
Alright, with that ReadMe I think I now have all the necessary libraries to write the Guide. My ESP32s arrived today and I'll provide screenshots and probably one or two example build pictures with an ESP32 on a development board. It might take a few days and be a work in progress for some time.

Another two things I want to work on is user friendliness:
- provide a hostname for the ESP32, similar to ReefPi with "reefpi.local"
- save the pin settings on the EEPROM using preferences
- create a simple http interface to set those preferences and hostname in browser
 

Sral

Valuable Member
View Badges
Joined
May 2, 2022
Messages
1,006
Reaction score
978
Location
Germany
Rating - 0%
0   0   0
Another thing: I installed Reef-Pi 6.0. Since then I encounter a continuously higher CPU load with only a miniscule increase in Memory load:
1671031621193.png

You see a lot of spikes when I boot up the system, since I am still building it and power it down when I don't need it.
The increase in average CPU load in the middle on the left graph happened exactly on the update on the 13th of dec at 15:55.

I did experiment with lights I believe, creating two on the Raspi PWM pins and deleting them again. However, I'm not sure if that's the culprit, since I have done that several times during the 5.3 times before, and there it didn't have an effect, as you can see.
BTW, my CPU load problem seems to have aleviated itself after some restarts/reloads:
1671110139886.png

CPU was back to its normal level and rose again when I worked on the SCD30 library. Strange. I also found an erroneous file and an erroneous service from earlier SCD30 development. That's now gone, so let's hope that this also solves the CPU load.
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,848
Reaction score
17,081
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Great, I was thinking of doing exactky that, e.g. comprehensive doc with screenshots of handling the Arduino IDE and adapting the code.
Should I write that doc here or on Github in the Readme ? I'm thinking here, then we can upload the pictures here and link them into the readme.
I want them to be here at the end. Anything in between is fine as it’s more around what you find easiest to compose that document. Unless you are a supporting member you will not be able to edit your post (I think ) , hence it’s better I create and copy over the content with attributions to you. We will update the guide continuously from community feedback, that’s the most important thing to remember I feel.
 

Sral

Valuable Member
View Badges
Joined
May 2, 2022
Messages
1,006
Reaction score
978
Location
Germany
Rating - 0%
0   0   0
Alright I went a bit overboard with the screenshots :grinning-face-with-sweat:
If necessary I'll try to recreate the screenshots in a nicer format, I'm not quite happy with the picture salad that I created there, but I hope that is a good start.

Next up will be the practical side, explaining the Pinout and connecting them up on a development breadboard, when I have found another one in my drawers.
 

Sral

Valuable Member
View Badges
Joined
May 2, 2022
Messages
1,006
Reaction score
978
Location
Germany
Rating - 0%
0   0   0
Few caveats I noticed:
- not all pins on the ESP32 can be used as jacks, Pins 34-39 can only be used as inputs and don't have pull-up or pull-down capability.
- If you use WiFi, as we are, ADC2 is not useable, since it has to read the WiFi signal
----> that leaves us with only 6 ADC1 channels
----> I'm currently characterising this ADC on my board and it looks like you can't measure voltages between 0.0 and 0.1V
 
Last edited:
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,848
Reaction score
17,081
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Few caveats I noticed:
- not all pins on the ESP32 can be used as jacks, Pins 34-39 can only be used as inputs and don't have pull-up or pull-down capability.
- If you use WiFi, as we are, ADC2 is not useable, since it has to read the WiFi signal
----> that leaves us with only 6 ADC1 channels
----> I'm currently characterising this ADC on my board and it looks like you can't measure voltages between 0.0 and 0.1V
i wonder how pi pico will do.
Thank you for these details, these are very valuable for all of us.
 

Sral

Valuable Member
View Badges
Joined
May 2, 2022
Messages
1,006
Reaction score
978
Location
Germany
Rating - 0%
0   0   0
i wonder how pi pico will do.
Thank you for these details, these are very valuable for all of us.
Good idea, I now remember seeing async server libraries for the Picos rp2040 chip … maybe we can adapt the script to the Pi pico easier than I thought.
I have a Pico W lying around and will try to test this.

I’ll also make a comparison between the ESP32 and the Pico.
 

the register

Community Member
View Badges
Joined
Apr 16, 2009
Messages
50
Reaction score
47
Rating - 0%
0   0   0
@Ranjib this is super cool! I recall chatting to you about pulling the central monitoring out into a stand-alone, high-availability, system and leaving the controllers remote. Glad to see this came together!

A couple questions on this. First up, is this actually an esp32 related thing, or is this a general decoupling that happens to be useful via esp32 devices? I ask because for some devices I'd be all for wireless (monitors), but others I'd prefer wired (outputs). For instance, run some other devices as power-over-ethernet, with a switch.

Next up, is this a push or a pull setup? Meaning, is the esp device pushing the data to the controller, or is the controller pulling the data? Looking at the firmware, I think it's a pull, and I'm wondering why you went that route. I can see trade offs both ways.

Finally, have you considered looking into Matter for this versus a bespoke solution? I have to imagine at some point someone will create a Matter based controller solution, since Matter seems to have a lot of device types already, and Matter+Thread seems like a great solution for the types of devices we have (local network only, Thread being routerless and high-device type, low over head in config, ...). That certainly would be a larger undertaking, but curious if you've given it thought.
 

Sral

Valuable Member
View Badges
Joined
May 2, 2022
Messages
1,006
Reaction score
978
Location
Germany
Rating - 0%
0   0   0
@Ranjib this is super cool! I recall chatting to you about pulling the central monitoring out into a stand-alone, high-availability, system and leaving the controllers remote. Glad to see this came together!

A couple questions on this. First up, is this actually an esp32 related thing, or is this a general decoupling that happens to be useful via esp32 devices? I ask because for some devices I'd be all for wireless (monitors), but others I'd prefer wired (outputs). For instance, run some other devices as power-over-ethernet, with a switch.

Next up, is this a push or a pull setup? Meaning, is the esp device pushing the data to the controller, or is the controller pulling the data? Looking at the firmware, I think it's a pull, and I'm wondering why you went that route. I can see trade offs both ways.

Finally, have you considered looking into Matter for this versus a bespoke solution? I have to imagine at some point someone will create a Matter based controller solution, since Matter seems to have a lot of device types already, and Matter+Thread seems like a great solution for the types of devices we have (local network only, Thread being routerless and high-device type, low over head in config, ...). That certainly would be a larger undertaking, but curious if you've given it thought.
As far as I see it's a general decoupling, since the "ESP32" driver is simply an http pull interface written in Arduino C++, so in principle it can be generalized to other microcontrollers (like Pi Pico, etc.) with some work.
 

Wolfw28

Active Member
View Badges
Joined
Mar 13, 2022
Messages
201
Reaction score
139
Location
Myakka City
Rating - 0%
0   0   0
Spot on. Connect Esp32 with pc and use arduino ide to compile and upload that sketch. The pin out (which pin is responsible for inlet, outlet, pwm and analog input) are declared at the top of the sketch. Configure it according to your physical setup .and then once Esp32 is running use reef-pi to add the new Esp32 driver with the same pin configuration . And that’s it , now you can setup connectors using the new driver and attach equipment , ph prob etc.


the one wire (temperature ) pin is special (0th element in analog input pins) and is used through ph module in reef-pi (since that’s the only module that takes analog input )
Can you explain the temp sensor config in ReefpI on a pi. I only get 2 pin options under the anolog connector tab with the ESP32 driver. I tried both set up ph but what I’m getting is definitely not temperature. 2 I installed the .deb file on my pc running Ubunt. What command or file Bo I need to run it. Thank you
 

Sral

Valuable Member
View Badges
Joined
May 2, 2022
Messages
1,006
Reaction score
978
Location
Germany
Rating - 0%
0   0   0
Can you explain the temp sensor config in ReefpI on a pi. I only get 2 pin options under the anolog connector tab with the ESP32 driver. I tried both set up ph but what I’m getting is definitely not temperature. 2 I installed the .deb file on my pc running Ubunt. What command or file Bo I need to run it. Thank you
Hi, you probably get 2 options for analog connectors, because you told Reef-Pi that your ESP32 has 2 analog connectors like so:
1671227810681-png.2937417

If you put a "2" in Analog-Input, it means that you have 2 analog inputs on the ESP32.

Looking at the sketch, the analog input with ID "0" is always the DS18B20 One-Wire and returns sensor values for all connected sensors at once. Not sure yet how to set this up in the Reef-Pi interface, but I'll try to get around to it in the next days.
 

Wolfw28

Active Member
View Badges
Joined
Mar 13, 2022
Messages
201
Reaction score
139
Location
Myakka City
Rating - 0%
0   0   0
Hi, you probably get 2 options for analog connectors, because you told Reef-Pi that your ESP32 has 2 analog connectors like so:
1671227810681-png.2937417

If you put a "2" in Analog-Input, it means that you have 2 analog inputs on the ESP32.

Looking at the sketch, the analog input with ID "0" is always the DS18B20 One-Wire and returns sensor values for all connected sensors at once. Not sure yet how to set this up in the Reef-Pi interface, but I'll try to get around to it in the next days.
Thank you @Sral Happy Holidays
 

pais

New Member
View Badges
Joined
Jun 27, 2019
Messages
15
Reaction score
12
Rating - 0%
0   0   0
Hello, great this new possibility introduced to use reef pi from non-RPI hardware ! Is it possible to use reef pi from Android smartphones (or tv boxes) ? I think maybe the possibility to use linux enviroments like "linux deploy" or "debian portable" applications on android. Can it really be done ? I am really ignorant in linux, but if i install the right enviroment >(X86) and install reef-pi on top of that it should work, am i wrong ?

I dont have the need to use a graphana/prometheus cpu intensive service, but only to free-up some RPIs for different projects.

However i think the new possibility introduced is a great break-out , Thank you !
 

Tiunkabouter

New Member
View Badges
Joined
Oct 6, 2021
Messages
10
Reaction score
11
Location
netherlands
Rating - 0%
0   0   0
Is there a way to have a dark mode for the gui in 6.1?

if not, how are the graphics in the gui build up?
Since it’s a web page I’m assuming you use a CSS or something?
Is it possible to edit it?

I’ve tried looking in the reefpi folder but putty wouldn’t let me open it…
It says that it doesn’t exists while it shows using the ls command :s
 

ColoredRock

Well-Known Member
View Badges
Joined
Aug 9, 2021
Messages
856
Reaction score
1,034
Location
Murrieta, CA (North of San Diego)
Rating - 0%
0   0   0
Is there a way to have a dark mode for the gui in 6.1?

if not, how are the graphics in the gui build up?
Since it’s a web page I’m assuming you use a CSS or something?
Is it possible to edit it?

I’ve tried looking in the reefpi folder but putty wouldn’t let me open it…
It says that it doesn’t exists while it shows using the ls command :s
take a gander at this:

One of these days I am going to make a dashboard with frames that call out different macros.
And then have grafana metrics in a different frame.
 
Back
Top