Obsah:
- Krok 1: Hardware
- Krok 2: Hardware - PCB
- Krok 3: Protokol LPWAN: Komunikace Sigfox
- Krok 4: Konfigurace softwaru
- Krok 5: Naprogramujte svůj STM32
- Krok 6: ThingSpeak - 1
- Krok 7: Komunikace mezi modulem Sigfox a platformou ThingSpeak
- Krok 8: ThingSpeak - 2
- Krok 9: Bonus - ThingTweet a Reagovat
- Krok 10: Teď jste na řadě
- Krok 11: Reference a bibliografie
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Ahoj všichni
Dnes vás naučíme reprodukovat náš projekt: AirCitizen od týmu AirCitizenPolytech!
--
Pochází z 'OpenAir / Jaký je váš vzduch?' Projekty, projekt AirCitizen si klade za cíl umožnit občanům aktivně hodnotit kvalitu svého bezprostředního okolí a zejména vzduchu, který dýchají, a to tak, že jim nabídne:
Stavět
Realizujte v přenosných stanicích environmentálních měření „Fablabs“(digitální výrobní laboratoře) integrujících různé levné senzory (např. Teplota, vlhkost, tlak, plynný NOx, ozón nebo částice PM10 a PM2,5).
Opatření
Provádějte měření na místě, abyste zdůraznili časoprostorovou variabilitu environmentálních proměnných: na jedné straně během putovních kampaní s podporou geografů-klimatologů a na druhé straně na různých místech, která představují rozmanitost environmentálních kontextů.
Podíl
Přispějte ke zlepšování znalostí sdílením těchto měření v environmentální databázi a umožněte tak online mapování znečištění ovzduší.
--
Cílem je vytvořit autonomní stanici, která bude moci shromažďovat data prostředí a odesílat je pomocí sítě SigFox na řídicí panel.
Na jedné straně vám tedy ukážeme, jak navrhnout hardware, a na druhé straně, jak udělat část softwaru.
Krok 1: Hardware
Zde jsou komponenty, které jsme se rozhodli použít k návrhu stanice:
-STM32 NUCLEO -F303K8 -> Pro více informací
-HPMA115S0 -XXX (snímač částic PM2,5 a PM10) -> Další informace
- SHT11 nebo SHT10 nebo STH15 nebo DHT11 (teplota a relativní vlhkost) -> Pro více informací
- MICS2714 (senzor NO2, senzor oxidu dusičitého) -> Další informace
- Solární panel x2 (2W) -> Pro více informací
- Baterie LiPo 3, 7 V 1050 mAh -> Pro více informací
- Regulátor LiPo Rider Pro (106990008) -> Pro více informací
- BreakOut SigFox BRKWS01 + 1 licence -> Pro více informací
- 7 rezistorů (86, 6; 820; 1K; 1K; 4, 7K; 10K; 20K)
- 1 kondenzátor (100 nF)
- 1 tranzistor (2N222).
! ! ! Abyste předešli interferencím mezi HPMA a SHT11, musíte odstranit nukleovou desku stm32 SB16 a SB18!
V zásadě musíte takto připojit komponenty:
- Souběžně svařujte solární panely.
- Připojte je k LiPo Rider Pro a připojte také baterii k LiPo Rider Pro.
- Stejně jako na fotografii výše připojte všechny prvky k STM32. Připojte pouze jeden snímač teploty a vlhkosti, ne 2! Nezapomeňte na odpory, kondenzátor a tranzistor.
- Nakonec připojte STM32 k LiPo Rider Pro pomocí USB kabelu.
Dalším krokem je alternativa k tomuto kabelovému připojení.
Krok 2: Hardware - PCB
Rozhodli jsme se použít Autodesk Eagle k návrhu desky plošných spojů (PCB).
Můžete se rozhodnout připojit buď DHT nebo SHT, rozhodli jsme se navrhnout dva otisky prstů pro tyto 2 senzory, abychom mohli senzor v případě potřeby změnit.
V příloze si můžete stáhnout soubory koncepcí Eagle, abyste si je mohli snadno vytvořit sami.
K napájení zařízení používáme 5V pin stm32. V této konfiguraci je napájeno pouze jádro stm32.
Můžeme tedy použít režim hlubokého spánku MCU poskytující nízký spánkový proud. V pohotovostním stavu celý spací proud klesne pod XX µA.
Krok 3: Protokol LPWAN: Komunikace Sigfox
Sigfox je protokol LPWAN vytvořený francouzskou telekomunikační společností - SIGFOX
Umožňuje připojení vzdálených zařízení pomocí technologie ultra úzkého pásma (UNB). Většina z nich bude k přenosu malého množství dat vyžadovat pouze malou šířku pásma. Sítě jsou schopny zpracovat pouze přibližně 12 bajtů na zprávu a současně ne více než 140 zpráv na zařízení za den.
Pro mnoho aplikací IOT jsou tradiční systémy mobilních telefonů příliš složité na to, aby umožňovaly provoz s velmi nízkým výkonem, a příliš nákladné na to, aby byly proveditelné pro mnoho malých levných uzlů … Síť a technologie SIGFOX je zaměřena na nízkonákladový stroj na obrábění oblasti použití, kde je vyžadováno široké pokrytí.
Pro AirCitizen je formát detekovaných dat jednoduchý a množství dat správné pro použití Sigfoxu pro překlad dat detekovaných ze senzorů na naši platformu IOT - ThingSpeak.
V následujících krocích představíme použití Sigfoxu.
Krok 4: Konfigurace softwaru
Po realizaci našeho obvodu přejdeme k vývoji našeho mikrokontroléru STM32 F303K8.
Pro větší jednoduchost můžete zvolit programování v Arduinu.
Krok 1: Pokud jste ještě nenainstalovali Arduino IDE, stáhněte si jej a nainstalujte z tohoto odkazu. Ujistěte se, že jste vybrali správný operační systém.
Odkaz: Stáhněte si Arduino
Krok 2: Po instalaci Arduino IDE otevřete a stáhněte požadované balíčky pro desku STM32. To lze provést výběrem Soubor -> Předvolby.
Krok 3: Kliknutím na Předvolby se otevře níže zobrazené dialogové okno. Do dalšího textového pole URL Boards Manager vložte následující odkaz:
github.com/stm32duino/BoardManagerFiles/ra…
a stiskněte OK.
Krok 4: Nyní přejděte na Nástroj -> Desky -> Správce desek. Otevře se dialogové okno Správce desek, vyhledejte „Jádra STM32“a nainstalujte zobrazený balíček (balíček STMicrolectronics).
Krok 5: Po dokončení balíčku je instalace dokončena. Přejděte na Nástroje a přejděte dolů a najděte „Série Nucleo-32“. Poté se ujistěte, že je varianta „Nucleo F303K8“, a změňte způsob nahrávání na „STLink“.
Krok 6: Nyní připojte desku k počítači a pomocí správce zařízení zkontrolujte, ke kterému portu COM je deska připojena. Poté vyberte stejné číslo portu v nabídce Nástroje-> Port.
Nyní jste připraveni naprogramovat svůj STM32 F303K8 pomocí Arduina!
Krok 5: Naprogramujte svůj STM32
Jakmile je konfigurace hotová, musíte naprogramovat svůj mikrořadič tak, aby sbíral a odesílal data.
Krok 1: Zkontrolujte ovlivnění I/O a změřte časové razítko v části „Definovat“kódu.
Krok 2: Nahrajte výše uvedený kód do stm32, otevřete sériový monitor a resetujte zařízení. Na obrazovce by se měl objevit příkaz „AT“, pokud ne, zkontrolujte deklaraci I/O.
Můžete si udělat představu o věrohodnosti svých údajů v francouzských legislativních normách v příloze.
Přejdeme ke konfiguraci řídicího panelu.
Krok 6: ThingSpeak - 1
Před konfigurací, jak přesměrovat data z naší stanice na platformu ThingSpeak, si musíte vytvořit účet ThingSpeak.
Zaregistrujte se: Web ThingSpeak
Krok 1: Nyní klikněte na „Nový kanál“. Tím se otevře formulář. Zadejte název a popis (je -li to nutné).
Vytvořit 5 polí:
- Pole 1: pm2, 5
- Pole 2: odp. 10
- Pole 3: teplota
- Pole 4: vlhkost
- Pole 5: NO2
Tyto tituly nebudou názvy našich grafů.
Pokud potřebujete příklad, viz foto výše.
Není třeba vyplňovat více polí, ale mohlo by to být zajímavé, pokud zadáte umístění.
Přejděte dolů a vyberte „Uložit kanál“.
Krok 2: Kanál stanice AirCitizen.
Nyní můžete vidět stránku s 5 grafy. Kliknutím na symbol tužky můžete změnit vlastnosti grafu.
Výsledkem je druhý obrázek výše.
V tomto kroku jsou tyto grafy soukromé. Jakmile budou data přijata, budete je moci zveřejnit.
Krok 3: Po konfiguraci grafů. Přejděte na kartu „Klíče API“. Podívejte se na část požadavku API a přesněji na první pole „Aktualizovat kanál“. Všimněte si API KEY.
Budete mít něco takového:
ZÍSKEJTE
Nyní můžete přejít na další kapitolu.
Krok 7: Komunikace mezi modulem Sigfox a platformou ThingSpeak
Pro vaši informaci si všimněte, že každá karta modulu Sigfox má na kartě jedinečné číslo a číslo PAC.
Chcete -li data přijímat na ThingSpeak, měli byste je přesměrovat.
Datas jde ze stanice na back -end Sigfox a bude přesměrován na server ThingSpeak.
Vysvětlení najdete na prvním obrázku výše.
Krok 1: Nebudeme vysvětlovat, jak se zaregistrovat na Sigfoxu kvůli mnoha návodům na internetu.
Přejděte na back -end Sigfox.
Klikněte na „Typ zařízení“, poté klikněte na řádek vaší sady a vyberte „Upravit“.
Nyní přejděte do části „Zpětná volání“a klikněte na „Nové“, „Vlastní zpětné volání“.
Krok 2:
Měli byste být na konfigurační stránce:
Typ: DATA a UPLINK
Kanál: URL
Odeslat duplikát: žádný
Vlastní konfigurace užitečného zatížení: Nastavte zdroj dat a rozhodněte o datovém formuláři. Měli byste napsat jako:
VarName:: Type: NumberOfBits
V tomto případě máme 5 hodnot pojmenovaných pm25, pm10, teplota, vlhkost a NO2.
pm25:: int: 16 pm10:: int: 16 teplota:: int: 8 vlhkost:: uint: 8 NO2:: uint: 8
Vzor adresy URL: Toto je syntaxe. Použijte dříve nalezený klíč API a vložte jej za „api_key =“
api.
Použijte metodu HTTP: GET
Odeslat SNI: ON
Záhlaví: Žádné
Klikněte nyní na „Ok“.
Vaše zpětné volání do rozhraní ThingSpeak API je nyní nakonfigurováno! (Reprezentace na druhém obrázku výše).
Krok 8: ThingSpeak - 2
Nyní můžete být vybíravější při úpravě minimálních a maximálních hodnot os.
V případě potřeby klikněte na logo tužky v pravém horním rohu grafu.
Typické hodnoty:
PM 2, 5 & PM 10 = ug/m^3
Teplota = ° C
Vlhkost = %
Oxid dusičitý = ppm
Měli byste mít něco jako dva obrázky výše.
Můžete také přidat další widgety, například „Numerický displej“nebo „Gauge“.
Nakonec chcete -li svůj kanál zveřejnit, přejděte na kartu „Sdílení“a vyberte „Sdílet zobrazení kanálu se všemi“.
Krok 9: Bonus - ThingTweet a Reagovat
Volitelné: Tweetujte, pokud je splněna podmínka!
Krok 1: Vytvořte si twitterový účet nebo použijte svůj osobní twitterový účet.
Zaregistrujte se - Twitter
Krok 2: V programu Thingspeak přejděte na „Aplikace“a poté klikněte na „ThingTweet“.
Propojte svůj twitterový účet kliknutím na „Propojit twitterový účet“.
Krok 3: Nyní se vraťte zpět do „Aplikace“a poté klikněte na „Reagovat“.
Vytvořte novou Reagovat kliknutím na „Nová reakce“.
Příkladem:
Reagovat Název: Teplota nad 15 ° C
Typ podmínky: číselný
Frekvence testu: O n vkládání dat
Podmínka, pokud kanál:
Pole: 3 (teplota)
Znamení: je větší než
Hodnota: 15
Akce: ThingTweet
Pak tweetujte: Ach! Teplota je vyšší než 15 ° C
pomocí účtu Twitter:
Možnosti: Spustit akci pokaždé, když je splněna podmínka
Poté klikněte na „Uložit reakci“.
Nyní budete tweetovat, pokud je podmínka splněna a lze nakonfigurovat mnoho dalších podmínek, v závislosti na úrovni PM10.
Krok 10: Teď jste na řadě
Konečně nyní máte všechny prvky pro reprodukci vlastní stanice AirCitizen!
Video: Můžete se podívat na video, kde představujeme naši práci.
Naše platforma ThingSpeak: AirCitizenPolytech Station
--
Děkuji za pozornost !
Tým AirCitizen Polytech