I’m not sure what exactly is needed but I can bang out arduino code. I have experience interfacing software and hardware, reading and processing sensor data and taking action.
One thing I can tell you that I’ve moved completely away from with my own tinkering is building out physical display devices. They’re too customized and add a huge layer of complexity. I now prefer to host a local website and build a web UI to interact with the backend (buttons, configuration) and display data.
I’m busy but if someone outlines requirements and/or provides detailed feature requests , in theory I can help
This documentation shows how to set up a web server directly on a esp8266 board. I’ve never done it that way, I’ve only used the esp8266 as a client but this is slick and would be fast to make changes to
the acclima sensor is wired into dr liu’s sdi-12 to usb/serial adapter, the serial/uart port on the sdi-12 adapter is then wired into the esp-32 board via a logic level convertor (dr lius board outputs its data at 5v and the esp-32 wants it in 3v) which then sends the sensor data to a rasp pi4 over wifi running home assistant.
i then used node red in home assistant to make a couple of flows for irrigation timing based on the sensor readings. home assistant then sends the data for valve timing back to the esp-32 which is wired to the relay board which actuates the valves.
i had to use three different power packs for the build because the esp-32, relay board, and dr liu’s adapter want 5v, the acclima sensor needs 12v, and the irrigation valves need 24vac. this could be tidied up with a dedicated bit of circuitry like growlink have, but that was above my current knowedge level.
this version relies on a rasp pi4 running home assistant to work ie programing, visualising data ect. but like @oilengine says could be all done on the esp-32 running a basic web server like sonoff, shelly ect do.
i think a standard esp-32 should have enough processing power and memory ect to pull this off.
I just joined the discord. I have used ESP-32 in a few devices and I’m not sure its going to have the processing power to build beautiful graphs, I also don’t think it’s going to have expandability. If we could develope a really cool open source system on the low. These things could be expanded rather large, and then relying on an ESP-32 alone will cause issues guaranteed. It’s not that I don’t think an ESP-32 COULD DO IT ALL. I just think having it reliably collect data points and send them off to a central server would be a better idea. I personally want a data point ever minute AT THE LEAST. Juat to database that data point, graph it and serve it is a lot. You figure 5 sensors with 7 data points(enviro) and 3 points(irrigation), and that’s a pretty small sensor setup.
The sensors as clients makes sense to me. I’d run an Apache server on the raspberry pi and build a web UI there. Plenty of ooomph with a raspberry pi 4
I would also totally blow past apache and go straight for nginx and fast-php. Even then I wouldn’t rely on an ESP-32. I have used ESP-32 as devices to generate keys for Bitcoin etc. And they aren’t very powerful.
Also when I’m monitoring my garden, I would prefer a peppy stat capture… I don’t want IO wait because the SOC is trying to build a graph with grafana.
No, I haven’t. I’ll look into it to see what it does. Generating graphs from stored data isn’t incredibly compute intensive
Nginx, Apache, whatever. I wasn’t suggesting crunching numbers on the esp32. I’d bet the raspberry pi 4can crunch sensor data, host a web UI, and run grafana
But there are plenty of more beefy project boards if you need one too and a lot easier to get nowadays… or you’re thinking more cloud server based?
I am a fan of endpoints. I could easily put together a Linux image as an end point, that could be self hosted(on a rpi or NAS), or put on amazon ec3. It’s also a bit more secure that way, and redundant.
Imo it’s a better structure in this situation, as the entire point of the project would be to be affordable, which would lead to more sensors, and more data.
If we were to dream big, a commercial operation running an affordable solution, like we are talking about, could be looking at multi millions of data points per hour. Especially if we start talking about per plant monitoring…
I would like a solution aswell, I know these companies are overcharging us. It would be nice to have a software that grew with you ( no pun inteneded) as you needed.
Would it make sense if we were to put some money into a pool and get a programmer from Upwork to bang away at the code?
@oilengine I got the THC-S and TTL/RS485 you recommended from Aliexpress. I managed to modify your code and get it working on a NodeMCUv3 using a battery and transmitting values over wifi.
I am getting good vwc and temp values but some negative pore EC values using it now, did you have any issues with this? Do you think I’ll need to recalibrate it? I appreciate your input. Thanks for your hard work on the code!
I had some negative pwEC issues early on, but they were miscalculations.
Can you give me some examples of measurement of your sensor (humidity, temp and EC) so I can check? Better, if you can open an issue in the github repo, that we can control the development of improvements there.
Thanks for your reply! I am using your exact calculation code in github (haven’t changed anything). Are there any changes required to your code’s calculations, any calibration required?
It would be helpful if you could post the equations you are using right now so that I can compare with the code and debug a bit as well.