Reef-Pi what’s under the hood?

Wolfw28

Active Member
View Badges
Joined
Mar 13, 2022
Messages
201
Reaction score
139
Location
Myakka City
Rating - 0%
0   0   0
What computer language is Reefpi written in. Would like to learn more about how Reef-pi works behind the UI. suggestions on books, videos,ect. to learn from. Just need to know where to start.
 

HuduVudu

2500 Club Member
View Badges
Joined
Jun 2, 2020
Messages
3,241
Reaction score
3,665
Location
Houston
Rating - 0%
0   0   0
What computer language is Reefpi written in. Would like to learn more about how Reef-pi works behind the UI. suggestions on books, videos,ect. to learn from. Just need to know where to start.
Reef Pi isn't hardware it is software.

This means you will need to know what hardware you are going to use hardware wise.

This is the hardware that I use and the guy who makes it is here and very helpful @robsworld78

@Ranjib is I believe the owner of the git project that is reef pi. Perhaps he can add more info.

I am very happy with the configuration that I am using but there is a learning curve. There is good info out there but if you get off the road it can be kinda ugly to get back on. There is a lot of low level stuff that needs to be done and having a Linux background helps. It is worth it but make sure you don't just switch over if you already have solutions, it won't end well. If you have dealt with Open Source before this will help too.

Reef Pi and Robo Tank searches will bring back good results on YouTube.
 

Sral

Valuable Member
View Badges
Joined
May 2, 2022
Messages
1,006
Reaction score
976
Location
Germany
Rating - 0%
0   0   0
Reef-Pi is a software written in go and react as mentioned on the Official Webpage - Development Environment.
As I don't know anything about go or react, I can sadly not help you with that.

The code is Open-Source though, so you can have a look at it on GitHub. Not sure if that will help you though ^^
Reef-Pi provides a webpage, as you have seen and also a http json API to acces from other programs that run on the same platform.

You can have a look at the Official Project page.
There are links to Guides and Additional Resources, which mostly touch the practical handling for the typical user I think. There is however also an API-documentation, which explains the interface that other programs can use to access reef-Pi and its database, as far as I understand. A practical approach to using this is shown here, where it is used to run a feeder and other equipment using a button on one of the Pi Pins.
 

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
reef-pi uses more than one language underneath. The main controller software that runs on pi is written in go (a language developed in google). The frontend(website) that users interact and runs on browser is written in javascript, in a specific framework called react (developed in facebook). The packaging is done with fpm, written in ruby. Theres some bash and make stuff as well, for build related thing. But users mostly use the go and react based things.

@HuduVudu i wont call reef-pi as just the software itself :) . From very beginning its also a specific set of hardware (Raspberry pi, pca9685, ads115 etc) that reef-pi is tested upon and used to build end to end reproducible software. From reef-pi version 2.0 , its also includes a host of 3d printable components (housing, mounting brackets, sensor holders etc).
Last but probably most important in its current state reef-pi is also a descent community in r2r (and in few other forums where im not very involved) where folks help each other out, and provide feedback for improvements

@Wolfw28 if you are serious about getting started with development, i'd suggest choose either go or react , and start learning it, follow the development guide to get started and join the reef-pi slack group where we can help you out with some easy tasks (or any thing you need with development)
 
OP
OP
Wolfw28

Wolfw28

Active Member
View Badges
Joined
Mar 13, 2022
Messages
201
Reaction score
139
Location
Myakka City
Rating - 0%
0   0   0
Reef-Pi is a software written in go and react as mentioned on the Official Webpage - Development Environment.
As I don't know anything about go or react, I can sadly not help you with that.

The code is Open-Source though, so you can have a look at it on GitHub. Not sure if that will help you though ^^
Reef-Pi provides a webpage, as you have seen and also a http json API to acces from other programs that run on the same platform.

You can have a look at the Official Project page.
There are links to Guides and Additional Resources, which mostly touch the practical handling for the typical user I think. There is however also an API-documentation, which explains the interface that other programs can use to access reef-Pi and its database, as far as I understand. A practical approach to using this is shown here, where it is used to run a feeder and other equipment using a button on one of the Pi Pins.
reef-pi uses more than one language underneath. The main controller software that runs on pi is written in go (a language developed in google). The frontend(website) that users interact and runs on browser is written in javascript, in a specific framework called react (developed in facebook). The packaging is done with fpm, written in ruby. Theres some bash and make stuff as well, for build related thing. But users mostly use the go and react based things.

@HuduVudu i wont call reef-pi as just the software itself :) . From very beginning its also a specific set of hardware (Raspberry pi, pca9685, ads115 etc) that reef-pi is tested upon and used to build end to end reproducible software. From reef-pi version 2.0 , its also includes a host of 3d printable components (housing, mounting brackets, sensor holders etc).
Last but probably most important in its current state reef-pi is also a descent community in r2r (and in few other forums where im not very involved) where folks help each other out, and provide feedback for improvements

@Wolfw28 if you are serious about getting started with development, i'd suggest choose either go or react , and start learning it, follow the development guide to get started and join the reef-pi slack group where we can help you out with some easy tasks (or any thing you need with development)
.

@Seralu
 
Last edited:
OP
OP
Wolfw28

Wolfw28

Active Member
View Badges
Joined
Mar 13, 2022
Messages
201
Reaction score
139
Location
Myakka City
Rating - 0%
0   0   0
reef-pi uses more than one language underneath. The main controller software that runs on pi is written in go (a language developed in google). The frontend(website) that users interact and runs on browser is written in javascript, in a specific framework called react (developed in facebook). The packaging is done with fpm, written in ruby. Theres some bash and make stuff as well, for build related thing. But users mostly use the go and react based things.

@HuduVudu i wont call reef-pi as just the software itself :) . From very beginning its also a specific set of hardware (Raspberry pi, pca9685, ads115 etc) that reef-pi is tested upon and used to build end to end reproducible software. From reef-pi version 2.0 , its also includes a host of 3d printable components (housing, mounting brackets, sensor holders etc).
Last but probably most important in its current state reef-pi is also a descent community in r2r (and in few other forums where im not very involved) where folks help each other out, and provide feedback for improvements

@Wolfw28 if you are serious about getting started with development, i'd suggest choose either go or react , and start learning it, follow the development guide to get started and join the
reef-pi uses more than one language underneath. The main controller software that runs on pi is written in go (a language developed in google). The frontend(website) that users interact and runs on browser is written in javascript, in a specific framework called react (developed in facebook). The packaging is done with fpm, written in ruby. Theres some bash and make stuff as well, for build related thing. But users mostly use the go and react based things.

@HuduVudu i wont call reef-pi as just the software itself :) . From very beginning its also a specific set of hardware (Raspberry pi, pca9685, ads115 etc) that reef-pi is tested upon and used to build end to end reproducible software. From reef-pi version 2.0 , its also includes a host of 3d printable components (housing, mounting brackets, sensor holders etc).
Last but probably most important in its current state reef-pi is also a descent community in r2r (and in few other forums where im not very involved) where folks help each other out, and provide feedback for improvements

@Wolfw28 if you are serious about getting started with development, i'd suggest choose either go or react , and start learning it, follow the development guide to get started and join the reef-pi slack group where we can help you out with some easy tasks (or any thing you need with development)
 
OP
OP
Wolfw28

Wolfw28

Active Member
View Badges
Joined
Mar 13, 2022
Messages
201
Reaction score
139
Location
Myakka City
Rating - 0%
0   0   0
@ranjid Thank you for your response I would definitely like to learn more about the inner workings of reef-pi
I like to us a Nextion HMI display connects to peripheral MCU via TTL Serial (5V, TX, RX, GND) to provide event notifications that peripheral MCU can act on, the peripheral MCU can easily update progress, and status back to Nextion display utilizing simple ASCII text-based instructions. To setup for some switched to turn on and off devices such as pumps and lights ect.
 

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
@ranjid Thank you for your response I would definitely like to learn more about the inner workings of reef-pi
I like to us a Nextion HMI display connects to peripheral MCU via TTL Serial (5V, TX, RX, GND) to provide event notifications that peripheral MCU can act on, the peripheral MCU can easily update progress, and status back to Nextion display utilizing simple ASCII text-based instructions. To setup for some switched to turn on and off devices such as pumps and lights ect.
got it. I am curious why not use the pi touch display and the actual reef-pi ui? i am experimenting with esp32 based integration (for offloading light or dosing controller) and also direct physical buttons (to enable/disable ato, temp control etc)
 
OP
OP
Wolfw28

Wolfw28

Active Member
View Badges
Joined
Mar 13, 2022
Messages
201
Reaction score
139
Location
Myakka City
Rating - 0%
0   0   0
1. I own one that just sitting here doing nothing and did think it would be hard to setup work great with Arduino
2. It can be set up as a multi switch touch pad. I could have a button for everything on one screen pumps, lights, etc mounted in side my stand only requiring 4 wires. And if it get ruined no big deal I’m not out any $. It’s nice to have control inside the stand instead of dropping your phone in your sump while working on your tank. And I’m sure you have run into that emergency situation where you unplug a pump or something when working on tank to prevent something from overflow or something else. I’m old school in some ways my first tank years ago looked like a race car dash with a switch panel for everything on my tank.
3 I’m planning on mounting a pi touch on the outside of my stand using reefpi UI or kievy as many a display for temp ph etc.

The other reason I want to learn more is to be able to to have reefpi communicate with other module nodeMCU , esp32 or Arduino. I know pi can communicate on rx tx lines with Arduino. One reason I would like to use a NodeMCU or ESP32 is to control my RO system witch is in my pump house away from my house. I like to use the water straight out of the well the only thing in it is phosphate and calcium. The water at the house has gone through a softener and a chlorinator. Also I’m running out of sensor input. I’m using @robsworld78 robo-tank.
I wish I could sit down and talk to you or someone who could teach me there are so many protocols languages out there like sending alerts via text. I’m older now and got time to finally have time to for a tank and automation but now technology has passed me buy my previous tank automation was running on a 486 dos 5.0 program through a com port to x10 modules 20 years ago.
Don’t get me wrong I greatly appreciate all the work you have do along with the other that have helped you but there are some thing I would change like having a control panel for macros.
Another reason I’d like to learn is because I can’t find much info and I have only found a couple people who have taken the time to answer my question. Get lots of View but not many replies. @Sral been a awesome resource and help.
 

Sral

Valuable Member
View Badges
Joined
May 2, 2022
Messages
1,006
Reaction score
976
Location
Germany
Rating - 0%
0   0   0
(...) It’s nice to have control inside the stand instead of dropping your phone in your sump while working on your tank. (...)
That one had me laughing quite a bit ^^

So just for clarification, since I am not 100% certain about what exactly you want to achieve:
- Do you want the Nexterion Display hardmounted to the stand and PI, or do you want it wired to a portable Arduino ?
- Do you plan to use the PI Touchscreen mainly as a status display and the Nexterion as a Switchboard ?

- I'm slightly confused there because you are now also talking about a possible PI touchscreen, which could fulfill the same role as the Nexterion in my current understanding, but maybe I am wrong.
 
OP
OP
Wolfw28

Wolfw28

Active Member
View Badges
Joined
Mar 13, 2022
Messages
201
Reaction score
139
Location
Myakka City
Rating - 0%
0   0   0
That one had me laughing quite a bit ^^

So just for clarification, since I am not 100% certain about what exactly you want to achieve:
- Do you want the Nexterion Display hardmounted to the stand and PI, or do you want it wired to a portable Arduino ?
- Do you plan to use the PI Touchscreen mainly as a status display and the Nexterion as a Switchboard ?

- I'm slightly confused there because you are now also talking about a possible PI touchscreen, which could fulfill the same role as the Nexterion in my current understanding, but maybe I am wrong.
1 Nextion as a switch board just to turn on and off equipment. Mounted inside the stand for quick access with all the my equipment sump,pumps,etc. not best video but you get the point. I can’t be used as display also but I’m not interested in that just controls.
2 pi touch mounted external in a nice case for display purposes using reefpi ui or Livy reef. To display temperature, ph,etc. In the up coming future.@Ranjib @Sral
 

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: 37 23.9%
  • I occasionally change the food that I feed to the tank.

    Votes: 52 33.5%
  • I rarely change the food that I feed to the tank.

    Votes: 47 30.3%
  • I never change the food that I feed to the tank.

    Votes: 15 9.7%
  • Other.

    Votes: 4 2.6%
Back
Top