i measure river depth using an off-the-shelf product - the hardware is usable 
but i replaced the windoze app by writing a simple weewx service. a 
differential pressure sensor has RF connection to a controller (supports up to 
8 sensors). the receiver passes a record of latest sensor values over serial 
interface every 5 secs or so and the weewx service picks them up

see https://www.electrosense.com.au:
"Aquagauge Differential Pressure Water Level Sensor with Receiver /Display”
this went off the market for a while but seems to be back on again

the pressure probe has been secured onto river bottom by the high-tech method 
of tying it to a brick and shoving it under a big tree root. it has a lead up 
to the transmitter box that contains batteries as power supply - they last 
about 6 months. the receiver/controller needs external power and serial 
connection to computer (i use serial/usb dongle).
handy hint: put the transmitter higher than flood level. i didn’t and my first 
transmitter was shorted :-( weather-proof is not water-proof

writing the weewx service was quite straightfoward. it has a thread that 
reads/parses records and queues the values (up to 8 sensors, remember) so that 
the next LOOP callback by weewx engine inserts them into the packet. the 
service is configured to map each sensor to a weewx data_type and unit

service implementation: see https://github.com/g-eddy/weewx-aqua 
<https://github.com/g-eddy/weewx-aqua>.
my configuration in weewx.conf is

[Aquagauge]
    port = /dev/aqua
    speed = 2400
    #open_attempts_max = 4
    #open_attempts_delay = 2
    #open_attempts_delay_long = 1800
    [[0]]
        data_type = riverLevel
        unit = mm
so it is providing data_type ‘riverLevel’ from raw numbers in mm
(i use udev to create the constant device file i want, rather than default 
/dev/ttyUSB0 or similar that can change)

in my weather station i am using a vantage pro2 with its driver, which produces 
LOOP records about every 2.7 seconds. the aquagauge controller provides records 
about every 5 secs, so something is waiting in the queue about every second 
LOOP record. but that’s okay because weewx accumulates the values for the 
duration of the reporting cycle and they end up summarised in the ARCHIVE 
record and saved to database

i am saving ‘riverLevel’ in a database column and running reports off it e.g. 
tag $day.riverLevel.max.
in extensions.py i have put ‘riverLevel’ in ‘group_length’, and in weewx.conf i 
have set ‘group_length = cm’ because i want graphs by default to report 
‘riverLevel' in cm

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/4C6B46D8-926C-4D9C-AE68-EB1C3F282171%40gmail.com.

Reply via email to