The FarmOS app is quite impressive and I’m interested in seeing whether I can make IoT systems I’ve built work with FarmOS.
I’ve spent years building a suite of IoT gardening/farming tools that currently include soil moisture monitoring, light monitoring, temperature/humidity monitoring, automated irrigation, automated ventilation, and automated lighting devices. More devices will be added over time.
The devices work and are about 99% solid.
They include fairly comprehensive amount of automated testing (and more automated testing gets added as needed), including using Jenkins CI to automatically upload code to microcontrollers, and use a second microcontroller to simulate sensor signals and check the devices behave correctly, to ensure they’re reliable.
This automated testing can test the devices work properly in less than half an hour (depending on the device, as different devices have different numbers of tests), rather than having to wait days or weeks for soil to dry and manually check that pumps (for example) turn on/off as expected.
I also have automated deployments set up which install the system to multiple live systems after every code change/update to ensure updates don’t break anything.
I’m currently polishing the system up fixing any remaining small issues but they’re ready for early adopters to use/test and will hopefully soon be rolled out as a commercial product, once early adopters confirm they are reliable, and once things like documentation (which is currently rather disorganised at the moment) is completed.
I have multiple small systems currently running and growing food on a small scale. And soon I’ll be scaling up to deploy these in larger gardens. I’ll also be deploying a solar system (most of the solar equipment has already arrived) soon to prove the systems can be run offline/off-grid.
The system is distributable so there is virtually no limit to the number of devices that can be deployed in a single system. The load can be spread over multiple single-board-computers, and the system allows these SBCs to be linked together to create a single distributed system.
All devices are plug and play. Just plug any combination of devices into a garden host computer via USB and they will be automatically added and configured, showing up on the UIs so they can be monitored and controlled from anywhere in the world.
The WiFi/ESP versions can be then unplugged and deployed, and still remain part of the system, connected via WiFi instead of via USB. The arduino versions remained plugged in via USB. But they can all be mixed and matched in a single system depending on the needs of the user.
I’m curious about the idea of integrating monitoring and control of these systems into FarmOS and using it as a website based UI for the system.
The system has both an embedded system UI and a mobile UI (using an existing MQTT based app) but what it is currently missing is a website based UI. That’s where FarmOS could come in.
A custom website based UI has just started being developed, but if FarmOS can do everything I want then maybe that won’t be necessary. Or at least it would be good to give end users the option to use either UI or both.
The systems I’ve built are completely open source so it seems like it would be a great opportunity to collaborate and use FarmOS as either the official web UI or at least as one of the UIs end users can choose from.
Currently the project group goes by the name of GreenSense but because that name is currently in use by an Australian company we are investigating a number of other names, so we can rename the project group.
The source code can be viewed here:
The index includes device code as submodules, and includes everything needed to make them all work together as a single system.
This doc shows some of the small test/demo systems I’ve built:
Since those photos were taken the systems have been updated, improved and planted out with edibles (some of which have already been harvested and eaten). I need to update that doc with more up to date photos but it provides an idea of what the systems entail.
While I am at the moment the sole developer of the project I am collaborating with Sensorica and have a number of people getting involved in various aspects of the project, and a number of people wanting to buy systems.
A green wall is currently being built at the Sensorica lab which will soon have GreenSense systems embedded into it to control irrigation, etc. It will be used partly for testing and partly for publicity.
Who would I talk to about collaborating and bringing these projects, GreenSense and FarmOS, together?
Is anyone interested in discussing the possibility of collaborating?
While I could simply attempt to go through the FarmOS documentation and attempt to work with the API, it would be beneficial to start a discussion with the FarmOS team, to discuss the best ways to go about things.
Most discussions on the project take place in the firstname.lastname@example.org and email@example.com Google Groups, so if you’re interested in getting involved in those discussions feel free to sign up.
Note: “ecg” stands for the previous name for the project which was eCommunityGarden.
I look forward to discussing the possibility of collaborating.