Bonjour,
voilà un retour d'expérience de plusieurs années de mise au point de plusieurs pèse-ruche connectés (4 en tout). Ça fera l'objet d'un blog dans quelques temps.
Avant de se lancer dans l'aventure, il faut savoir où seront les ruches c'est-à-dire à quelle distance du dispositif de réception. Cette exigence conditionnera le choix du MCU retenu.
Trois dispositifs ont été étudiés :
- un ESP8266 exploitant le protocole WiFi pour une ruche située dans la maison, donc à faible distance de la box.
- un couple de NRF24L01+ avec antenne bâton (SMA) travaillant à 2.4GHz pour connecter des ruches situées à 50 mètres de la maison en zone encombrée
- un couple de ESP32-TTGO-LoRA exploitant le protocole LoRa pour la transmission de la ruche au domicile et le protocole WiFi pour rediriger vers la box et un serveur Raspberry 3 local.
Comme dans le cas précédent, les ruches sont situées à une cinquantaine de mètres de la maison.
I - Cas ESP8266
I - A Partie électronique et logicielle
Le dispositif est simple : un module ESP8266 alimenté directement par l'entrée USB. La source d'alimentation est le secteur. Le convertisseur analogique-digital est un classique HX711 fonctionnant sous 3.3v. Quasiment aucun problème (voir ci-dessous). Le dispositif fonctionne et est opérationnel depuis environ 3 ans.
A noter l'abandon du module RTC DS3231 dans la dernière version au profit d’une détection RTC internet au moyen de la bibliothèque "NTPClient.h".
Le programme est basique et certainement pas optimisé.
Il reste un problème non résolu, au bout de quelques jours, j'ai des données aberrantes dont le taux augmente au fil du temps. N'en ayant trouvé la cause (peut-être l'utilisation de la fonction String dans la gestion du transfert UDP et ThingSpeak), j'ai résolu le problème en coupant l'alimentation chaque nuit durant un quart d'heure. Dans ce cas, plus de problème même si la méthode est non satisfaisante.
J'ajoute que j'utilise la commande restart en présence de données aberrantes sans apparemment d'effet concluant.
Le sketch est fortement inspiré du travail de Hans Scharler (http://nothans.com).
I - B Partie transmission
Les données sont transmises par WiFi. La maison étant grande, un répéteur WiFI a dû être utilisé. Les données sont transmises via la box au cloud ThingSpeak et en parallèle à un raspberry 3 sur la carte duquel a été installé le gestionnaire de base influxdb et grafana. A noter que le serveur PI3 utilise la box et donc n'est pas autonome. Des essais concluants ont été effectués en convertissant le Raspberry en serveur autonome. Des soucis de difficulté de reconnexion à la box sous ubuntu m'ont fait choisir (pour l'instant) la solution précédente (serveur non autonome). Le PI est sur onduleur.
I - C Partie mécanique
Je suis parti d'un pèse-personne de type Teraillon équipé d'une seule jauge de contrainte. Les pressions sont réparties sur les 4 pieds au moyen de leviers de contrainte.
Il est en photo sur le forum. Il suffit de faire une recherche sous mon pseudo.
Parmi les remarques, le dispositif doit être complètement protégé des déjections des abeilles (nettoyage de la ruche et déjections proprement dites surtout au printemps). Le pèse-ruche est donc enfermé dans un sac plastique hermétique. Le HX711 est situé au centre du pèse-ruche au plus près de la jauge de contrainte.
Donc globalement très satisfait des modules ESP8266 qui font le job sans problème. Depuis l'installation du pèse-ruche, c'est un nouveau monde qui s'est ouvert sur le fonctionnement des ruches. Étant en agglo, il n'est pas question d'ouvrir toutes les semaines les ruches pour y jeter un œil. La connaissance du poids relevé dans mon cas tous les quart d'heure, est pleine d'information (sortie et rentrée des abeilles, essaimage, maladies et décès de masse, etc...) Le tout avec une précision de quelques dizaines de grammes.
La suite dans un autre post...