« AirTregor » : différence entre les versions

De Kernel Fablab Lannion
Aucun résumé des modifications
 
(33 versions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
== Introduction ==
= Introduction =


Le Fablab de Lannion a investi dans quelques antennes LoRa ces dernières années.
Le Fablab de Lannion a investi dans quelques antennes LoRa ces dernières années.
Ligne 10 : Ligne 10 :
* la collecte des données et la réalisation d'une carte
* la collecte des données et la réalisation d'une carte


== L'objet connecté ==
= L'objet connecté =


Notre secrétaire préféré a déjà réalisé un objet similaire (ESP connecté en Wifi) en mesurant la qualité de l'aire au dessus de Plemeur Bodou.
Notre secrétaire préféré a déjà réalisé un objet similaire (ESP connecté en Wifi) en mesurant la qualité de l'air au dessus de Pleumeur-Bodou.
Son capteur est autonome avec une batterie et un panneau solaire.
Son capteur est autonome avec une batterie et un panneau solaire.


=== Shopping List ===
== Shopping List ==


* ESP: [https://wiki.fablab-lannion.org/index.php?title=WemosTTGO LiLYGO@TTGO LoRa32] ~ 15€. Attention à la consommation en veille de ce module. Si trop importante, la batterie ne suffira pas ! Je peux en tester un si besoin.
* ESP: [https://wiki.fablab-lannion.org/index.php?title=WemosTTGO LiLYGO@TTGO LoRa32] ~ 15€. Attention à la consommation en veille de ce module. Si trop importante, la batterie ne suffira pas ! Je peux en tester un si besoin.
* Capteur: SDS-011 ~ 15€
* [https://wiki.fablab-lannion.org/index.php?title=CapteurAir Capteur: SDS-011] ~ 15€
* Batterie capacité? 6000mAh ~ 10€. La capacité de la batterie fait la différence en cas de mauvais temps. En utilisant du WiFi (plus gourmand que LoRa) avec une batterie 10 000 mA, cela tient 1 semaine environ sans soleil. Avec LoRa, 6000mAh semblent OK.
* Batterie capacité? 6000mAh ~ 10€. La capacité de la batterie fait la différence en cas de mauvais temps. En utilisant du WiFi (plus gourmand que LoRa) avec une batterie 10 000 mA, cela tient 1 semaine environ sans soleil. Avec LoRa, 6000mAh semblent OK.
* Panneau Taille/Capacité : les panneaux solaires bas coût (j'ai essayé un premier prix ali express) ne donnent pas satisfaction. Pour obtenir une charge réelle même avec des conditions d'ensoleillement moyennes, j'ai opté pour un panneau 12V-10W. Un panneau 6V me semble un peu juste, il faut vraiment du plein soleil pour y arriver. Ce panneau m'a coûté 18€ chez Amazon.
* Panneau Taille/Capacité : les panneaux solaires bas coût (j'ai essayé un premier prix ali express) ne donnent pas satisfaction. Pour obtenir une charge réelle même avec des conditions d'ensoleillement moyennes, j'ai opté pour un panneau 12V-10W. Un panneau 6V me semble un peu juste, il faut vraiment du plein soleil pour y arriver. Ce panneau m'a coûté 18€ chez Amazon.
Ligne 24 : Ligne 24 :
Coût électronique 45€-50€
Coût électronique 45€-50€


=== Câblage ===
== Câblage ==
Il faut câble le 5V et la masse
Il faut câbler le 5V et la masse sur le TTGO


Rx port 12


=== La partie Arduino ===
Tx port 35
 
[[File:TTGODust.jpg|200px]]
 
== La partie Arduino ==


Le code pour l'ESP doit collecter les informations et les transmettre via le réseau LoRa.
Le code pour l'ESP doit collecter les informations et les transmettre via le réseau LoRa.
Ligne 34 : Ligne 39 :
On utilisera la librairie [https://github.com/ricki-z/SDS011 SDS011]
On utilisera la librairie [https://github.com/ricki-z/SDS011 SDS011]


== La carterisation ==
Bien vérifier que Arduino/libraries/MCCI_LoRaWAN_LMIC_library/project_config/lmic_project_config.h est sur la bande 868 :
 
<code>
// project-specific definitions
#define CFG_eu868 1
//#define CFG_us915 1
//#define CFG_au915 1
//#define CFG_as923 1
// #define LMIC_COUNTRY_CODE LMIC_COUNTRY_CODE_JP /* for as923-JP */
//#define CFG_kr920 1
//#define CFG_in866 1
#define CFG_sx1276_radio 1
//#define LMIC_USE_INTERRUPTS
</code>
 
le PB https://github.com/mcci-catena/arduino-lmic/issues/585 a été rencontré
 
=Énergie=
 
==Fonctionnement==
La consommation de l'ensemble est la somme des consommations de :
 
- [[WemosTTGO]] :  70mA
 
- [[CapteurAir]] :  70mA ±10mA
 
==Sommeil==
 
- [[WemosTTGO]] : quelqes mA
 
- [[CapteurAir]] :  4mA (Laser et ventilo en sleep)
 
= La carterisation =


L'objet doit résister à la pluie et au soleil.
L'objet doit résister à la pluie et au soleil.
Ligne 48 : Ligne 85 :




== Le réseau LoRa ==
= Le réseau LoRa =


Tangi a réalisé plusieurs objets connectés sur notre réseau LoRa TTN Lannion.
Tangi a réalisé plusieurs objets connectés sur notre réseau LoRa TTN Lannion.




== La cartographie ==
= La cartographie =
 
*[https://sensor.community/fr/ Sensor Community] ex Lufdaten :
''Sensor.Community est un réseau global de détecteurs mis en œuvre par des contributeurs bénévoles pour créer des données environnementales. Notre mission est d'inspirer et d'enrichir la vie de nos concitoyens en mettant à disposition une plateforme favoriant la curiosité pour la nature de manière authentique, joyeuse et positive.''


* Backend LuftDaten (médiation TTN / LuftDaten https://www.thethingsnetwork.org/forum/t/connection-from-ttn-node-to-luftdaten-api/33073/2)
* médiation TTN / LuftDaten https://www.thethingsnetwork.org/forum/t/connection-from-ttn-node-to-luftdaten-api/33073/2)
* thinkspeak (comme Thierry)
* thinkspeak (comme Thierry)
* Exemple de boite de visualisation : https://wikifab.org/wiki/Labo%C3%AEte_-_affichage_de_la_qualit%C3%A9_de_l%27air
*[https://opensensemap.org/ OpenSenseMap]
C'est une alternative qui propose une intégration directe à TTN :
https://github.com/sensebox/ttn-osem-integration
https://sensebox.github.io/books-v2/osem/ttn_integration.html


== Références ==
https://gist.github.com/felixerdy/04f8ee955a4f5828be97eb981e5b2d27
===Internes===
 
https://www.thethingsnetwork.org/community/rhein-sieg/post/senseboxhome-mit-lora-im-v3-stack-wir-haben-den-payload-decoder-fertig
 
=API=
==Émission==
Le format emis par TTNv3 peut être :
 
{"end_device_ids":
{"device_id":"air-tregor-3","application_ids":{"application_id":"air-tregor"},"dev_eui":"70B3D57ED0045F7E","join_eui":"0000000000000000","dev_addr":"260B3B8E"}
{"session_key_id":"AYCQilMb9Y4aEanQGG9LUA==","f_port":1,"f_cnt":4,"frm_payload":"CgB8DNAI",'''"decoded_payload":{"PM10":319.6,"PM25":225.6,"bytes":[10,0,124,12,208,8],"pax":10,"port":1,"wifi":10}''',","network_ids":{"net_id":"000013","tenant_id":"ttn","cluster_id":"eu1","cluster_address":"eu1.cloud.thethings.network"}}}
 
==Réception==
Example POST for SDS011:
header
 
Content-Type: application/json 
 
X-Pin: 1 
 
X-Sensor: TTN-12345678 
 
Data
 
{
  "software_version": "your_version",
  "sensordatavalues":[
    {"value_type":"P1","value":"66.04"},
    {"value_type":"P2","value":"53.32"}
  ]
}
 
= Références =
==Internes==
* http://forum.fablab-lannion.org/viewtopic.php?f=2&t=1018&p=5527#p5527
* http://forum.fablab-lannion.org/viewtopic.php?f=2&t=1018&p=5527#p5527
* https://gitlab.com/fablab-lannion/air-tregor
* https://www.youtube.com/watch?v=BTXxVsOBZ1Y
* https://www.youtube.com/watch?v=BTXxVsOBZ1Y
* [[Cartes_TTGO]]
* [[Cartes_TTGO]]
* Présentation au [https://summit4good.timebankpro.com/ Summit 4 Good] : [[:File:Fablab summit for good2.pdf]]
* [https://www.letelegramme.fr/cotes-darmor/begard/a-begard-un-premier-prix-de-l-innovation-numerique-pour-infothema-16-11-2020-12657371.php Article Télégramme]


===Réalisations===
==Réalisations==
====Ateliers====
===Ateliers===
* https://www.wiki.lesfabriquesduponant.net/index.php?title=Cat%C3%A9gorie:Penn_Avel
* http://lesfabriquesduponant.net/index.php?article121/atelier-capteurs-de-qualite-de-lair
* http://lesfabriquesduponant.net/index.php?article121/atelier-capteurs-de-qualite-de-lair
* http://www.wiki-rennes.fr/Les_capteurs_Ambassad%27Air
* http://www.wiki-rennes.fr/Les_capteurs_Ambassad%27Air
Ligne 71 : Ligne 155 :
* http://www.wiki-rennes.fr/Station_de_qualit%C3%A9_de_l%27air_LoRa
* http://www.wiki-rennes.fr/Station_de_qualit%C3%A9_de_l%27air_LoRa
* https://www.osons-a-stmalo.com/YADUSMOG/toWiki/index.html
* https://www.osons-a-stmalo.com/YADUSMOG/toWiki/index.html
* http://www.wiki-rennes.fr/Organiser_un_atelier_de_montage_de_capteur_Sensor_Community
* http://www.bretagne-creative.net/article18117.html
* http://www.labfab.fr/atelier-capteurs-environnementaux-en-distanciel/


====LoRa====
===LoRa===
* https://gerritniezen.com/designing-an-open-source-air-quality-monitor-and-building-a-community-sensor
* https://revspace.nl/LoraWanDustSensor
* https://revspace.nl/LoraWanDustSensor
* https://www.thethingsnetwork.org/forum/t/connection-from-ttn-node-to-luftdaten-api/33073/2
* https://www.thethingsnetwork.org/forum/t/connection-from-ttn-node-to-luftdaten-api/33073/2
* https://www.thethingsnetwork.org/forum/t/air-quality-sensor-for-pm2-5-and-pm10/2910/37
* https://www.thethingsnetwork.org/forum/t/air-quality-sensor-for-pm2-5-and-pm10/2910/37
* https://quo.vadis.stojkovic.ch/air-pollution-monitor/
* https://quo.vadis.stojkovic.ch/air-pollution-monitor/
* https://github.com/corbo/TTN_Enschede_SDS011_Node


* https://aqicn.org/sensor/sds011/fr/
* https://aqicn.org/sensor/sds011/fr/
Ligne 83 : Ligne 172 :


* https://dev.to/minkovsky/working-on-my-iot-air-quality-monitoring-setup-40a5
* https://dev.to/minkovsky/working-on-my-iot-air-quality-monitoring-setup-40a5
 
* https://deohs.washington.edu/hsm-blog/heat-fire-smoke-and-health-washingtons-ag-industry
* http://www.wiki-rennes.fr/Organiser_un_atelier_de_montage_de_capteur_Sensor_Community
* http://www.bretagne-creative.net/article18117.html


===code===
===code===
* https://github.com/tribp/Lora_TTN_AWS_Luftdaten
* https://github.com/tribp/Lora_TTN_AWS_Luftdaten
* https://github.com/bertrik/LoraLuftdatenForwarder
* https://github.com/dasdigidings/Paxcounter-SDS011-Lora-Umweltsensor
* https://devices.sensor.community/sensors
* https://docs.sensebox.de/sensebox-home/home-erweiterung-lora/
* https://opensensemap.org/
[[Category:LoRa]]
[[Category:Projet]]

Version actuelle datée du 1 novembre 2022 à 17:53

Introduction

Le Fablab de Lannion a investi dans quelques antennes LoRa ces dernières années. Pour le moment ce réseau est assez peu utilisé, d'où le souhait de créer un projet fédérateur pour valoriser ce réseau.

Le but serait de créer un réseau de capteurs autonomes mesurant la qualité de l'air et permettant de tracer une carte en temps réel sur le territoire.

Cela nécessite

  • la création d'objets connectés, autonomes en énergie, connectés au réseau LoRa
  • la collecte des données et la réalisation d'une carte

L'objet connecté

Notre secrétaire préféré a déjà réalisé un objet similaire (ESP connecté en Wifi) en mesurant la qualité de l'air au dessus de Pleumeur-Bodou. Son capteur est autonome avec une batterie et un panneau solaire.

Shopping List

  • ESP: LiLYGO@TTGO LoRa32 ~ 15€. Attention à la consommation en veille de ce module. Si trop importante, la batterie ne suffira pas ! Je peux en tester un si besoin.
  • Capteur: SDS-011 ~ 15€
  • Batterie capacité? 6000mAh ~ 10€. La capacité de la batterie fait la différence en cas de mauvais temps. En utilisant du WiFi (plus gourmand que LoRa) avec une batterie 10 000 mA, cela tient 1 semaine environ sans soleil. Avec LoRa, 6000mAh semblent OK.
  • Panneau Taille/Capacité : les panneaux solaires bas coût (j'ai essayé un premier prix ali express) ne donnent pas satisfaction. Pour obtenir une charge réelle même avec des conditions d'ensoleillement moyennes, j'ai opté pour un panneau 12V-10W. Un panneau 6V me semble un peu juste, il faut vraiment du plein soleil pour y arriver. Ce panneau m'a coûté 18€ chez Amazon.
  • Module convertisseur de tension. L'ESP fonctionne en 3V et la carte ne fournit pas de 5V quand alimenté par batterie. J'ai utilisé un bouclier WeMOS charge batterie pour environ 1€.

Coût électronique 45€-50€

Câblage

Il faut câbler le 5V et la masse sur le TTGO

Rx port 12

Tx port 35

TTGODust.jpg

La partie Arduino

Le code pour l'ESP doit collecter les informations et les transmettre via le réseau LoRa.

On utilisera la librairie SDS011

Bien vérifier que Arduino/libraries/MCCI_LoRaWAN_LMIC_library/project_config/lmic_project_config.h est sur la bande 868 :

// project-specific definitions
#define CFG_eu868 1
//#define CFG_us915 1
//#define CFG_au915 1
//#define CFG_as923 1
// #define LMIC_COUNTRY_CODE LMIC_COUNTRY_CODE_JP	/* for as923-JP */
//#define CFG_kr920 1
//#define CFG_in866 1
#define CFG_sx1276_radio 1
//#define LMIC_USE_INTERRUPTS

le PB https://github.com/mcci-catena/arduino-lmic/issues/585 a été rencontré

Énergie

Fonctionnement

La consommation de l'ensemble est la somme des consommations de :

- WemosTTGO : 70mA

- CapteurAir : 70mA ±10mA

Sommeil

- WemosTTGO : quelqes mA

- CapteurAir : 4mA (Laser et ventilo en sleep)

La carterisation

L'objet doit résister à la pluie et au soleil. Rennes a fait une boîte en bois, on pourrait peut être utiliser la thermoformeuse... J'ai utilisé une boite en PLA que j'ai mis dans un capot en plexiglas découpé laser. Je voulais utiliser la thermoplieuse, mais le fil chaud n'était plus dispo...

J'ai choisi une orientation du panneau à 60° qui doit donner le maximum de charge en hiver. C'est loin d'être le mieux sur l'année, mais la batterie ne tient pas 6 mois... La boîte doit évidemment être orientée plein SUD


Il doit être facilement installable en hauteur.

Exemple de boitier réalisé par ThierryCapteurExt1.JPG


Le réseau LoRa

Tangi a réalisé plusieurs objets connectés sur notre réseau LoRa TTN Lannion.


La cartographie

Sensor.Community est un réseau global de détecteurs mis en œuvre par des contributeurs bénévoles pour créer des données environnementales. Notre mission est d'inspirer et d'enrichir la vie de nos concitoyens en mettant à disposition une plateforme favoriant la curiosité pour la nature de manière authentique, joyeuse et positive.

C'est une alternative qui propose une intégration directe à TTN : 

https://github.com/sensebox/ttn-osem-integration

https://sensebox.github.io/books-v2/osem/ttn_integration.html

https://gist.github.com/felixerdy/04f8ee955a4f5828be97eb981e5b2d27

https://www.thethingsnetwork.org/community/rhein-sieg/post/senseboxhome-mit-lora-im-v3-stack-wir-haben-den-payload-decoder-fertig

API

Émission

Le format emis par TTNv3 peut être :

{"end_device_ids": {"device_id":"air-tregor-3","application_ids":{"application_id":"air-tregor"},"dev_eui":"70B3D57ED0045F7E","join_eui":"0000000000000000","dev_addr":"260B3B8E"} {"session_key_id":"AYCQilMb9Y4aEanQGG9LUA==","f_port":1,"f_cnt":4,"frm_payload":"CgB8DNAI","decoded_payload":{"PM10":319.6,"PM25":225.6,"bytes":[10,0,124,12,208,8],"pax":10,"port":1,"wifi":10},","network_ids":{"net_id":"000013","tenant_id":"ttn","cluster_id":"eu1","cluster_address":"eu1.cloud.thethings.network"}}}

Réception

Example POST for SDS011: header

Content-Type: application/json

X-Pin: 1

X-Sensor: TTN-12345678

Data

{

 "software_version": "your_version", 
 "sensordatavalues":[
   {"value_type":"P1","value":"66.04"},
   {"value_type":"P2","value":"53.32"}
 ]

}

Références

Internes

Réalisations

Ateliers

LoRa

code