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

Hookster15

Active Member
View Badges
Joined
Sep 28, 2017
Messages
111
Reaction score
74
Location
Hobart , Indiana
Rating - 0%
0   0   0
Here is the fritzing schematic
Screen Shot 2018-08-29 at 3.45.09 PM.png
Thank you
 

wykat

Active Member
View Badges
Joined
May 23, 2018
Messages
182
Reaction score
421
Rating - 0%
0   0   0
is easy with clothing iron. if only for small size like pi Zero
Links https://frgmnt.org/advanced-smd-soldering/
Thanks for the link. Basically this is "hot plating" but with limited control over the temperature, that's why I purchased the oven. Hot plate however is preferred by others as they can make corrections while the components start to move as you can look at it which is not possible in an oven. Nevertheless I hope that most people are able to just solder the PCA9685 with a good solder iron. Since the PCB has the size of a normal PI it would be too big for the clothing iron, however there is only 1 SMD component on the middle of the board, so maybe it could work.

In my 2nd trial with the PCA9685 I hadn't positioned it with the 2 outer corner pins and it was interesting to see how the chip started to move. It did however move wrongly (due to air flow from the gun?) which could have been prevented with this method, meaning raise the temperature to where the chip moves, control it, and then raise the temperature for soldering.
 
Last edited:

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 have been playing a bit more in Fritzing. I found this SLICK board from ADAfruit on AMAZON. I might order this but I really want to build this weekend. Maybe it is ordered down the road LOL. It should have the capacity for most all in one build. Here it is added to my current sketch(cropped).

When I add the 2nd power bar, I plan to use this instead of the small Hat so it is all contained. this would be Phase 2. LOL.


controller 8 channel power.JPG
 
Last edited:
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 have been playing a bit more in Fritzing. I found this SLICK board from ADAfruit on AMAZON. I might order this but I really want to build this weekend. Maybe it is ordered down the road LOL. It should have the capacity for most all in one build. Here it is added to my current sketch(cropped).

When I add the 2nd power bar, I plan to use this instead of the small Hat so it is all contained. this would be Phase 2. LOL.


controller 8 channel power.JPG
I love the perma proto boards. Go with this one: https://www.amazon.com//dp/B00SK8KIGA/ it does not have the headers
I have used these as well: https://www.amazon.com//dp/B071WC2BCF/
 

DaveMorris

MACNA2016 Co-Chair
View Badges
Joined
May 9, 2009
Messages
786
Reaction score
562
Location
San Diego, CA
Rating - 0%
0   0   0
I have been struggling to just get my Pi board to boot up. I want to learn more about the Raspberry Pi and some rudimentary programming before I start in on my reefPi build. I don't know if I just have a bad board or what the deal is. I formatted a SD card and installed all of the files from the Noobs download on it, connected it to a monitor, keyboard, and mouse, powered it up and get nothing. The LED lights on the board so I know it is getting power, but nothing on the screen. I tried it by connecting up the 7" touchscreen as well and also nothing. Very frustrating. Is it possible that the Pi board itself is DOA? How should the SD card be formatted? Is a 64g card to big? Sorry for all of the very beginner level generic to the Pi questions, but I am extremely confused.
 

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
Dave. I did noobs too. Formatted the card and then unzipped noobs and copied files. Lights come on. Did you hdmi to a monitor? One light comes on and other flickers like a drive read light I believe.



Btw, check out what I made. It's ugly. But I have NEVER soldered before. Ever. This is my temperature circuit. And it freaking works! I need to buy some smaller wires. My old auto wire is quite large and I had to cut in half to get in the holes. Took me about an hour. I need to work on joining two wires and tinning.


d4a7802213cd3fbb55e3cee441b71938.jpg
 
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
Dave. I did noobs too. Formatted the card and then unzipped noobs and copied files. Lights come on. Did you hdmi to a monitor? One light comes on and other flickers like a drive read light I believe.



Btw, check out what I made. It's ugly. But I have NEVER soldered before. Ever. This is my temperature circuit. And it freaking works! I need to buy some smaller wires. My old auto wire is quite large and I had to cut in half to get in the holes. Took me about an hour. I need to work on joining two wires and tinning.


d4a7802213cd3fbb55e3cee441b71938.jpg
This is that feeling of first tank... Its just the beginning, but still its so exciting. I'm glad you took the plunge. I myself get excited looking at other users builds (like yours) that run my software, its very fulfilling :)
 
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 have been struggling to just get my Pi board to boot up. I want to learn more about the Raspberry Pi and some rudimentary programming before I start in on my reefPi build. I don't know if I just have a bad board or what the deal is. I formatted a SD card and installed all of the files from the Noobs download on it, connected it to a monitor, keyboard, and mouse, powered it up and get nothing. The LED lights on the board so I know it is getting power, but nothing on the screen. I tried it by connecting up the 7" touchscreen as well and also nothing. Very frustrating. Is it possible that the Pi board itself is DOA? How should the SD card be formatted? Is a 64g card to big? Sorry for all of the very beginner level generic to the Pi questions, but I am extremely confused.
Sorry for your troubles, lets go through each step and ensure we are doing the right set of things
- Which guide/documentation you are following?
- What software you are using to write the image to SD card?
- I'll strongly recommend using Raspbian and following this guide: https://learn.adafruit.com/adafruit...ng-and-sd-card-for-your-raspberry-pi?view=all (you can skip the last step of creating backup, thats not necessary in the beginning)
 
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
Dave. I did noobs too. Formatted the card and then unzipped noobs and copied files. Lights come on. Did you hdmi to a monitor? One light comes on and other flickers like a drive read light I believe.



Btw, check out what I made. It's ugly. But I have NEVER soldered before. Ever. This is my temperature circuit. And it freaking works! I need to buy some smaller wires. My old auto wire is quite large and I had to cut in half to get in the holes. Took me about an hour. I need to work on joining two wires and tinning.


d4a7802213cd3fbb55e3cee441b71938.jpg
By the way, I use this solid core colored hookup wires to create jumpers (connect two different points in the perma proto board):

https://www.amazon.com/dp/B00B4ZRPEY
highly recommended. They are also part of the standard bill of materials: http://a.co/j8Iv8M0
 

Zekth

Community Member
View Badges
Joined
Mar 18, 2016
Messages
57
Reaction score
92
Location
France
Rating - 0%
0   0   0
Just some questions about the repository. I've read the development documentation and check the files in the repo but some stuff seem strange to me. Why using "dependencies" with the package.json if you use ES6 and you compile it throught React? Everything will be bundled and you'll not have to rely on node_modules. Addition to this, the setup of all the procedure of all the installation can be done throught scripts trigger by "npm install" for example. It would be an improvement.

About Ui and React App i can help too if needed.


"Load test for reef-pi"
=> We can use Gherkin syntax and make a script to handle the scenarios you wanna try with a parallel context of multiples threads. The problem is i don't know how to get significant metrics on the raspberry for the load. I mean, i know how to do it on servers with watchers and storing data in Prometheus for example but in our case it will slow down the Pi too. Any idea? Or we just try the CRUD untill we get errors from the API ?
 
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
Just some questions about the repository. I've read the development documentation and check the files in the repo but some stuff seem strange to me. Why using "dependencies" with the package.json if you use ES6 and you compile it throught React? Everything will be bundled and you'll not have to rely on node_modules. Addition to this, the setup of all the procedure of all the installation can be done throught scripts trigger by "npm install" for example. It would be an improvement.

About Ui and React App i can help too if needed.


"Load test for reef-pi"
=> We can use Gherkin syntax and make a script to handle the scenarios you wanna try with a parallel context of multiples threads. The problem is i don't know how to get significant metrics on the raspberry for the load. I mean, i know how to do it on servers with watchers and storing data in Prometheus for example but in our case it will slow down the Pi too. Any idea? Or we just try the CRUD untill we get errors from the API ?

ES6 compiled single js file is used for packaging, thats the stuff that gets shipped to build or served by browser. dependencies and package.json is used to ensure reproducible developer environments. this is same as gemfile.lock or requirement.txt (ruby & python), they are checked in the repo so that we can always recreate the builds, test against a known versions of packages. reef-pi builds (debian packages) dont have all this. it has only the binary (go), ui.js (UI), some css, a systemd unit file for service.
 
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
Just some questions about the repository. I've read the development documentation and check the files in the repo but some stuff seem strange to me. Why using "dependencies" with the package.json if you use ES6 and you compile it throught React? Everything will be bundled and you'll not have to rely on node_modules. Addition to this, the setup of all the procedure of all the installation can be done throught scripts trigger by "npm install" for example. It would be an improvement.

About Ui and React App i can help too if needed.


"Load test for reef-pi"
=> We can use Gherkin syntax and make a script to handle the scenarios you wanna try with a parallel context of multiples threads. The problem is i don't know how to get significant metrics on the raspberry for the load. I mean, i know how to do it on servers with watchers and storing data in Prometheus for example but in our case it will slow down the Pi too. Any idea? Or we just try the CRUD untill we get errors from the API ?
We would love to get any and all help on the development front. I am already getting some major help from @Michael Lane around form validation and making things nicer, responsive etc.

The goal of load test was to come up with a tentative set of numbers where reef-pi will break. I'll start with 16 outlets, 5 inlets, 18 jacks, and aggressively configure /run them (shorter interval in temperature/ato etc) till the response times starts deteriorating (say p50 latency is deteriorated by 30%).

I have run telegraf (on pi) and grafana+influxdb(on a different pi) for gathering telemetry in past. If I do it now, probably go with Prometheus, but if its too heavy I may just right my own with gopsutil.
we can use pprofile as well. reef-pi is already integrated with go-pprofile, so you can extensive backend telemetry via /profile endpoint. You have to enable it from Configuration -> Settings-> Profile
I think a python client for the 2.0 API would be handy as well (or nodejs client).
Let me know if you need any help.
We use slack for developer chats, if you want to hop in, just PM me your email and I'll send you an invite for reef-pi.slack.com (its a slack verification thing)
 

Zekth

Community Member
View Badges
Joined
Mar 18, 2016
Messages
57
Reaction score
92
Location
France
Rating - 0%
0   0   0
ES6 compiled single js file is used for packaging, thats the stuff that gets shipped to build or served by browser. dependencies and package.json is used to ensure reproducible developer environments. this is same as gemfile.lock or requirement.txt (ruby & python)

I totally agree with this. But you don't need any node_modules in a "production" environment because you previously build it with webpack. That's the point and the differences between npm and pip for example. npm has the separated dependencies and pip not.

I have run telegraf (on pi) and grafana+influxdb(on a different pi) for gathering telemetry in past. If I do it now, probably go with Prometheus, but if its too heavy I may just right my own with gopsutil.
we can use pprofile as well. reef-pi is already integrated with go-pprofile, so you can extensive backend telemetry via /profile endpoint. You have to enable it from Configuration -> Settings-> Profile
I think a python client for the 2.0 API would be handy as well (or nodejs client).
Let me know if you need any help.

I think it's better to rely on what's mandatory on the target device unless our metrics will be corrupted.

I'll mp you for slack.
 

Michael Lane

Well-Known Member
View Badges
Joined
Aug 11, 2018
Messages
677
Reaction score
1,123
Rating - 0%
0   0   0
@pickupman66 According to the datasheet, the DS18B20 can operate between 3 - 5.5 volts. That means it should not be a problem as long as the DQ pin and Rpi pin are connected to 3v3 through the pull up resistor.
 
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 think I may have made a mistake on my DS18B20. I powered it thru the 5v side and not hte 3.3v side. will this make a difference?
should be ok. check if its working . If the probe gets hot then you have wired it wrong. else it should be ok. its recommended to wire it against 5v if you have longer wire length between Pi and the ds18b20 probe
 

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
OK. yea it worked good last night on the bench. read 85 degrees in the garage and then went down quickly when we placed the probe in ice water.
 

High pressure shells: Do you look for signs of stress in the invertebrates in your reef tank?

  • I regularly look for signs of invertebrate stress in my reef tank.

    Votes: 17 38.6%
  • I occasionally look for signs of invertebrate stress in my reef tank.

    Votes: 12 27.3%
  • I rarely look for signs of invertebrate stress in my reef tank.

    Votes: 8 18.2%
  • I never look for signs of invertebrate stress in my reef tank.

    Votes: 7 15.9%
  • Other.

    Votes: 0 0.0%
Back
Top