Boitier
- Il doit être étanche, résistant car il restera à l'extérieur plusieurs années.
- Il doit donc être de catégorie IP64 au moins. Nous avons choisi IP65 pour une meilleure fiabilité à long terme.
- Ce boîtier contiendra :
- L'alimentation électrique (batterie lithium + carte économiseur)
- Arduino + carte Lora
- Antenne
- Nous avons donc choisi un boîtier "Raccordement Fibre Optique" qui permet d'ajouter facilement des entrées-sorties -> abandon, on ne veut plus de fils/cables autour de la ruche, pour des raisons de sécurité et de fiabilité.
Alimentation solution Arduino
- Batterie de 4 éléments de 2800mAh
- La carte économiseur (basée sur 3 relais basse consommation Reed et un Ampli-Op LM324) permet de diviser la consommation par 100 :
- 1 mA en consommation moyenne > 6 mois d'autonomie prévue
- 0.6mA au repos
- 120mA en émission (qq secondes toutes les 10 min)
Cependant, l'autonomie obtenue est insuffisante et la carte économiseur revient cher (>20€).
Alimentation solution Lopy
Solution retenue : 3 Batteries de 3000mAh
La carte Lopy4 (pas toutes les versions, malheureusement!) dispose d'une mise en veille profonde : elle coupe l'alimentation du processeur principal, et la consommation chute à une valeur très faible, entre 20 µA et 200µA. Cette consommation varie à la hausse si on utilise la carte Expansion Board pour connecter le Lopy4.
On essaiera de s'affranchir de cette carte, à cause de son prix (~20€), de sa conso (due entre autre autres au pont diviseur pour mesurer la tension batterie) et des limitations du chargeur de batterie (500 mA max).
On la remplace par un circuit de charge, un pont diviseur de haute impédance et on soude directement le Lopy sur le circuit imprimé.
Pour se maintenir en veille, les HX711 ont besoin d'être polarisés en tension sur la broche SCK, il faut monter des résistances de pull-up d'environ 1 MOhm entre SCK et +3.3V. Sinon, chaque HX711 pourrait rajouter 8 mA à la consommation de veille.
- 10 000 heures(~une année) au repos représentent donc, pour 100µA -> 1000 mAh
- Lorsque Lopy4 se réveille, il doit recompiler son code : ça prend entre 2,5 s (70 lignes) et 3.5 s (250 lignes) selon la complexité du programme et l'appel aux différentes bibliothèques. Puis il effectue la mesure de poids et envoie le paquet LoRa.
La durée de transmission LoRa est minimisée en configuration RAW : on transmet le paquet en clair vers un récepteur calé sur la même fréquence. Le type de trame est le suivant : "labeld4212dbzz3d284d452d406d233d", soit 32 à 40 octets, label permet d'identifier que c'est notre trame, d est le délimiteur avec le champ suivant qui est la tension batterie, bzz3 est le nom de la ruche tel qu'on l'a défini sur TTN par exemple, puis les quatre poids en grammes. La somme des 4 donne le poids total et sa position en 2D.
On peut transmettre en APB vers une GateWay de TTN par exemple. On envoie d'abord plusieurs champs que TTN aura calculé au préalable : un champ de 8 octets pour l'identité d'émetteur, un champ de 32 octets pour l'application et un champ de 32 octets pour l'identité du réseau. Et puis, on envoie notre trame sans le champ label, qui est remplacé par les champs TTN. On devine que ce deuxième mode APB sera un peu plus lent et plus gourmand en énergie et bande passante(70 octets de plus) et pas forcément compatible avec les critères LoRa.
Le mode OTAA n'a pas été considéré, il nécessite régulièrement un échange bidirectionnel avec la GateWay de TTN pour maintenir notre émetteur sur le réseau TTN, entraînant une surconsommation d'énergie.
Le courant absorbé varie durant le cycle entre 40 mA (compilation), 140 mA (mesure) et 200 mA (envoi paquet LoRa), avec une moyenne à 120 mA pour un cycle de 14s. Pour 5 s, l'intensité moyenne devrait être plus basse (à vérifier), puisque le % du à la compilation est plus grand.
File:integration_intensite_lopy_pour_un_cycle.jpg
Si on veut faire 50 000 mesures, elles vont durer 50 000 *(3.5s + 1.5s) / 3600 = 70 heures, soit 8300 mAh avec une consommation de 120 mA.
- il faudra donc (1000 + 8300) = ~9000mAh, soit 3 batteries de 3000 mAh.
On ne tient pas compte de l'auto-décharge, qui est faible avec les batteries Lithium.
Arduino Lora
- Le module HX711 émet un signal numérique sur 5V
- Il est connecté sur les broches 0-1 de l’Arduino
- On peut mettre 4 HX711 sur l’Arduino en l'état actuel, à voir si on peut multiplexer les capteurs sur 2 broches. Pas utile en fait, il y a assez de broches sur Arduino ou Lopy.
- Le module LoRa utilise les pin 10-11-12-13
Actuellement il y a 3 pistes:
- LoRa + Arduino : abandon, prix shield >> et conso >>
- LoRa + Lopy : retenue
- LoRa + ESP32 : à creuser, retenue pour Projet Macareux qui est très similaire
Lora + Arduino
LoRa mDot
Piste abandonnée : MTDOT-868-X1P-SMA-1 - http://www.multitech.com/models/94557138LF
Conformité à LoRa
La norme LoRa impose deux critères : temps d'occupation global de l'espace aérien (airtime de 30 secondes par jour pour TTN) et temps d'occupation d'une sous-bande de 1%. Voir par exemple : https://forum.thethingsnetwork.org/t/limitations-data-rate-packet-size-30-seconds-day-fair-access-policy-nodes-per-gateway/1300
Trame LoRa : il y a 13 octets pour l'encapsulation WAN (qui peut monter à 23 o en cas de join request,
voire jusqu'à 28 o ), mais il ne faut pas oublier les 10,25 temps symboles du préambule de la couche physique (en SF8 ça fait 10 o), avec en plus 5 o optionnels pour header et CRC, soit minimum de 23 octets pouvant aller à 43 o.
cf : https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5038744/
Avec le calculateur joint File:LoRa(WAN) airtime calculator.ods , en SF8, on trouve que la ruche peut émettre 323 mesures de 2 octets par jour, 224 mesures de 20 o et 182 à 30 octets, compatible avec un cycle de 10 minutes (24*6=144).
Les durées d'émission, en SF8, iraient de 92 ms à 164 ms pour une payload (charge utile) de 2 à 30 o.
En bref, jusqu'à 30 octets, on peut presque négliger l'importance de la payload....
Web
Porteur: David
Principe
- L'utilisateur ajoute une ruche > un module > N capteurs
- L'utilisateur configure chaque capteur si besoin (tare, échelle)
- L'utilisateur configure le seuil de déclenchement des alertes
- Le site web recoit les données brutes des capteurs via la passerelle et les transforme en données utile si besoin
- Le site web graph les données
- Le site web alerte l'utilisateur si un seuil est franchi.
Taches
Fait:
- base Web2Py
- Site de base avec authentification
- Modèle de données
- API Rest
TODO:
- Restreindre l'accès à une partie de l'API -> NOK
- Ajouter la fonction de déclaration de la tare -> se fait dans le fichier config.py associé à chaque Lopy
- Ajouter la fonction de transformation de donnée brute en donnée normée -> NOK. Est ce utile? Les données sont envoyées en grammes.
- Grapher les données des capteurs -> OK en local (cf fichier joint), NOK sur TTN + ATTM
- Ajouter les fonctions web d'ajout/suppression/modification de ruches/capteurs/modules -> NOK
lien :
http://letmeknow.fr/blog/2015/10/27/tutomodulelora/
Liste du matériel-Coût
L'ensemble des composants doit fonctionner entre -30° C et +70°
Configuration Point à point
voir le fichier pour les composants
File:composants_balance_ruche_bzzz.odt
et un devis estimatif sur:
File:septembre_2019__ruche.ods
- Récepteur Arduino/Lora : 50€ qui peut servir pour x émetteurs à portée (c'est un Lopy connecté à un PC ou configuré en GateWay)
- Pas de coûts d'utilisation des réseaux Lora
Total : environ 90 € TTC pour un chassis autonome
Liens Web
Logiciels pour Lopy et Arduino : https://github.com/bernardarzur/bzzz
Arduino : choisir tx_rx_v_3_simplifiée.ino
Lopy: choisir boot.py (RX comme récepteur point à point)ou boot_sans_wifi.py (TX comme émetteur) selon que l'on est en mode local ou distant, main.py (correspond à version_v_18), config.py (correspond à version_v_18) et HX711.py
Présentation du projet Bzz en juin 2019 File:bzz_2019.odp
Présentation du projet Bzz en 2018 File:BZZZ_2.pptx
Balance connectées pour ruches : http://itsap.asso.fr/outils/balances-automatiques/
http://makerspace56.org/wiki/asso-wiki/projets/la-ruche-connectee/capteurs-et-composants/
Communication autour du projet
La présentation de l'idée de départ:Fichier:Projet Bzzz.pdf
Bzz au carrefour des possibles
Une petite vidéo de présentation du projet Bzzz au carrefour des possibles
Video Vimeo
Les 10 projets Juin 2013
Le télégramme de novembre 2013
Explication du dispositif au Télégramme en novembre 2013 disponible en vidéo
Liens utiles
site de test (login test mdp <rien> )
Code
code serveur
[2]
Photos