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

bishoptf

Valuable Member
View Badges
Joined
Jan 1, 2019
Messages
1,409
Reaction score
1,726
Location
Missouri
Rating - 0%
0   0   0
Since there are folks out there that aren't "linux-saavy", would it be possible/feasable to create a reef-pi image that already has the /boot/config.txt changes, etc already done for folks? I could easily make the image, hosting it would be another story.

I still think if we beef up the documentation and help provide more guidance by providing links and or examples it should be good enough. Plus since this is DIY they should want to learn that side of it also since you will need to do software upgrades tc from time to time. I think that should be part of the learning experience also, I know it can be frustrating for sure but there are lots of tutorials with how to use nano etc. that we could leverage that should be able to help get the point across.

Willing to help on that front also...:)
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,876
Reaction score
16,682
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Just completed the analong input connector CRUD (create, retrive, update, delete) API and UI coding. Here is a run through of the flow:
1) An analog input connector is always associated with a driver capable of analog to digital capability. ph Board is an example. We start with
declaring a new driver. This is reef-pi 3.0 feature, where we are introducing HAL (hardware abstraction layer), aka drivers. This gives builder ability to use multiple pca96985 and other new drivers. Connectors (jacks, inlets,outlets etc) are always associated with a specific driver. Currently rpi, pca9685 drivers are present. I am testing the ph board driver. The new driver (hal) feature allows providing custom configuration for individual drivers as well (for example different pca9685 drivers can have different i2c address and can operate at different pwm frequency). Individual drivers can offer different capabilities (digital in/out, pwm , analog in etc). Among the current drivers only ph board provides analog input capability, we'll need this driver to create an analog input connector.

Screen Shot 2019-01-24 at 11.58.27 PM.png


2) Next we create an analog input connector (physically it can be a panel mount female bnc connector ) and associate it with the ph board driver.

Screen Shot 2019-01-25 at 12.08.25 AM.png

Next I'll work on integrating this connector with the ph subsystem, which is currently using only an i2c address as configuration assuming its an ezo circuit. I'll change the ph module to use an analog input connector instead if i2c value, I'll have to convert the current ezo circuit driver as hal driver as well, to get it working with the new scheme of things,...
 

Mendeln

Community Member
View Badges
Joined
Nov 21, 2017
Messages
27
Reaction score
64
Location
Germany
Rating - 0%
0   0   0
I saw these postings this morning but unable to post from work, actually I would like being able to write to disk also, although I wouldn't write to the SD card I would write to a network share (NFS to be exact). I think this would be nice so if you do restart the reef-pi it reads the file and picks up from where it left off. I would also like to know if you can backup the database file and restore to a new installation so you don't have to re-configure things.

Great discussions as always, just thought I would weigh in. :)
+1 for the ability to store the data in the network (synology nas)

I can help out if we want to package stuff up. What about using p2p torrents for the software, I would be glad to seed a torrent, if we get enough folks to seed then that would be a possibility and no one person would take the bandwidth hit.
would love to seed the images from my synology. the nas is 24/7 online
 

Diamond1

Valuable Member
View Badges
Joined
Oct 17, 2013
Messages
1,368
Reaction score
1,914
Location
Cleveland Ohio
Rating - 0%
0   0   0
Just completed the analong input connector CRUD (create, retrive, update, delete) API and UI coding. Here is a run through of the flow:
1) An analog input connector is always associated with a driver capable of analog to digital capability. ph Board is an example. We start with
declaring a new driver. This is reef-pi 3.0 feature, where we are introducing HAL (hardware abstraction layer), aka drivers. This gives builder ability to use multiple pca96985 and other new drivers. Connectors (jacks, inlets,outlets etc) are always associated with a specific driver. Currently rpi, pca9685 drivers are present. I am testing the ph board driver. The new driver (hal) feature allows providing custom configuration for individual drivers as well (for example different pca9685 drivers can have different i2c address and can operate at different pwm frequency). Individual drivers can offer different capabilities (digital in/out, pwm , analog in etc). Among the current drivers only ph board provides analog input capability, we'll need this driver to create an analog input connector.

Screen Shot 2019-01-24 at 11.58.27 PM.png


2) Next we create an analog input connector (physically it can be a panel mount female bnc connector ) and associate it with the ph board driver.

Screen Shot 2019-01-25 at 12.08.25 AM.png

Next I'll work on integrating this connector with the ph subsystem, which is currently using only an i2c address as configuration assuming its an ezo circuit. I'll change the ph module to use an analog input connector instead if i2c value, I'll have to convert the current ezo circuit driver as hal driver as well, to get it working with the new scheme of things,...

So I'm assuming that all the new releases will be 3.x?
The UI looks good and easy to navigate.
 

ScottF83

Community Member
View Badges
Joined
Apr 15, 2016
Messages
72
Reaction score
80
Rating - 0%
0   0   0
I remember. Very interesting use :-)
The doser pumps should work as expected. 2.0 had a bug. What version you are running?
Without checking, I believe it would be 2.0 based on the release dates.

I'll update this hopefully over the weekend and test again

Thanks.
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,876
Reaction score
16,682
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
So I'm assuming that all the new releases will be 3.x?
The UI looks good and easy to navigate.
That’s my current thought. Since all of this will break existing api /database . Expect a long beta /alpha phase for 3.0
 

Mikeneedsahobby

Well-Known Member
View Badges
Joined
Sep 16, 2018
Messages
516
Reaction score
916
Rating - 0%
0   0   0
thanks a bunch Mikeneedsahobby, this did the trick written in a way I could understand. I think I need to follow a single thread (this one way too long), been reading too much, to decide which options I want to employ. Need simple terminology (like above) as I'm new to all this programming language. Do you have a build thread? or is there one you'd recommend?

Yes I have a reef pi build thread. I think if you click on my mustang pic it will pull up a menu to choose threads started by me. It is there. I don’t know if it is good or not. I have only built a functional thermometer so far but i tried to be thorough and keep it simple. As for others. There are many. I personally follow diamond1 and theatrus threads the most but they both go over my head a lot.
 

Ryan115

Well-Known Member
View Badges
Joined
Dec 28, 2010
Messages
586
Reaction score
1,085
Location
Mississippi
Rating - 0%
0   0   0
So I am still using the custom 2.0 release with configurable PCA9685 address, but my theory on the memory only rising during the day is incorrect.
There was a steady increase since just before 0700 yesterday.
upload_2019-1-25_12-34-16.png

upload_2019-1-25_12-34-41.png


I attempted a reload from within the GUI while at 65% usage and received the allocation error, but I am not sure exactly where the threshold is.

Would it matter if I always have the GUI up on my laptop browser and possibly the memory increase ceases when the laptop is sleeping?
 

b4tn

Valuable Member
View Badges
Joined
Jun 17, 2015
Messages
1,679
Reaction score
2,227
Location
Columbia MD
Rating - 0%
0   0   0
@Ranjib , I was poking around the doser settings, I couldn't see how to do multiple dosings per day, am I missing something or is this not implemented (yet)?

@stefanm Here is how I have mine set up. Mine is calibrated to 1 ml per second so I have it set to dose 5 seconds and several different hour points in the day. The second one is the same doser but its an adjustment value. So If I needed to dose say 28 ml. I would dose 5 seconds 4 times in the first rule and one time for 3 seconds in the second rule.

46822524742_3a8c83b293_h.jpg
 

stefanm

Active Member
View Badges
Joined
Oct 11, 2017
Messages
360
Reaction score
394
Location
Sweden
Rating - 0%
0   0   0
@stefanm Here is how I have mine set up. Mine is calibrated to 1 ml per second so I have it set to dose 5 seconds and several different hour points in the day. The second one is the same doser but its an adjustment value. So If I needed to dose say 28 ml. I would dose 5 seconds 4 times in the first rule and one time for 3 seconds in the second rule.

46822524742_3a8c83b293_h.jpg

Thanks, now I get it looks straight forward.
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,876
Reaction score
16,682
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
I’ll watch the memory usage things for a few week. From my initial assessment it’s not a leak wand as expected .
reef-pi keeps all usage data across all modules in memory, to minimize disk io , and periodically writes them back on disk (and during reload/ shutdown ). The memory issues arise from this . Till 2.1 the retention period was hard coded (fixed to a set value in the code) for a week worth of high granularity data and a month worth of hourly averages. With 2.2 we have ability to control this and thus limit the memory usage.
This comes at a cost of loosing older data. I’ll be thinking about how to best address this. Dashboards will use this data very often, I don’t want to do disk io a lot. So card failure will be more painful than memory induced reload or being restricted to see only limited historical data.
 

theatrus

Valuable Member
View Badges
Joined
Mar 26, 2016
Messages
2,253
Reaction score
3,603
Location
Sacramento, CA area
Rating - 0%
0   0   0
I’ll watch the memory usage things for a few week. From my initial assessment it’s not a leak wand as expected .
reef-pi keeps all usage data across all modules in memory, to minimize disk io , and periodically writes them back on disk (and during reload/ shutdown ). The memory issues arise from this . Till 2.1 the retention period was hard coded (fixed to a set value in the code) for a week worth of high granularity data and a month worth of hourly averages. With 2.2 we have ability to control this and thus limit the memory usage.
This comes at a cost of loosing older data. I’ll be thinking about how to best address this. Dashboards will use this data very often, I don’t want to do disk io a lot. So card failure will be more painful than memory induced reload or being restricted to see only limited historical data.

I wouldn’t worry about card wear. A number of systems periodically do atomic disk I/O, even down to ext4. Just writing directly to disk through the page cache should be just fine.
 

Des Westcott

Well-Known Member
View Badges
Joined
May 29, 2018
Messages
646
Reaction score
1,025
Location
Durban - South Africa
Rating - 0%
0   0   0
I am working on adding a new type of connector to represent analog inputs , like the ones used for ph, orp, salinity etc, and I am thinking what to call them. We have outlet representing digital output, inlet representing digital input , jack representing variable dc output,,, any suggestion for the new connector name that will represent analog input ?

Just call them what they are - I would rather see "Variable DC Output" instead of "Jack" or "Digital Output" instead of "Output".

So for me, the "Analog Input" should be "Analog Input"

It's just the way my brain prefers associating making the associations.

Des
 

daveCB

Community Member
View Badges
Joined
Nov 5, 2013
Messages
80
Reaction score
95
Location
Mays Landing, NJ
Rating - 0%
0   0   0
Just call them what they are - I would rather see "Variable DC Output" instead of "Jack" or "Digital Output" instead of "Output".

So for me, the "Analog Input" should be "Analog Input"

It's just the way my brain prefers associating making the associations.

Des

I agree with Des. You should work toward getting the terms in line with industry standards. Analog vs digital inputs and outputs, one wire input and so on. Refer to them like this throughout the documentation and build.
 

DO YOU THINK TECHNOLOGICAL ADVANCEMENTS ARE MORE HELPFUL OR HURTFUL TO REEFING?

  • More helpful.

    Votes: 58 42.0%
  • More hurtful.

    Votes: 5 3.6%
  • I think it depends mostly on the technology.

    Votes: 53 38.4%
  • I think it dependsmostly on the reefer behind the technology.

    Votes: 41 29.7%
Back
Top
Home
Post thread…
Market
What's new