Forum Replies Created
-
AuthorPosts
-
Hi Robert, I really like your Continuous Logger Post and the installation detail.
I’d be happy to share what I’m doing, and I’ve just finishing up a ModularSensors class last week
Hi Robert, I really like your Continuous Logger Post and the installation detail.I’d be happy to share what I’m doing, and I’ve just finishing up a ModularSensors class last week.
just thought I had posted here, and it hasn’t shown up, so trying again – here are the core details
https://github.com/neilh10/ModularSensors/blob/rel1_dvlp1m/src/sensors/analogElecConductivity.h
https://github.com/neilh10/ModularSensors/blob/rel1_dvlp1m/src/sensors/analogElecConductivity.cpp
Comments and code review welcome.
Its using an analog port, per the original post, and powered by a toggling port bit.
The actual target is a “Relative EC” as a “Stream Disconnect Sensor”
https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1002/2013WR015158
so I’m not paying attention to the units of measurement, though still calculating them as uS/cm2
Attachments:
Hi JakeGood to hear about it. I’d be happy to do a PR on it.
One of the other areas I believe for scaling for a group is quality testing. For every commercial company I’ve been with, be
Hi JakeGood to hear about it. I’d be happy to do a PR on it.
One of the other areas I believe for scaling for a group is quality testing. For every commercial company I’ve been with, being a able to test and characterize the functionality – that is how well it works – is a big value add to the end defined release. For anybody who works with embedded software for very long, repeatable builds and testing is a really challenging. So I’ve also defined a release that can be built simply and downloaded. I’ve put it in “examples”, but I think there should be in a “tested” directory or maybe there is a better name for it.
ModularSensors/examples/tu_id01 and is at
(edit oops its changed)
github.com/neilh10/ModularSensors/tree/release1/examples/tu_xx01I’m still not clear on how to manage the repeatable builds with the distributed code environment, but working on it.
Hi Jim. Thanks for the description.What the ‘ini’ reader does is read a file on the Mayfly microSD card called ms_cfg.ini – in that file is all the configuration information that
Hi Jim. Thanks for the description.What the ‘ini’ reader does is read a file on the Mayfly microSD card called ms_cfg.ini – in that file is all the configuration information that is specific to a particular node “station” as when the MMW sensor UUIDs are created.
What this does is allow your .ino file to be compiled once to a .HEX, with no custom UUIDs. All the node specific MMW UUIDs are then put in the individual “Stations” Mayfly microSD files.
The Mayfly’s mega1284 is a small 8bit microprocessor, and there is very limited networking capability – not like a linux system that has a lot of generic networking. So no there is no capability to push a UUID back onto the Mayfly.
On MMW I couldn’t find a way of searching for Sites GMI_* it needs the Organization to be first specified.
Hi Anthony ~ thanks for the headsup. For today my desk proto system running at 15minutes intervals/WiFi I haven’t seen any timeouts, all 201’s in the last 5hrsMatt, sorry to hear the rec
Hi Anthony ~ thanks for the headsup. For today my desk proto system running at 15minutes intervals/WiFi I haven’t seen any timeouts, all 201’s in the last 5hrsMatt, sorry to hear the reconstruction issues. Welcome to software development. I’ve got lots of silver hairs from it.
The process of proving or verifying software functionality, improving reliability (however its defined), is a tough and sometimes expensive process. For over all reliability and repeat-ability, you could start another forum discussing best practices. I’d be happy to share my best practice.
For one software consideration you might read this for future methods https://github.com/neilh10/ModularSensors/wiki/Release-downloads
I had one job interview early in my career, this small business had a student do something for him, and then the student moved on. I was interviewed; could I construct from paper listings the program, and then make some modifications to the program.!
At least we have github now, and make copies of the .git. 🙂
I have my desktop development environment, and do accelerated testing (run it 2minute intervals over WiFi). Then when I have stable program, I both label it and uniquely copy and label the firmware.hex. Then I move that out to an outside more realistic “beta” test site (eg 15minutes over CAT-M1) and let the software run under realistic conditions for some time.
Then with no known issues, I move it to the field, That is what has happened here https://monitormywatershed.org/sites/TU-RC-01/
However, for this site, I’m getting anomalies about every month which was a bit beyond my initial testing.
Oh well! Got to work on a local test environment to shadow the field one.
Attachments:
Hi Matt
You’re doing some good characterization work. Thankyou for sharing it.
A basic issue to keep in mind is that all communications can be unreliable as there is complex telecoms infrastructHi Matt
You’re doing some good characterization work. Thankyou for sharing it.
A basic issue to keep in mind is that all communications can be unreliable as there is complex telecoms infrastructure.An arbitrary wireless placement’s reliability is difficult to quantify ~ distance to cell head, direction of wind, fog/rain etc. A wireless network location needs to be categorized for being reliable.
I use the office based WiFi to attempt to have a reliable reference point. (and I’m still seeing timeouts 504 with data delivery and also some posts not being inserted)
From an industry context, communication protocol retry’s are the only way to provide for reliable data delivery, and I raised this feature request.
https://github.com/EnviroDIY/ModularSensors/issues/194I haven’t managed to implement it in my EnviroDIY systems yet either https://github.com/neilh10/ModularSensors, but its high on my list, and periodically I give me a kick on the butt for not having got it done. Like now. Ideally this type of reliable delivery is implemented early so that overall reliability can be characterized. I implemented another system, and even though networks in rural areas could be down for weeks, the data would eventually ALL be pushed to the server.
I have implemented a Sequence number (EnviroDIY_Mayfly_SampleNum) which increments on the Mayfly side, and then on the monitorMyWatershed it can be viewed, and any missing numbers detected.
So for a field system the sequence number appears to be continuous from Oct/24/2019, https://monitormywatershed.org/tsa/?sitecode=TU-RC-01&variablecode=EnviroDIY_Mayfly_SampleNum&view=visualization&plot=true
So for this system, running over I think an ATT CAT-M1 modem, there are only occasional packet losses of 1 – see graph generated from .xls file
That said I have been seeing a lot of (504) from my desk workstations – and haven’t dug into why.
Attachments:
I’m seeing similar. Out of 15posts at two miuntes apart. the first 6 where 201, and then the rest mixed 504 and 201.
The site is https://monitormywatershed.org/sites/TU-RC-Test03a/
The post struI’m seeing similar. Out of 15posts at two miuntes apart. the first 6 where 201, and then the rest mixed 504 and 201.
The site is https://monitormywatershed.org/sites/TU-RC-Test03a/
The post structure looks good:Sending data to [ 0 ] data.envirodiy.org
POST /api/data-stream/ HTTP/1.1
Host: data.envirodiy.org
TOKEN: f4c00cb8-91bd-4ba3-8229-10f68e99605e
Content-Length: 410
Content-Type: application/json{“sampling_feature”:”275b362b-86ab-4079-bce0-2ae5c4e96350″,”timestamp”:”2020-04-01T14:25:02-08:00″,”6288baaa-d291-4a82-a0b6-7b28b6faa0df”:15,”6e433b80-fa12-41c1-952c-bda827c1b2fb”:3.957,”1f2b4122-75f1-4e5b-b6df-16ec6f4aa30e”:0.2129,”5ba31d7b-9ce7-4621-b97b-0c72f9ab414e”:18.6,”1cc06ba7-b0ec-4df5-8986-c529fae578a2″:16.81,”33faa79b-04fd-4277-ab0a-24f6dbaaa931″:0.0010,”3705167b-9cb6-49bd-bfee-dc49c2a99a97″:134}
— Response Code —
504————- when put through a JSON PrettyPrint, it looks good
{
“sampling_feature”: “275b362b-86ab-4079-bce0-2ae5c4e96350”,
“timestamp”: “2020-04-01T14:20:02-08:00”,
“6288baaa-d291-4a82-a0b6-7b28b6faa0df”: 13,
“6e433b80-fa12-41c1-952c-bda827c1b2fb”: 3.964,
“1f2b4122-75f1-4e5b-b6df-16ec6f4aa30e”: 0.1935,
“5ba31d7b-9ce7-4621-b97b-0c72f9ab414e”: 18.4,
“1cc06ba7-b0ec-4df5-8986-c529fae578a2”: 16.81,
“33faa79b-04fd-4277-ab0a-24f6dbaaa931”: 0.0009,
“3705167b-9cb6-49bd-bfee-dc49c2a99a97”: 134
}Hi Evan, I was wondering how your experiments are going.
I was thinking of constructing a ModularSensors class along what you had been talking about.
So this follows the
https://hackaday.io/project/7Hi Evan, I was wondering how your experiments are going.
I was thinking of constructing a ModularSensors class along what you had been talking about.
So this follows the
https://hackaday.io/project/7008-fly-wars-a-hackers-solution-to-world-hunger/log/24646-three-dollar-ec-ppm-meter-arduino
with a series voltage switched R of about 500, and an IEC plug
The class could be
AnalogEC sensorEC(PowerPin, AnalogPin, EC_resistor, WaterTemperature_C);
NeilYes that should work. On processor reset, A5 will need to be setoutput to out and low.
Then on setting A5 high AND there is enough power in the LiIon battery the Xbee Radio should come on.
It shouldYes that should work. On processor reset, A5 will need to be setoutput to out and low.
Then on setting A5 high AND there is enough power in the LiIon battery the Xbee Radio should come on.
It should be noted its a good idea to monitor the LiIon battery, as it should be sized for the power usage (I like 2Ahr or 4Ahr battery).
When the measured LiIon voltage gets low, it won’t be able to supply the power surge needed to turn on the Xbee Radio.I’m seeing it as well. It starts of as 201, and then after 10~2 POST starts printing 504. It has been happening from late last week – but is being recorded on MMW. I wasn’t monitoriI’m seeing it as well. It starts of as 201, and then after 10~2 POST starts printing 504. It has been happening from late last week – but is being recorded on MMW. I wasn’t monitoring anything early last week,Its a good discussion, and I’m interested in the context of the study of intermittent streams.There are a lot of examples of detecting “water leaks”, that is the physical situatio
Its a good discussion, and I’m interested in the context of the study of intermittent streams.There are a lot of examples of detecting “water leaks”, that is the physical situation of going from no water, to “tap water” – a relatively low TDS water.
For an intermittent stream, I imagine its going from a physical water present (with potentially high TDS) to a water drying up condition. That is the sensors are likely to have the full “benefit” of living water, algae – and then gradual drying up.Where it gets placed in the stream channel and how “wires” are run out is part of the setup. I would think a sacrificial outer cord, flexible PVC tubing, would be basic starting point. Some critters won’t like the woven metal outer shields of some cables.
For low power I would think that would also support a periodic check – ie a test every 15minutes. That may help with the powering scenario.
Working with indoor tap “water leak” detection I bought a water alarm with a “4ft rope connector” Honeywell RCHWES4/U RCHWES4 Wi-Fi Water Leak Detector Rope Sensor https://www.amazon.com/gp/product/B01J7EVB1G/ref=ppx_yo_dt_b_asin_title_o07_s01?ie=UTF8&psc=1
I haven’t experimented with the way that it works yet :). I just did the basic test of wet parts of it and see the alarm go off, before I installed it under the floorboards, directly beneath a bath where I had some water leak in the past.So it may take a few small steps to find out what works best in the field.
-
AuthorPosts