<< Go to homepage
Idea behind the project
is to apply new features to Supla project, valuable for gardeners, especially those who use greenhouses. In the future, I hope to develop it to a standalone project, and create an social-media application with hints how to cultivate in ecological, sustainable way, create local seeds markets, and help local gardeners and small farmers.
Features it should have:
- maximal and minimal temperature and humidity, as well as its amplitudes and mean values,
- PlantCV integration for creating development plans for each plant,
- automatization for keeping optimal growing parameters, based on Ellenberg’s Indicator Values (which is pretty interesting, because these indicator may give us some information about the soil),
- information about alleopathy.
Frontend
is my biggest issue, as I am not a big fan of JavaScript, due to Javascript Trap, but in this project, I am somewhat forced to use it because static site in that case will be awful and lack in functionalities. On the other hand, many people block the JS as I do most the time - I would like to make my app for them as well. My friend wilmhit shared the html over the wire idea. In this case any JS will be necessary, and it seems to be nice to me, but I am afraid of performance - using JS transfer this issue to a client. Additionally I am not sure how it is going to be with one of our most important functionalities - graph showing temperature and humidity curve. I am pretty sure that it is not possible to make it reactive without JS.
The solution for me right now seems to be: Free our JS code
That leads me to make even harder choice - which framework should be used. I am pretty new to Javascript, but Svelte, showed to me by my lecturer, seems to be the best option, as it is the most loved web framework, so I could just trust my lecturer and the majority. Moreover, as it is most loved framework right now, I find it as a big adventage - I hope someone would love my idea, as I do, and help me to work on this.
Accidently, doing another work, I have found this article which seems to be ideal way for now, but there is also an mplh5canvas 0.7 package, which seems to be working with mplcursors package, so we could have responsive data points while hovering the mouse over the certain day/hour.
UPDATE: For now we are using Svelte framework, as it seems to be easy and modular.
PlantCV
is a library I want to use to automatically phenotype the plants. If we could use our mobile as a “server”, it is equipped with camera, which obviously makes it easy to take photos, and this feature make integration with PlantCV possible. Of course this task is super hard (additionally most integrations are with RPi, so it gonna be even harder), but I am looking forward to implement it. The main problem about it: its turbo slow, and we also need to implement queue, and containers, but we are working on it.
Old Android mobile
could be used to host FTP/WebDAV server on old android mobile, with wifi hotspot on it. Access to files could be by webDAV or more likely FTP, and the server would run on Termux and controlled by SSH. Spreading WiFi signal should allow us to connect with the phone by it, so we could access its network, and so - have access by SSH.
I’ve tried to do that, but it seems pretty hard, as Termux usually have problem with WiFi network. I have failed to do so, we are trying with ESP32-CAMs right now.
Controlling the hardware
should be done by OTG - in this tutorial Daniel used Johny-Five JS framework, but as I am a big Python fan I would like to use Flask as its backend, but the idea behind a connection between Arduino and the phone is the same: transfer commends by PyFirmata, and send them by Flask server hosted on the mobile.
For now we are using Supla, with ESP32-C3 for PlantCV
Ellenberg’s indicator
I’d like to use online API, but I was not able to find it, unfortunatly only database I have found is british Ellenberg’s indicator database. On the end I’d like to have a “soil” tab which would contain place to add neighbour plants (using Pl@ntNet or sth similar), and after adding it our system would search for the Ellenberg’s values. Later on using these values we could approximate best plants to grow in that area.
In Polish geobotanic (thats my motherland <3), it is possible to use Zarzycki’s indicators. I have found an website, which may be useful in this feature - atlas roslin, but unfortunatly it is necessary to pay for it.
Also there is a book
Social website
We are thinking about ActivityPub to ensure social-media features. It could be nice to take part in the Fediverse.
Table
To reach minimal, maximal, average etc. values from each days with sorting etc. we could use svelte-table
Features it could have:
- registering phone’s accelerometer values, so it gonna let us find the moon’s impact.
calendar
We used to have full-calendar ported to svelte, but it lost its maintainer. We are still thingking what to do about it.
charts
For now we are using ApexCharts
Links
I have already started this project on GitLab with my friend wilmhit. It should be available under this link. We are also working on HydroPony, and our own hardware. Check our other repos!