Table des matières:

AirCitizen - Surveillance de la qualité de l'air : 11 étapes (avec photos)
AirCitizen - Surveillance de la qualité de l'air : 11 étapes (avec photos)

Vidéo: AirCitizen - Surveillance de la qualité de l'air : 11 étapes (avec photos)

Vidéo: AirCitizen - Surveillance de la qualité de l'air : 11 étapes (avec photos)
Vidéo: 🚀 Apollo 11 - Toute l'Histoire - Documentaire 2024 2024, Novembre
Anonim
AirCitizen - Surveillance de la qualité de l'air
AirCitizen - Surveillance de la qualité de l'air

Salut à tous

Aujourd'hui, nous allons vous apprendre à reproduire notre projet: AirCitizen par l'équipe AirCitizen Polytech !

--

Venant du 'OpenAir / What's your air?' Projets, le projet AirCitizen vise à permettre aux citoyens d'évaluer activement la qualité de leur environnement immédiat et notamment de l'air qu'ils respirent, en leur proposant à partir de:

Construire

Réaliser dans les « Fablabs » (laboratoires de fabrication numérique) des stations portables de mesures environnementales intégrant divers capteurs à bas coût (ex: température, humidité, pression, gaz NOx, ozone ou particules PM10 et PM2.5).

Mesure

Réaliser des mesures in situ afin de mettre en évidence la variabilité spatio-temporelle des variables environnementales: d'une part, lors de campagnes itinérantes avec l'appui de géographes-climatologues et, d'autre part, en divers lieux qui présentent une diversité de contextes environnementaux.

Partager

Contribuer à l'amélioration des connaissances en partageant ces mesures dans une base de données environnementales et permettre ainsi une cartographie en ligne de la pollution de l'air.

--

Le concept est de créer une station autonome qui peut collecter des données d'environnement et les envoyer avec le réseau SigFox vers un tableau de bord.

Donc d'une part, nous allons vous montrer comment concevoir le matériel et d'autre part comment faire la partie logicielle.

Étape 1: Matériel

Matériel
Matériel
Matériel
Matériel

Voici les composants que nous avons décidé d'utiliser pour concevoir la station:

- STM32 NUCLEO-F303K8 -> Pour plus d'informations

- HPMA115S0-XXX (Capteur de particules PM2.5 & PM10) -> Pour plus d'informations

- SHT11 ou SHT10 ou STH15 ou DHT11 (Température & Humidité Relative) -> Pour plus d'informations

- MICS2714 (capteur NO2, capteur de dioxyde d'azote) -> Pour plus d'informations

- Panneau solaire x2 (2W) -> Pour plus d'informations

- Batterie LiPo 3, 7 V 1050 mAh -> Pour plus d'informations

- Régulateur LiPo Rider Pro (106990008) -> Pour plus d'informations

- BreakOut SigFox BRKWS01 + 1 licence -> Pour plus d'informations

- 7 résistances (86, 6; 820; 1K; 1K; 4, 7K; 10K; 20K)

- 1 condensateur (100nF)

- 1 transistor (2N222).

! ! ! Vous devez retirer SB16 et SB18 sur la carte nucleo stm32 pour éviter les interférences entre HPMA et SHT11 !

En gros, voici comment vous devez connecter les composants:

  1. Souder, en parallèle, les panneaux solaires.
  2. Connectez-les au LiPo Rider Pro et connectez également la batterie au LiPo Rider Pro.
  3. Comme sur la photo ci-dessus, connectez tous les éléments au STM32. Connectez un seul capteur de température et d'humidité et non 2 ! N'oubliez pas les résistances, le condensateur et le transistor.
  4. Enfin, connectez le STM32 au LiPo Rider Pro avec un câble USB.

La prochaine étape est une alternative à ce filaire.

Étape 2: Matériel - PCB

Matériel - PCB
Matériel - PCB

Nous avons décidé d'utiliser Autodesk Eagle pour concevoir la carte de circuit imprimé (PCB).

Vous pouvez choisir de connecter soit un DHT soit un SHT, nous avons choisi de concevoir deux empreintes digitales pour ces 2 capteurs afin de changer de capteur si besoin.

En pièce jointe, vous pouvez télécharger les fichiers de conception d'Eagle afin de pouvoir le réaliser facilement vous-même.

Nous utilisons la broche 5V de stm32 pour alimenter l'appareil. Dans cette configuration, seul le noyau stm32 est alimenté.

Ainsi, nous pouvons utiliser le mode veille profonde du MCU fournissant un faible courant de veille. En état de veille, tout le courant de veille tombe en dessous de XXµA.

Étape 3: Le protocole LPWAN: Communication Sigfox

Le protocole LPWAN: Communication Sigfox
Le protocole LPWAN: Communication Sigfox

Sigfox est un protocole LPWAN créé par une entreprise de télécommunications française - SIGFOX

Il permet aux appareils distants de se connecter à l'aide de la technologie à bande ultra-étroite (UNB). La plupart d'entre eux ne nécessiteront qu'une faible bande passante pour transférer de petites quantités de données. Les réseaux ne peuvent gérer qu'environ 12 octets par message et en même temps pas plus de 140 messages par appareil et par jour.

Pour de nombreuses applications IOT, les systèmes de téléphonie cellulaire traditionnels sont trop complexes pour permettre un fonctionnement à très faible consommation et trop coûteux pour être réalisables pour de nombreux petits nœuds à faible coût… Le réseau et la technologie SIGFOX sont destinés à la machine à faible coût. domaines d'application où une large couverture de zone est requise.

Pour AirCitizen, le format des données détectées est simple et la quantité de données correcte pour utiliser Sigfox pour traduire les données détectées des capteurs vers notre plateforme IOT - ThingSpeak.

Nous allons présenter l'utilisation de Sigfox dans les étapes suivantes.

Étape 4: Configuration du logiciel

Configuration du logiciel
Configuration du logiciel
Configuration du logiciel
Configuration du logiciel

Suite à la réalisation de notre circuit, passons au développement de notre microcontrôleur STM32 F303K8.

Pour plus de simplicité, vous pouvez choisir de programmer en Arduino.

Étape 1: Si vous n'avez pas encore installé l'IDE Arduino, téléchargez-le et installez-le à partir de ce lien. Assurez-vous de sélectionner votre système d'exploitation correct.

Le lien: Télécharger Arduino

Étape 2: Après avoir installé l'IDE Arduino, ouvrez et téléchargez les packages requis pour la carte STM32. Cela peut être fait en sélectionnant Fichier -> Préférences.

Étape 3: Cliquer sur Préférences ouvrira la boîte de dialogue ci-dessous. Dans la zone de texte URL de Boards Manager supplémentaire, collez le lien ci-dessous:

github.com/stm32duino/BoardManagerFiles/ra…

et appuyez sur OK.

Étape 4: Allez maintenant dans Outil -> Cartes -> Gestionnaire de cartes. Cela ouvrira la boîte de dialogue du gestionnaire de cartes, recherchera « STM32 Cores » et installera le package qui apparaît (package STMicroelectronics).

Étape 5: Après le package, l'installation est terminée. Allez dans Outils et faites défiler vers le bas pour trouver la "Série Nucleo-32". Ensuite, assurez-vous que la variante est "Nucleo F303K8" et changez la méthode de téléchargement en "STLink".

Étape 6: Maintenant, connectez votre carte à l'ordinateur et vérifiez à quel port COM la carte est connectée à l'aide du gestionnaire de périphériques. Ensuite, sélectionnez le même numéro de port dans Outils->Port.

Vous êtes maintenant prêt à programmer votre STM32 F303K8 avec Arduino !

Étape 5: programmez votre STM32

Une fois la configuration effectuée, vous devez programmer votre micro contrôleur pour collecter et envoyer des données.

Etape 1: Vérifiez l'affectation des E/S et de l'horodatage des mesures dans la partie "Définir" du code.

Étape 2: téléchargez le code ci-dessus sur le stm32, ouvrez le moniteur série et réinitialisez l'appareil. La commande "AT" doit apparaître à l'écran, sinon, vérifiez la déclaration des E/S.

Vous pouvez avoir une idée de la véracité de vos données en consultant les normes de la législation française en pièce jointe.

Passons à la configuration du tableau de bord.

Étape 6: ThingSpeak - 1

ThingSpeak - 1
ThingSpeak - 1
ThingSpeak - 1
ThingSpeak - 1

Avant de configurer comment rediriger les données de notre station vers la plateforme ThingSpeak, vous devez créer un compte ThingSpeak.

Inscription: Site Web ThingSpeak

Étape 1: Cliquez maintenant sur "Nouvelle chaîne". Cela ouvrira un formulaire. Entrez un nom et une description (si nécessaire).

Créer 5 champs:

  • Champ 1: pm2, 5
  • Champ 2: pm10
  • Champ 3: température
  • Champ 4: humidité
  • Champ 5: NO2

Ces titres ne seront pas les titres de nos charts.

Si vous avez besoin d'un exemple, voir la photo ci-dessus.

Vous n'avez pas besoin de remplir plus de champs mais il peut être intéressant de saisir un lieu.

Faites défiler vers le bas et "Enregistrer la chaîne".

Étape 2: Canal de la station AirCitizen.

Maintenant, vous pouvez voir une page avec 5 graphiques. En cliquant sur le symbole du crayon, vous pouvez modifier les propriétés d'un graphique.

Le résultat est la deuxième image ci-dessus.

À cette étape, ces graphiques sont privés. Vous pourrez les rendre publiques une fois les données reçues.

Etape 3: Après la configuration de vos graphes. Allez dans l'onglet "Clés API". Regardez la partie requête API et plus précisément le premier champ, "Mettre à jour un flux de chaîne". Notez la clé API.

Vous aurez quelque chose comme ça:

OBTENIR

Vous pouvez maintenant passer au chapitre suivant.

Étape 7: Communication entre le module Sigfox et la plateforme ThingSpeak

Communication entre le module Sigfox et la plateforme ThingSpeak
Communication entre le module Sigfox et la plateforme ThingSpeak
Communication entre le module Sigfox et la plate-forme ThingSpeak
Communication entre le module Sigfox et la plate-forme ThingSpeak

Pour information, notez que chaque carte module Sigfox possède un numéro unique inscrit sur la carte et un numéro PAC.

Pour recevoir les données sur ThingSpeak, vous devez les rediriger.

Les données vont de la station au backend Sigfox et seront redirigées vers le serveur ThingSpeak.

Voir la première photo ci-dessus pour les explications.

Étape 1: Nous n'expliquerons pas comment s'inscrire sur Sigfox à cause de nombreux tutoriels sur internet.

Allez sur le backend Sigfox.

Cliquez sur "Type d'appareil", puis cliquez sur la ligne de votre kit et sélectionnez "Modifier".

Maintenant, allez dans la section "Rappels" et cliquez sur "Nouveau", "Rappel personnalisé".

Étape 2:

Vous devriez être sur la page de configuration:

Type: DATA et UPLINK

Chaîne: URL

Envoyer duplicata: aucun

Configuration de charge utile personnalisée: définissez la source de données et décidez du formulaire de données. Vous devriez écrire comme:

VarName::Type:NumberOfBits

Dans ce cas, nous avons 5 valeurs nommées pm25, pm10, température, humidité et NO2.

pm25::int:16 pm10::int:16 température::int:8 humidité::uint:8 NO2::uint:8

Modèle d'url: C'est la syntaxe. Utilisez la clé API précédemment trouvée et insérez-la après "api_key ="

api.thingspeak.com/update?api_key=XXXXXXXXXXXXXXXXXX&field1={customData#pm25}&field2={customData#pm10}&field3={customData#temperature}&field4={customData#humidity}&field5={customData#NO2}

Utiliser la méthode HTTP: GET

Envoyer SNI: ON

En-têtes: Aucun

Cliquez maintenant sur "Ok".

Votre rappel à l'API ThingSpeak est maintenant configuré ! (Représentation à la deuxième photo ci-dessus).

Étape 8: ThingSpeak - 2

ThingSpeak - 2
ThingSpeak - 2

Maintenant, vous pouvez être plus pointilleux dans la modification des valeurs minimales et maximales des axes.

Si nécessaire, cliquez sur le logo crayon en haut à droite d'un graphique.

Les valeurs typiques:

PM 2, 5 & PM 10 = ug/m^3

Température = °C

Humidité = %

Dioxyde d'azote = ppm

Vous devriez avoir quelque chose comme les deux images ci-dessus.

Vous pouvez également ajouter d'autres widgets comme "Affichage numérique" ou "Jauge".

Enfin, pour rendre votre chaîne publique, allez dans l'onglet "Partage" et sélectionnez "Partager la vue de la chaîne avec tout le monde".

Étape 9: Bonus - ThingTweet et React

Bonus - ThingTweet et React
Bonus - ThingTweet et React
Bonus - ThingTweet et React
Bonus - ThingTweet et React
Bonus - ThingTweet et React
Bonus - ThingTweet et React

Facultatif: Tweetez si une condition est remplie !

Étape 1: Créez un compte Twitter ou utilisez votre compte Twitter personnel.

Inscrivez-vous - Twitter

Étape 2: Dans Thingspeak, allez dans « Apps » puis cliquez sur « ThingTweet ».

Liez votre compte Twitter en cliquant sur "Lier un compte Twitter".

Étape 3: Maintenant, retournez dans « Apps » puis cliquez sur « Réagir ».

Créez un nouveau React en cliquant sur "Nouveau React".

Par exemple:

Nom de la réaction: Température supérieure à 15 °C

Type de condition: numérique

Fréquence de test: sur l'insertion de données

Condition, si canal:

Champ: 3 (température)

Signe: est supérieur à

Valeur: 15

Action: ThingTweet

Puis tweet: Oh ! La température est supérieure à 15 °C

en utilisant le compte Twitter:

Options: Exécuter une action chaque fois que la condition est remplie

Cliquez ensuite sur "Enregistrer Réagir".

Vous allez maintenant tweeter si la condition est remplie et de nombreuses autres conditions peuvent être configurées comme en fonction du niveau de PM10.

Étape 10: C'est votre tour maintenant

Enfin, vous disposez désormais de tous les éléments pour reproduire votre propre AirCitizen Station !

Vidéo: Vous pouvez regarder une vidéo où nous présentons notre travail.

Notre plateforme ThingSpeak: AirCitizenPolytech Station

--

Merci pour votre attention !

L'équipe AirCitizen Polytech

Étape 11: Référence et bibliographie

https://www.sigfox.com/fr

Conseillé: