A Bluetooth Low Energy soil moisture sensor
github.com
github.com
If the script is external then it must be capable of making a http request to the server where a script does something similar to the scenario above.
I suppose this is simple enough and I should look that up. What is it called on the server side when you make a URL available for receiving HTTP requests? I realize I’m not sure what to research exactly.
EDIT: wait a minute, actually I’ve used flask before with python. I guess I just need to figure out how to run flask on my web server, maybe on a sub domain, without interfering with the discourse instance that’s already there. Hmmm.
I sometimes transfer data with curl via a url which does not exist, but where a script running on the server watches the server's error log and extracts data from those entries. For example: access (via curl or perl' GET, or whatever) these urls
http://my-server/data0815/up+2 http://my-server/data0815/down-3
The script watches for these entries and acts upon the stuff following the data0815 part. It's a fast hack, which can be augmented and expanded in various ways, all without frameworks.
eh I just never learned it. I'm a robotics engineer and I tend to write programs in Python (or less commonly now, C++) to run in a loop and deal with local hardware. The way that web servers operate in a stateless multithreaded way involves some peculiarities that I always find a little tricky.
> I sometimes transfer data with curl via a url which does not exist, but where a script running on the server watches the server's error log and extracts data from those entries.
Hey that's a nice trick! I already have a server running discourse. Maybe I can sneak something in there. Though it looks like someone's suggestion of https://healthchecks.io/ might do what I need.
This fits the definition of API (application programming interface).
For a single API endpoint to post data, I would personally write a little Node.js script using built-in HTTP module or Express. For Python, maybe something like this: https://pythonbasics.org/flask-rest-api/
You don't need a fancy wireless weather station for that. Just put a tiny server at the remote location. If you can't ping it then the power or internet is out, and you can stay at home.
https://github.com/merbanan/rtl_433
It works okay: it drops around 10% of the data due to reception issues, but I think it might be related the parameters I have set for the gain on the software defined radio.
I need to position the receiver to have line of sight.
I use Bluetooth for lights which actually does work through the stone about 10 meters away, which doesn't make sense to be, but that's been my experience.
"The frequency of products sold in US/CA is 915 MHz ; The European 868 MHz;The Australia 433 MHz."
> Live Data on APP: requires a GW1000 WIFI gateway(sold separately) to connect to WiFi, after the WIFI configuration,the live soil moisture data can be viewed on the WS View mobile application
> Graph & History Records on Ecowitt Weather Server: supported to upload to our free Ecowitt Weather server(ecowitt.net) to view the soil moisture data graph and download the history records on the website; it's recommended to add a shortcut of the website on the home screen of your phone for quick access
EDIT: It seems you don't need the bridge if you use rtl_433: https://news.ycombinator.com/item?id=33286401
This guys tests a bunch and found most of them shipping from aliexpress were bad.. https://www.youtube.com/watch?v=IGP38bz-K48
https://m.fr.aliexpress.com/item/32689223035.html?html=stati...
https://www.amazon.fr/Corrosion-Resistant-Capacitive-Moistur...
If not I run www.openagriculturesupply.com amd would love to help find something that does.
https://www.seeedstudio.com/SenseCAP-S2105-LoRaWAN-Soil-Temp...
https://oshpark.com/ they offer free shipping from memory - really cheap. i got these shipped from America to Australia :)
for 1 design - you get 3 pcbs (identical)
If you want to piggyback onto this order or collaborate please send an email to morphle at ziggo dot nl.
We can lower the price per moisture sensor down to $1.42 when we order 100000 or more or by dropping labour intensive features.
At a shared/combined batch order of 1 million sensors we will drop to $0.30 per sensor. At this point it is economical to have a sensor per plant (or mecanically planted seed).
With optional starlink and solar panels and batteries for full offgrid operation. Custom software features in an app for smartphone or laptop with a https://microblocks.fun type programmability and spreadsheet graphs and website output would be optional. We could add microphones and motion sensors to sense rodents or snails or monitor (rain)forest for illegal cutting with chainsaws or poachers.
Load Cell Weight Pressure Sensors are AUD$5 or so, and I reason a shallow receptacle of sand sitting outdoors, where rain can fall in, and direct sunlight can slowly evaporate the water, should provide a sufficiently accurate analogue for soil moisture.
Certainly I would expect it would be easy enough to calibrate, using different depths of the medium, different types of medium (coir, perhaps), etc. An upside-down plastic pot saucer sitting under the tray would provide sufficient water-proofing for the pressure sensor, I'd expect.
I don't know whether the sensors are too expensive or what's the problem. This looks like the right idea, a dumb sensor that could be paired with a inexpensive hub plugged in somewhere talking to some server that distributed notifications and statistics to an app.
The cost for the electronic parts was negligible, but assembling the device required some work (mostly for the water pipes, which had to be cut and bent at the right sizes, and then they had to be fixed on some walls).
Water was brought through a pipe from the bathroom (from the water reservoir of the toilet, which was mounted at a greater height than the plants, so the water flowed naturally towards them; as an alternative one can add a manifold on an input pipe with cold water, to provide an extra branch for the water, in which case there should be enough pressure to reach greater heights), it passed through an electrovalve recovered from a washing machine, and it was distributed through some thin pipes to the plants.
The humidity sensor was printed on a PCB and the electronic part consisted of an operational amplifier, a transistor and a relay that actuated the electrovalve, to turn on and off the water going to the plants.
The operational amplifier (a model with high impedance inputs) was connected as a Schmitt trigger with the inputs to a resistor bridge that included the humidity sensor and there were 2 adjustable resistors used to modify the thresholds of the Schmitt trigger, for controlling the humidity levels at which the water was turned on and off.
The schematics was adapted from one published in some hobby electronics magazine, so I assume that a search through old collections of such magazines would find many examples.
I have used a single humidity sensor and a single electrovalve, common for all, because there was never a significant difference between the humidity levels at different plants.
When this is not true, a separate electrovalve can be inserted on each branch of the pipes, with a separate humidity sensor.
For the humidity sensor, it may be a good idea to reuse some old PCBs with edge connectors whose contacts are gold-plated, e.g. the PCBs of some old memory modules (after cutting the PCB part with the memory chips and soldering a wire across all contacts). Using the gold-plated contacts for soil contact avoids the oxidation problems that would appear in unprotected copper.
Except for the plumbing work, which may need some experience or using the services of a professional, such a completely automated watering system is actually much simpler and cheaper than a humidity sensor that sends notifications.
Needs to be paired with a device to plug it into: https://sonoff.tech/product/accessories/ms01/
My rough idea of how this would work would be a bunch of sensors that I then hook up to something like influxDB/grafana. If anyone has built such a system themselves I'd love to know how you did it.
Something makes me feel uneasy about using batteries to keep plants alive (probably unjust compared to solar production cost over only a few years of use.)
A while back I built a LoRa device and we got really good range, 10km at least without having to try too hard, the plan was to deploy 100's of these so it was complicated ensuring communications without collisions, and also this was for a controller not a sensor, which is much harder on the battery as the device needs to listen periodically for updates.
FWiW here in W.Australia 4,000 acres is a mean size for farms (with a skew distribution) .. roughly 4 km a side for a square boundary.
I can see these being useful for occassional monitoring around a central solar powered collector - with stakes and flags on the sensors tags so they can be picked up again and recovered as wheat grows.
These are the practical issues of modern grain farming (and many farms are much much larger - the mean is skewed by many small plot farms while the bulk of the industry revolves around a few hundred much much larger concerns).
The extra range or Lora means I didn't have to implement a mesh protocol. I wasn't looking forward to having to test a mesh network, point to point is much easier.
https://www.digikey.com/en/products/detail/seeed-technology-...
Can anyone confirm?
Here's a prototype: https://imgur.com/9yO28CY
What I don't see anyone talking about is the impact of dielectric moisture absorption[1], which is typically around 0.3-0.5% over 24 hours exposure for cheaper FR-4 on the market, let alone how this product intends to maintain sensor calibration over time.
I'd expect to see external corrosion impact at the solder joints first, especially around the battery terminals, but corrosion creep may happen alot sooner than that: vias in the b-parasite prototype are clearly tented[2], but that masking is superficial and won't protect against hygroscopic exposure from the inside; being open source certainly doesn't preclude hobbyists from making even worse material decisions either.
[1] https://www.ipc.org/sites/default/files/test_methods_docs/2....
[2] https://github.com/rbaron/b-parasite/blob/main/img/resized/i...
I think it's just that every smartphone, tablet, laptop, etc now has BLE integrated, so it's easy to make a widget like a soil moisture sensor and connect it to your phone. Also, the newer LE version of bluetooth is quite power efficient so it can run for a while on a CR2032 if you take care to put the MCU in sleep mode between measurements, and whatnot.
I've been playing with some arduino hardware that supports zigbee as well as BLE, and BLE is trivially easy to get working where the zigbee stack is much more complicated and much less documentation. So I would guess that plays a part too.
The only automation you need to keep a plant alive is a timer attached to a water source. Also, don't forget to feed it with nutrients every month or so... they don't eat soil and letting a plant starve isn't proof you needed a moisture sensor.