GreenMine est une solution de gestion de cultures et de jardinage basée sur un serveur web Apache et un réseau de contrôleurs Arduino et nano-ordinateurs RaspberryPi.
La solution est prévue pour être auto-hébergée : pas de noeud central, l'utilisateur reste propriétaire de ses données.
Ce projet est la réponse à un besoin personnel dans la gestion de mon jardin. Le besoin était le suivant : disposer d'un base de données de variétés et plantes et d'un inventaire de mes cultures afin de suivre leurs évolutions, de pouvoir planifier les actions d'entretient, récolter les informations de climats aux travers de sondes et de disposer d'un réseau d'arrosage automatisé.
La création d'une base de données des cultures apporte une dimension pédagogique dans le jardinage en disposant des fiches de connaissances sur les différentes variétés de plantes et leurs modes de cultures. De pouvoir sélectionner les plantes par critères d'exposition dans le but d'aménager son jardin.
L'inventaires des cultures et de leurs lieux permet de dresser une cartographie de son jardin et d'en suivre les aménagements.
Dossier de présentationLes fonctionnalités sont les suivantes :
La solution met en oeuvre un serveur web et une bases de données communiquant avec des Arduino et RaspberryPi pour les collecteurs et actionneurs. Le frontal web comprend une partie publique faisait office de journal de bord et un espace d'administration pour les utilisateurs. Ce dernier permet la saisie de l'ensemble des informations en base de données.
Une instance centrale [GreenMine Central] assure la centralisation des variétés de plantes, chaque instance peut ainsi nourrir sa base de données de variétés de plantes depuis la base centrale et contribuer à cette dernière.
Chaque instance de GreenMine peuvent s'appairer entre elles pour former des communautés.
Un client iOS / watchOS permet de disposer d'un interface d'administration pour les opérations courantes et suivre les principaux indicateurs.
Les instances et clients natifs communiquent entre eux via des API REST avec une authentification JWT. Les échanges d'informations entre les instances sont chiffrés [HTTPS].
Les technologies employées sont :
Hébergement :
Application native :
Sondes et actionneurs :