Cuprins:
- Pasul 1: Hardware
- Pasul 2: Hardware - PCB
- Pasul 3: Protocolul LPWAN: comunicare Sigfox
- Pasul 4: Configurarea software-ului
- Pasul 5: Programați-vă STM32
- Pasul 6: ThingSpeak - 1
- Pasul 7: Comunicare între modulul Sigfox și platforma ThingSpeak
- Pasul 8: ThingSpeak - 2
- Pasul 9: Bonus - ThingTweet și React
- Pasul 10: Este rândul tău acum
- Pasul 11: Referință și bibliografie
Video: AirCitizen - Monitorizarea calității aerului: 11 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Buna tuturor
Astăzi, vă vom învăța cum să reproduceți proiectul nostru: AirCitizen de către echipa AirCitizenPolytech!
--
Venind din „OpenAir / Care este aerul tău?” Proiecte, proiectul AirCitizen își propune să permită cetățenilor să evalueze în mod activ calitatea mediului lor imediat și în special aerul pe care îl respiră, oferindu-le din:
Construi
Realizați în „Fablabs” (laboratoare digitale de fabricație) stații portabile de măsurători de mediu care integrează diferiți senzori cu costuri reduse (de exemplu, temperatură, umiditate, presiune, gaz NOx, ozon sau particule PM10 și PM2.5).
Măsura
Efectuați măsurători in situ pentru a evidenția variabilitatea spațio-temporală a variabilelor de mediu: pe de o parte, în timpul campaniilor itinerante cu sprijinul geografilor-climatologi și, pe de altă parte, în diferite locuri care prezintă o diversitate de contexte de mediu.
Acțiune
Contribuiți la îmbunătățirea cunoștințelor prin partajarea acestor măsurători într-o bază de date de mediu și astfel permiteți cartografierea online a poluării aerului.
--
Conceptul este de a crea o stație autonomă care poate colecta date de mediu și le poate trimite cu rețeaua SigFox într-un tablou de bord.
Deci, pe de o parte, vă vom arăta cum să proiectați hardware-ul și, pe de altă parte, cum să faceți partea software.
Pasul 1: Hardware
Iată componentele pe care am decis să le folosim pentru proiectarea stației:
- STM32 NUCLEO-F303K8 -> Pentru mai multe informații
- HPMA115S0-XXX (senzor de particule PM2.5 și PM10) -> Pentru mai multe informații
- SHT11 sau SHT10 sau STH15 sau DHT11 (temperatură și umiditate relativă) -> Pentru mai multe informații
- MICS2714 (senzor NO2, senzor dioxid de azot) -> Pentru mai multe informații
- Panou solar x2 (2W) -> Pentru mai multe informații
- Baterie LiPo 3, 7 V 1050 mAh -> Pentru mai multe informații
- Regulator LiPo Rider Pro (106990008) -> Pentru mai multe informații
- Licență BreakOut SigFox BRKWS01 + 1 -> Pentru mai multe informații
- 7 rezistențe (86, 6; 820; 1K; 1K; 4, 7K; 10K; 20K)
- 1 condensator (100nF)
- 1 tranzistor (2N222).
! ! ! Trebuie să eliminați SB16 și SB18 pe placa nucleo stm32 pentru a preveni interferențele dintre HPMA și SHT11!
Practic, acesta este modul în care trebuie să conectați componentele:
- Sudează, în paralel, panourile solare.
- Conectați-le la LiPo Rider Pro și conectați, de asemenea, bateria la LiPo Rider Pro.
- Ca și fotografia de mai sus, conectați toate elementele la STM32. Conectați un singur senzor de temperatură și umiditate, nu 2! Nu uitați de rezistențe, condensator și tranzistor.
- În cele din urmă, conectați STM32 la LiPo Rider Pro cu un cablu USB.
Următorul pas este o alternativă la acest cablat.
Pasul 2: Hardware - PCB
Am decis să folosim Autodesk Eagle pentru a proiecta placa cu circuite imprimate (PCB).
Puteți alege să conectați fie un DHT, fie un SHT, am ales să proiectăm două amprente digitale pentru acești 2 senzori pentru a schimba senzorul, dacă este necesar.
În atașament, puteți descărca fișierele de concepție Eagle, astfel încât să le puteți realiza cu ușurință pe cont propriu.
Folosim pinul de 5V al stm32 pentru a furniza dispozitivul. În această configurație, doar stm32 core este alimentat.
Astfel, putem folosi modul de somn profund al MCU, oferind un curent de somn scăzut. În stare de așteptare, întregul curent de dormit scade sub XXµA.
Pasul 3: Protocolul LPWAN: comunicare Sigfox
Sigfox este un protocol LPWAN creat de o firmă de telecomunicații franceză - SIGFOX
Permite dispozitivelor la distanță să se conecteze utilizând tehnologia cu bandă ultra-îngustă (UNB). Cele mai multe dintre acestea vor necesita doar lățime de bandă redusă pentru a transfera cantități mici de date. Rețelele pot gestiona doar aproximativ 12 octeți pe mesaj și în același timp nu mai mult de 140 de mesaje pe dispozitiv pe zi.
Pentru multe dintre aplicațiile IOT, sistemele tradiționale de telefonie celulară sunt prea complexe pentru a permite o funcționare cu putere redusă și prea costisitoare pentru a fi fezabile pentru multe noduri mici cu preț redus … Rețeaua și tehnologia SIGFOX sunt destinate mașinii cu mașină la preț redus zone de aplicare unde este necesară o acoperire extinsă.
Pentru AirCitizen, formatul de date detectate este simplu, iar cantitatea de date corectă de utilizat Sigfox pentru traducerea datelor detectate de la senzori pe platforma noastră IOT - ThingSpeak.
Vom introduce utilizarea Sigfox în pașii următori.
Pasul 4: Configurarea software-ului
După realizarea circuitului nostru, să trecem la dezvoltarea microcontrolerului nostru STM32 F303K8.
Pentru mai multă simplitate, puteți alege să programați în Arduino.
Pasul 1: Dacă nu ați instalat încă ID-ul Arduino, descărcați-l și instalați-l din acest link. Asigurați-vă că ați selectat sistemul de operare corect.
Link-ul: Descărcați Arduino
Pasul 2: După instalarea Arduino IDE deschideți și descărcați pachetele necesare pentru placa STM32. Acest lucru se poate face selectând Fișier -> Preferințe.
Pasul 3: Dând clic pe Preferințe se va deschide caseta de dialog afișată mai jos. În caseta de text a adresei suplimentare a Managerului de panouri, lipiți linkul de mai jos:
github.com/stm32duino/BoardManagerFiles/ra…
și apăsați OK.
Pasul 4: Acum accesați Instrument -> Panouri -> Manager de panou. Aceasta va deschide caseta de dialog Boards manager, va căuta „STM32 Cores” și va instala pachetul care apare (pachetul STMicrolectronics).
Pasul 5: După pachet, instalarea este finalizată. Accesați Instrumente și derulați în jos pentru a găsi „seria Nucleo-32”. Apoi asigurați-vă că varianta este „Nucleo F303K8” și schimbați metoda de încărcare în „STLink”.
Pasul 6: Acum, conectați placa la computer și verificați la ce port COM este conectată placa folosind managerul de dispozitive. Apoi, selectați același număr de port în Instrumente-> Port.
Acum sunteți gata să vă programați STM32 F303K8 cu Arduino!
Pasul 5: Programați-vă STM32
După configurare, trebuie să programați microcontrolerul pentru a colecta și trimite date.
Pasul 1: Verificați afectarea I / O și măsurați timestamp-ul în partea „Definire” a codului.
Pasul 2: Încărcați codul de mai sus pe stm32, deschideți monitorul serial și resetați dispozitivul. Comanda „AT” ar trebui să apară pe ecran, dacă nu, verificați declarația I / O.
Puteți avea o idee despre veridicitatea datelor dvs. consultând standardele legislației franceze anexate.
Să trecem la configurația tabloului de bord.
Pasul 6: ThingSpeak - 1
Înainte de a configura modul de redirecționare a datelor de la stația noastră la platforma ThingSpeak, trebuie să creați un cont ThingSpeak.
Înscrieți-vă: site-ul web ThingSpeak
Pasul 1: Acum faceți clic pe „Canal nou”. Aceasta va deschide un formular. Introduceți un nume și o descriere (dacă este necesar).
Creați 5 câmpuri:
- Câmpul 1: pm2, 5
- Câmpul 2: pm10
- Câmpul 3: temperatura
- Câmpul 4: umiditate
- Câmpul 5: NO2
Aceste titluri nu vor fi titlurile topurilor noastre.
Dacă aveți nevoie de un exemplu, consultați fotografia de mai sus.
Nu este nevoie să completați mai multe câmpuri, dar ar putea fi interesant dacă introduceți o locație.
Derulați în jos și „Salvați canalul”.
Pasul 2: Canalul stației AirCitizen.
Acum, puteți vedea o pagină cu 5 diagrame. Făcând clic pe simbolul creionului puteți schimba proprietățile unui grafic.
Rezultatul este a doua imagine de mai sus.
La acest pas, acele grafice sunt private. Veți putea să le faceți publice odată ce datele primite.
Pasul 3: După configurarea graficelor. Accesați fila „Chei API”. Uitați-vă la partea de solicitare API și mai precis la primul câmp, „Actualizați un flux de canal”. Rețineți cheia API.
Veți avea așa ceva:
OBȚINEȚI
Acum puteți merge la capitolul următor.
Pasul 7: Comunicare între modulul Sigfox și platforma ThingSpeak
Pentru informații, rețineți că fiecare card al modulului Sigfox are un număr unic scris pe card și un număr PAC.
Pentru a primi datele pe ThingSpeak, ar trebui să le redirecționați.
Datele merg de la stație la backend-ul Sigfox și vor fi redirecționate către serverul ThingSpeak.
Vedeți prima imagine de mai sus pentru explicații.
Pasul 1: Nu vom explica cum să vă înregistrați pe Sigfox din cauza multor tutoriale pe internet.
Accesați Sigfox Backend.
Faceți clic pe „Tipul dispozitivului”, apoi faceți clic pe linia kitului și selectați „Editați”.
Acum, accesați secțiunea „Rambursări” și faceți clic pe „Nou”, „Rambursare personalizată”.
Pasul 2:
Ar trebui să vă aflați pe pagina de configurare:
Tastați: DATA și UPLINK
Canal: URL
Trimiteți duplicatul: niciunul
Configurare personalizată a sarcinii utile: setați sursa de date și decideți formularul de date. Ar trebui să scrieți astfel:
VarName:: Type: NumberOfBits
În acest caz, avem 5 valori numite pm25, pm10, temperatură, umiditate și NO2.
pm25:: int: 16 pm10:: int: 16 temperatura:: int: 8 umiditate:: uint: 8 NO2:: uint: 8
Model de adresă URL: Aceasta este sintaxa. Utilizați cheia API găsită anterior și introduceți-o după „api_key =”
api.thingspeak.com/update?api_key=XXXXXXXXXXXXXXXXX&field1={customData#pm25}&field2={customData#pm10}&field3={customData#temperature}&field4={customData#humidity}&field5={custom
Utilizați metoda HTTP: GET
Trimiteți SNI: ACTIVAT
Anteturi: Nici unul
Faceți clic acum pe „Ok”.
Revenirea dvs. la API-ul ThingSpeak este acum configurată! (Reprezentare la a doua imagine de mai sus).
Pasul 8: ThingSpeak - 2
Acum, puteți fi mai pretențios în modificarea valorilor minime și maxime ale axelor.
Dacă este necesar, faceți clic pe sigla creionului din partea dreaptă sus a unui grafic.
Valori tipice:
PM 2, 5 și PM 10 = ug / m ^ 3
Temperatura = ° C
Umiditate =%
Dioxid de azot = ppm
Ar trebui să aveți ceva de genul celor două imagini de mai sus.
De asemenea, puteți adăuga alte widget-uri, cum ar fi „Afișare numerică” sau „Ecartament”.
În cele din urmă, pentru a vă face canalul public, accesați fila „Partajare” și selectați „Distribuiți vizualizarea canalului tuturor”.
Pasul 9: Bonus - ThingTweet și React
Opțional: trimiteți un Tweet dacă este îndeplinită o condiție!
Pasul 1: Creați un cont twitter sau utilizați contul dvs. personal de twitter.
Înscrieți-vă - Twitter
Pasul 2: în Thingspeak, accesați „Aplicații”, apoi faceți clic pe „ThingTweet”.
Conectați-vă contul Twitter făcând clic pe „Conectați contul Twitter”.
Pasul 3: Acum, reveniți în „Aplicații”, apoi faceți clic pe „Reacționează”.
Creați un nou React făcând clic pe „New React”.
De exemplu:
Denumirea reacției: Temperatura peste 15 ° C
Tipul condiției: numerică
Frecvența testului: inserarea datelor
Stare, dacă canal:
Câmp: 3 (temperatură)
Semn: este mai mare decât
Valoare: 15
Acțiune: ThingTweet
Apoi tweet: Oh! Temperatura este mai mare de 15 ° C
folosind contul Twitter:
Opțiuni: Rulați acțiunea de fiecare dată când este îndeplinită condiția
Apoi faceți clic pe „Salvați reacționează”.
Acum veți trimite un tweet dacă condiția este îndeplinită și multe alte condiții pot fi configurate, în funcție de nivelul PM10.
Pasul 10: Este rândul tău acum
În cele din urmă, aveți acum toate elementele pentru a vă reproduce propria stație AirCitizen!
Video: puteți viziona un videoclip în care ne prezentăm lucrările.
Platforma noastră ThingSpeak: stația AirCitizenPolytech
--
Vă mulțumim pentru atenție !
Echipa AirCitizen Polytech
Pasul 11: Referință și bibliografie
https://www.sigfox.com/en
Recomandat:
Afișaj LED pentru starea calității aerului PurpleAir: 4 pași
Afișaj LED pentru starea calității aerului PurpleAir: Odată cu incendiile recente din California, calitatea aerului din San Francisco a fost foarte afectată. Ne-am trezit verificând harta PurpleAir de mai multe ori pe telefoanele sau laptopurile noastre, încercând să vedem când aerul era suficient de sigur pentru a deschide victoria
Monitorizare simplă a calității aerului cu afișaj LCD TFT - Ameba Arduino: 3 pași
Monitorizare simplă a calității aerului cu afișaj LCD TFT - Ameba Arduino: Introducere Acum, când majoritatea oamenilor rămân acasă pentru a evita contactul strâns cu potențialul purtător de virus COVID-19, calitatea aerului devine un factor important pentru bunăstarea oamenilor, în special în țările tropicale unde utilizarea aerului condiționat este o necesitate pe durata
Airduino: Monitorul calității aerului mobil: 5 pași
Airduino: Monitor de calitate a aerului mobil: Bine ați venit la proiectul meu, Airduino. Numele meu este Robbe Breens. Studiez tehnologia multimedia și a comunicațiilor la Howest din Kortrijk, Belgia. La sfârșitul celui de-al doilea semestru, trebuie să facem un dispozitiv IoT, care este o modalitate excelentă de a aduce toate
Monitor al calității aerului cu MQ135 și senzor extern de temperatură și umiditate peste MQTT: 4 pași
Monitorul calității aerului cu MQ135 și senzor extern de temperatură și umiditate peste MQTT: Acesta este în scopuri de testare
Tabloul de bord al calității aerului AirVisual: 5 pași
Tabloul de bord al calității aerului AirVisual: AirVisual (https://www.airvisual.com) este un site web care oferă date despre calitatea aerului din întreaga lume. Au un API pe care îl vom folosi pentru a obține date privind calitatea aerului pe care le vom trimite la un tablou de bord. Vom interacționa cu acest API similar cu cum am procedat cu noi