Turinys:

„AirCitizen“- oro kokybės stebėjimas: 11 žingsnių (su nuotraukomis)
„AirCitizen“- oro kokybės stebėjimas: 11 žingsnių (su nuotraukomis)

Video: „AirCitizen“- oro kokybės stebėjimas: 11 žingsnių (su nuotraukomis)

Video: „AirCitizen“- oro kokybės stebėjimas: 11 žingsnių (su nuotraukomis)
Video: AirCitizen 2024, Gruodis
Anonim
„AirCitizen“- oro kokybės stebėjimas
„AirCitizen“- oro kokybės stebėjimas

Sveiki visi

Šiandien mes išmokysime jus, kaip atkurti mūsų projektą: „AirCitizenPoltech“komanda!

--

Iš „OpenAir / What your air?“Projektais „AirCitizen“projektu siekiama suteikti piliečiams galimybę aktyviai įvertinti savo artimiausios aplinkos kokybę, ypač oro, kuriuo jie kvėpuoja, pasiūlydami jiems:

Statyti

„Fablabs“(skaitmeninės gamybos laboratorijos) realizuokite nešiojamas aplinkos matavimo stotis, kuriose yra įvairių nebrangių jutiklių (pvz., Temperatūros, drėgmės, slėgio, NOx dujų, ozono ar dalelių PM10 ir PM2.5).

Išmatuoti

Atlikite matavimus vietoje, kad išryškintumėte aplinkos kintamųjų erdvinį ir kintamumą: viena vertus, per kelionių kampanijas, padedant geografams-klimatologams, ir, kita vertus, įvairiose vietose, kuriose yra įvairios aplinkos sąlygos.

Dalintis

Prisidėkite prie žinių tobulinimo dalindamiesi šiais matavimais aplinkos duomenų bazėje ir taip sudarydami sąlygas atlikti oro taršos žemėlapį internete.

--

Koncepcija yra sukurti autonominę stotį, kuri galėtų rinkti aplinkos duomenis ir nusiųsti juos su „SigFox“tinklu į prietaisų skydelį.

Taigi, viena vertus, parodysime, kaip suprojektuoti aparatūrą, ir, kita vertus, kaip atlikti programinę įrangą.

1 žingsnis: Aparatūra

Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga

Čia yra komponentai, kuriuos nusprendėme naudoti kurdami stotį:

-STM32 NUCLEO -F303K8 -> Norėdami gauti daugiau informacijos

-HPMA115S0 -XXX (dalelių jutiklis PM2.5 ir PM10) -> Norėdami gauti daugiau informacijos

- SHT11 arba SHT10 arba STH15 arba DHT11 (temperatūra ir santykinė drėgmė) -> Daugiau informacijos

- MICS2714 (NO2 jutiklis, azoto dioksido jutiklis) -> Daugiau informacijos

- Saulės skydelis x2 (2W) -> Daugiau informacijos

- Baterija LiPo 3, 7 V 1050 mAh -> Daugiau informacijos

- Reguliatorius LiPo Rider Pro (106990008) -> Daugiau informacijos

- BreakOut SigFox BRKWS01 + 1 licencija -> Norėdami gauti daugiau informacijos

- 7 rezistoriai (86, 6; 820; 1K; 1K; 4, 7K; 10K; 20K)

- 1 kondensatorius (100 nF)

- 1 tranzistorius (2N222).

! ! ! Norėdami išvengti trukdžių tarp HPMA ir SHT11, turite pašalinti SB16 ir SB18 iš stm32 nukleo plokštės!

Iš esmės taip reikia prijungti komponentus:

  1. Lygiagrečiai suvirinkite saulės kolektorius.
  2. Prijunkite juos prie „LiPo Rider Pro“ir taip pat prijunkite bateriją prie „LiPo Rider Pro“.
  3. Kaip ir aukščiau esančioje nuotraukoje, prijunkite visus elementus prie STM32. Prijunkite tik vieną temperatūros ir drėgmės jutiklį, o ne 2! Nepamirškite rezistorių, kondensatoriaus ir tranzistoriaus.
  4. Galiausiai prijunkite STM32 prie „LiPo Rider Pro“USB kabeliu.

Kitas žingsnis yra alternatyva šiam laidui.

2 žingsnis: Aparatūra - PCB

Techninė įranga - PCB
Techninė įranga - PCB

Mes nusprendėme naudoti „Autodesk Eagle“, norėdami sukurti spausdintinę plokštę (PCB).

Galite pasirinkti prijungti DHT arba SHT, mes nusprendėme sukurti du pirštų atspaudus šiems 2 jutikliams, kad prireikus pakeistume jutiklį.

Priede galite atsisiųsti „Eagle“koncepcijos failus, kad galėtumėte lengvai tai padaryti patys.

Įrenginiui tiekti naudojame 5V kaištį stm32. Šioje konfigūracijoje maitinama tik „stm32“šerdis.

Taigi galime naudoti MCU gilaus miego režimą, užtikrinantį mažą miego srovę. Budėjimo režime visa miego srovė nukrenta žemiau XXµA.

3 žingsnis: LPWAN protokolas: „Sigfox“ryšys

LPWAN protokolas: „Sigfox Communication“
LPWAN protokolas: „Sigfox Communication“

„Sigfox“yra LPWAN protokolas, sukurtas prancūzų telekomunikacijų įmonės SIGFOX

Tai leidžia nuotoliniams įrenginiams prisijungti naudojant itin siauros juostos (UNB) technologiją. Daugeliui jų reikės tik mažo pralaidumo, kad būtų galima perduoti nedidelius duomenų kiekius. Tinklai gali apdoroti tik maždaug 12 baitų vienam pranešimui ir tuo pačiu metu ne daugiau kaip 140 pranešimų vienam įrenginiui per dieną.

Daugeliui IOT programų tradicinės mobiliųjų telefonų sistemos yra per daug sudėtingos, kad veiktų labai mažai energijos, ir yra per brangios, kad būtų įgyvendinamos daugeliui mažų pigių mazgų … SIGFOX tinklas ir technologijos yra skirtos nebrangiems mašinoms taikymo sritys, kuriose reikalingas platus aprėptis.

„AirCitizen“aptiktų duomenų formatas yra paprastas, o duomenų kiekis yra tinkamas, kad būtų galima naudoti „Sigfox“, kad būtų galima perkelti iš jutiklių aptiktus duomenis į mūsų IOT platformą - „ThingSpeak“.

Toliau aprašysime „Sigfox“naudojimą.

4 žingsnis: programinės įrangos konfigūravimas

Programinės įrangos konfigūracija
Programinės įrangos konfigūracija
Programinės įrangos konfigūracija
Programinės įrangos konfigūracija

Supratę savo grandinę, pereikime prie mūsų STM32 F303K8 mikrovaldiklio kūrimo.

Kad būtų paprasčiau, galite pasirinkti programuoti „Arduino“.

1 veiksmas: jei dar neįdiegėte „Arduino IDE“, atsisiųskite ir įdiekite jį iš šios nuorodos. Įsitikinkite, kad pasirinkote tinkamą operacinę sistemą.

Nuoroda: Atsisiųskite „Arduino“

2 žingsnis: Įdiegę „Arduino IDE“, atidarykite ir atsisiųskite reikiamus paketus STM32 plokštei. Tai galima padaryti pasirinkus Failas -> Nuostatos.

3 veiksmas: spustelėjus parinktis, atidaromas žemiau pateiktas dialogo langas. Papildomame lentų tvarkyklės URL teksto laukelyje įklijuokite žemiau esančią nuorodą:

github.com/stm32duino/BoardManagerFiles/ra…

ir paspauskite OK.

4 žingsnis: Dabar eikite į Įrankiai -> Lentos -> Valdybos valdytojas. Bus atidarytas dialogo langas „Lentų tvarkyklė“, ieškokite „STM32 šerdys“ir įdiekite pasirodžiusį paketą (STMicrolectronics paketas).

5 žingsnis: Po paketo diegimas baigtas. Eikite į Įrankiai ir slinkite žemyn, kad surastumėte „Nucleo-32 series“. Tada įsitikinkite, kad variantas yra „Nucleo F303K8“, ir pakeiskite įkėlimo metodą į „STLink“.

6 veiksmas: Dabar prijunkite plokštę prie kompiuterio ir naudodami įrenginių tvarkytuvę patikrinkite, prie kurio COM prievado plokštė prijungta. Tada pasirinkite tą patį prievado numerį „Tools-> Port“.

Dabar esate pasiruošę programuoti savo STM32 F303K8 su „Arduino“!

5 veiksmas: užprogramuokite STM32

Baigę konfigūraciją, turite užprogramuoti mikrovaldiklį, kad jis rinktų ir siunčia duomenis.

1 veiksmas: patikrinkite įvesties/išvesties įtaką ir išmatuokite laiko žymę kodo dalyje „Apibrėžti“.

2 veiksmas: įkelkite aukščiau esantį kodą į stm32, atidarykite nuoseklųjį monitorių ir iš naujo nustatykite įrenginį. Ekrane turėtų pasirodyti komanda „AT“, jei ne, patikrinkite įvesties/išvesties deklaraciją.

Galite sužinoti savo duomenų tikrumą, pridedami prie Prancūzijos teisės aktų standartų.

Pereikime prie prietaisų skydelio konfigūracijos.

6 žingsnis: „ThingSpeak“- 1

„ThingSpeak“- 1
„ThingSpeak“- 1
„ThingSpeak“- 1
„ThingSpeak“- 1

Prieš konfigūruodami, kaip peradresuoti duomenis iš mūsų stoties į „ThingSpeak“platformą, turite sukurti „ThingSpeak“paskyrą.

Užsiregistruokite: „ThingSpeak“svetainė

1 žingsnis: Dabar spustelėkite „Naujas kanalas“. Tai atvers formą. Įveskite pavadinimą ir aprašymą (jei reikia).

Sukurkite 5 lauką:

  • 1 laukas: pm2, 5
  • 2 laukas: pm10
  • 3 laukas: temperatūra
  • 4 laukas: drėgmė
  • 5 laukas: NO2

Šie pavadinimai nebus mūsų diagramų pavadinimai.

Jei jums reikia pavyzdžio, žiūrėkite aukščiau esančią nuotrauką.

Jums nereikia užpildyti daugiau laukų, tačiau gali būti įdomu įvesti vietą.

Slinkite žemyn ir „Išsaugoti kanalą“.

2 žingsnis: „AirCitizen Station“kanalas.

Dabar galite pamatyti puslapį su 5 diagramomis. Spustelėję pieštuko simbolį, galite pakeisti grafiko savybes.

Rezultatas yra antrasis paveikslėlis aukščiau.

Šiame etape šios diagramos yra privačios. Galėsite juos viešinti, kai tik gausite gautus duomenis.

3 žingsnis: sukonfigūravę savo grafikus. Eikite į skirtuką „API raktai“. Pažvelkite į API užklausų dalį ir tiksliau pirmąjį lauką „Kanalo kanalo atnaujinimas“. Atkreipkite dėmesį į API KEY.

Turėsite kažką panašaus:

Gaukite

Dabar galite pereiti prie kito skyriaus.

7 veiksmas: „Sigfox“modulio ir „ThingSpeak“platformos bendravimas

Ryšys tarp „Sigfox“modulio ir „ThingSpeak“platformos
Ryšys tarp „Sigfox“modulio ir „ThingSpeak“platformos
Ryšys tarp „Sigfox“modulio ir „ThingSpeak“platformos
Ryšys tarp „Sigfox“modulio ir „ThingSpeak“platformos

Turėkite omenyje, kad kiekviena „Sigfox“modulio kortelė turi unikalų numerį ir PAC numerį.

Norėdami gauti „ThingSpeak“duomenis, turėtumėte juos nukreipti.

Datai eina iš stoties į „Sigfox“užpakalinę programą ir bus peradresuoti į „ThingSpeak“serverį.

Paaiškinimus rasite pirmame paveikslėlyje aukščiau.

1 žingsnis: Mes nepaaiškinsime, kaip užsiregistruoti „Sigfox“dėl daugybės pamokų internete.

Eikite į „Sigfox Backend“.

Spustelėkite „Įrenginio tipas“, tada spustelėkite savo rinkinio eilutę ir pasirinkite „Redaguoti“.

Dabar eikite į skyrių „Atgaliniai skambučiai“ir spustelėkite „Naujas“, „Tinkintas atšaukimas“.

2 žingsnis:

Turėtumėte būti konfigūracijos puslapyje:

Tipas: DATA ir UPLINK

Kanalas: URL

Siųsti dublikatą: nėra

Tinkintos naudingos apkrovos konfigūracija: nustatykite duomenų šaltinį ir nuspręskite duomenų formą. Turėtumėte rašyti taip:

VarName:: Tipas: NumberOfBits

Šiuo atveju turime 5 reikšmes, pavadintas pm25, pm10, temperatūra, drėgmė ir NO2.

pm25:: int: 16 pm10:: int: 16 temperatūra:: int: 8 drėgmė:: uint: 8 NO2:: uint: 8

URL šablonas: tai yra sintaksė. Naudokite anksčiau rastą API raktą ir įterpkite jį po „api_key =“

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

Naudokite HTTP metodą: GET

Siųsti SNI: ĮJUNGTA

Antraštės: nėra

Dabar spustelėkite „Gerai“.

Jūsų atgalinis skambinimas į „ThingSpeak“API dabar sukonfigūruotas! (Vaizdas antrame paveikslėlyje aukščiau).

8 žingsnis: „ThingSpeak“- 2

„ThingSpeak“- 2
„ThingSpeak“- 2

Dabar galite būti išrankesni keisdami mažiausią ir didžiausią ašių reikšmes.

Jei reikia, spustelėkite pieštuko logotipą viršutiniame dešiniajame grafiko kampe.

Tipinės vertės:

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

Temperatūra = ° C

Drėgmė = %

Azoto dioksidas = ppm

Turėtumėte turėti kažką panašaus į dvi aukščiau esančias nuotraukas.

Taip pat galite pridėti kitų valdiklių, pvz., „Skaitmeninis ekranas“arba „Gauge“.

Galiausiai, kad kanalas būtų viešas, eikite į skirtuką „Bendrinimas“ir pasirinkite „Bendrinti kanalo rodinį su visais“.

9 žingsnis: premija - „ThingTweet“ir „React“

Premija - „ThingTweet“ir „React“
Premija - „ThingTweet“ir „React“
Premija - „ThingTweet“ir „React“
Premija - „ThingTweet“ir „React“
Premija - „ThingTweet“ir „React“
Premija - „ThingTweet“ir „React“

Neprivaloma: paspauskite „Twitter“, jei įvykdyta sąlyga!

1 veiksmas: sukurkite „Twitter“paskyrą arba naudokite asmeninę „Twitter“paskyrą.

Užsiregistruokite - „Twitter“

2 veiksmas: „Thingspeak“eikite į „Programos“, tada spustelėkite „ThingTweet“.

Susiekite savo „Twitter“paskyrą spustelėdami „Susieti„ Twitter “paskyrą“.

3 žingsnis: Dabar grįžkite į „Programos“, tada spustelėkite „Reaguoti“.

Sukurkite naują „React“spustelėdami „New React“.

Pavyzdžiu:

Reakcijos pavadinimas: Temperatūra virš 15 ° C

Sąlygos tipas: Skaitinis

Bandymo dažnis: duomenų įterpimas

Būklė, jei kanalas:

Laukas: 3 (temperatūra)

Ženklas: yra didesnis nei

Vertė: 15

Veiksmas: „ThingTweet“

Tada tweet: O! Temperatūra yra didesnė nei 15 ° C

naudojant „Twitter“paskyrą:

Parinktys: vykdykite veiksmus kiekvieną kartą, kai įvykdoma sąlyga

Tada spustelėkite „Išsaugoti reakciją“.

Dabar jūsų tviteris bus, jei sąlyga bus įvykdyta ir bus galima sukonfigūruoti daug kitų sąlygų, pavyzdžiui, priklausomai nuo PM10 lygio.

10 žingsnis: Dabar jūsų eilė

Pagaliau dabar turite visus elementus, kad atkurtumėte savo „AirCitizen Station“!

Vaizdo įrašas: galite žiūrėti vaizdo įrašą, kuriame pristatome savo darbą.

Mūsų „ThingSpeak“platforma: „AirCitizenPolytech“stotis

--

Ačiū už dėmesį !

„AirCitizen Polytech“komanda

11 veiksmas: nuoroda ir bibliografija

https://www.sigfox.com/en

Rekomenduojamas: