Inhoudsopgave:
- Stap 1: Hardware
- Stap 2: Hardware - PCB
- Stap 3: Het LPWAN-protocol: Sigfox-communicatie
- Stap 4: Softwareconfiguratie
- Stap 5: Programmeer uw STM32
- Stap 6: ThingSpeak - 1
- Stap 7: Communicatie tussen Sigfox-module en het ThingSpeak-platform
- Stap 8: ThingSpeak - 2
- Stap 9: Bonus - ThingTweet en reageer
- Stap 10: Nu is het jouw beurt
- Stap 11: Referentie & Bibliografie
Video: AirCitizen - Luchtkwaliteit bewaken - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Hallo iedereen
Vandaag leren we je hoe je ons project kunt reproduceren: AirCitizen door het AirCitizenPolytech Team!
--
Afkomstig uit de 'OpenAir / What's your air?' Projecten, het AirCitizen-project heeft tot doel burgers in staat te stellen de kwaliteit van hun directe omgeving en in het bijzonder de lucht die ze inademen actief te evalueren door deze aan te bieden van:
Bouwen
Realiseer in "Fablabs" (digitale productielaboratoria) draagbare stations van omgevingsmetingen die verschillende goedkope sensoren integreren (bijv. Temperatuur, vochtigheid, druk, NOx-gas, ozon of deeltjes PM10 en PM2.5).
Meeteenheid
Voer in situ metingen uit om de spatiotemporele variabiliteit van de omgevingsvariabelen te belichten: enerzijds tijdens rondtrekkende campagnes met de steun van geografen-klimatologen en anderzijds op verschillende plaatsen die een diversiteit aan omgevingscontexten vertonen.
Deel
Draag bij aan het verbeteren van kennis door deze metingen te delen in een milieudatabase en zo luchtverontreiniging online in kaart te brengen.
--
Het concept is om een autonoom station te creëren dat omgevingsgegevens kan verzamelen en deze met het SigFox-netwerk naar een dashboard kan sturen.
Dus aan de ene kant laten we je zien hoe je de hardware ontwerpt en aan de andere kant hoe je het softwaregedeelte doet.
Stap 1: Hardware
Dit zijn de componenten die we hebben gebruikt om het station te ontwerpen:
- STM32 NUCLEO-F303K8 -> Voor meer informatie
- HPMA115S0-XXX (deeltjessensor PM2.5 & PM10) -> Voor meer informatie
- SHT11 of SHT10 of STH15 of DHT11 (Temperatuur & Relatieve Vochtigheid) -> Voor meer informatie
- MICS2714 (NO2-sensor, stikstofdioxide-sensor) -> Voor meer informatie
- Zonnepaneel x2 (2W) -> Voor meer informatie
- Batterij LiPo 3, 7 V 1050 mAh -> Voor meer informatie
- Regelaar LiPo Rider Pro (106990008) -> Voor meer informatie
- BreakOut SigFox BRKWS01 + 1 licentie - > Voor meer informatie
- 7 weerstanden (86, 6; 820; 1K; 1K; 4, 7K; 10K; 20K)
- 1 condensator (100nF)
- 1 transistor (2N222).
! ! ! U moet SB16 en SB18 op het stm32-nucleobord verwijderen om interferenties tussen HPMA en SHT11 te voorkomen!
Kortom, dit is hoe je componenten moet aansluiten:
- Las parallel de zonnepanelen.
- Sluit ze aan op de LiPo Rider Pro en sluit ook de batterij aan op de LiPo Rider Pro.
- Sluit zoals de foto hierboven alle elementen aan op de STM32. Sluit slechts één temperatuur- en vochtigheidssensor aan, niet 2! Vergeet de weerstanden, de condensator en de transistor niet.
- Sluit tot slot de STM32 met een usb-kabel aan op de LiPo Rider Pro.
De volgende stap is een alternatief voor deze bekabeld.
Stap 2: Hardware - PCB
We besloten om Autodesk Eagle te gebruiken om de printplaat (PCB) te ontwerpen.
U kunt ervoor kiezen om een DHT of een SHT aan te sluiten, we hebben ervoor gekozen om twee vingerafdrukken te ontwerpen voor deze 2 sensoren om de sensor indien nodig te wijzigen.
In bijlage kunt u de Eagle-conceptiebestanden downloaden, zodat u deze gemakkelijk zelf kunt maken.
We gebruiken de 5V-pin van stm32 om het apparaat te voeden. In deze configuratie wordt alleen de stm32-kern gevoed.
Zo kunnen we de diepe slaapmodus van de MCU gebruiken die een lage slaapstroom levert. In de stand-by-status valt de hele slaapstroom onder de XXµA.
Stap 3: Het LPWAN-protocol: Sigfox-communicatie
Sigfox is een LPWAN-protocol gemaakt door een Frans telecombedrijf - SIGFOX
Hiermee kunnen externe apparaten verbinding maken met behulp van ultra-narrow band (UNB)-technologie. De meeste hiervan hebben slechts een lage bandbreedte nodig om kleine hoeveelheden gegevens over te dragen. Netwerken kunnen slechts ongeveer 12 bytes per bericht verwerken en tegelijkertijd niet meer dan 140 berichten per apparaat per dag.
Voor veel IOT-toepassingen zijn de traditionele mobiele telefoonsystemen te complex om een zeer laag stroomverbruik mogelijk te maken en te duur om haalbaar te zijn voor veel kleine goedkope knooppunten… Het SIGFOX-netwerk en de technologie zijn gericht op de goedkope machine om te bewerken toepassingsgebieden waar een brede dekking vereist is.
Voor AirCitizen is het formaat van de gedetecteerde gegevens eenvoudig en de hoeveelheid gegevens correct om Sigfox te gebruiken voor het vertalen van de gedetecteerde gegevens van sensoren naar ons IOT-platform - ThingSpeak.
We zullen het gebruik van Sigfox in de volgende stappen introduceren.
Stap 4: Softwareconfiguratie
Na de realisatie van ons circuit, gaan we verder met de ontwikkeling van onze STM32 F303K8-microcontroller.
Voor meer eenvoud kunt u ervoor kiezen om in Arduino te programmeren.
Stap 1: Als je de Arduino IDE nog niet hebt geïnstalleerd, download en installeer deze dan via deze link. Zorg ervoor dat u uw juiste besturingssysteem selecteert.
De link: Arduino downloaden
Stap 2: Na het installeren van de Arduino IDE opent en downloadt u de vereiste pakketten voor het STM32-bord. Dit kan gedaan worden door Bestand -> Voorkeuren te selecteren.
Stap 3: Als u op Voorkeuren klikt, wordt het onderstaande dialoogvenster geopend. Plak de onderstaande link in het extra URL-tekstvak van Boards Manager:
github.com/stm32duino/BoardManagerFiles/ra…
en druk op OK.
Stap 4: Ga nu naar Tool -> Boards -> Board Manager. Hierdoor wordt het dialoogvenster Boards manager geopend, zoekt u naar "STM32 Cores" en installeert u het pakket dat verschijnt (STMicroelectronics-pakket).
Stap 5: Na het pakket is de installatie voltooid. Ga naar Tools en scroll naar beneden om de "Nucleo-32 series" te vinden. Zorg er dan voor dat de variant "Nucleo F303K8" is en verander de uploadmethode in "STLink".
Stap 6: Sluit nu je board aan op de computer en controleer met apparaatbeheer op welke COM-poort het board is aangesloten. Selecteer vervolgens hetzelfde poortnummer in Extra->Poort.
U bent nu klaar om uw STM32 F303K8 met Arduino te programmeren!
Stap 5: Programmeer uw STM32
Nadat de configuratie is voltooid, moet u uw microcontroller programmeren om gegevens te verzamelen en te verzenden.
Stap 1: Controleer de invloed van I/O en meet de tijdstempel in het gedeelte "Definieer" van de code.
Stap 2: Upload de bovenstaande code naar de stm32, open de seriële monitor en reset het apparaat. De opdracht "AT" zou op het scherm moeten verschijnen, zo niet, controleer dan de I/O-declaratie.
U kunt een idee krijgen van de waarheidsgetrouwheid van uw gegevens door de Franse wetgevingsnormen in bijlage te raadplegen.
Laten we verder gaan met de configuratie van het dashboard.
Stap 6: ThingSpeak - 1
Voordat u configureert hoe gegevens van ons station naar het ThingSpeak-platform moeten worden omgeleid, moet u een ThingSpeak-account maken.
Aanmelden: ThingSpeak-website
Stap 1: Klik nu op "Nieuw kanaal". Dit opent een formulier. Voer een naam en een beschrijving in (indien nodig).
Maak 5 velden aan:
- Veld 1: pm2, 5
- Veld 2: pm10
- Veld 3: temperatuur
- Veld 4: vochtigheid
- Veld 5: NO2
Deze titels zullen niet de titels zijn van onze grafieken.
Als je een voorbeeld nodig hebt, zie foto hierboven.
U hoeft niet meer velden in te vullen, maar het kan interessant zijn als u een locatie invoert.
Scroll naar beneden en "Save Channel".
Stap 2: AirCitizen Station-kanaal.
Nu ziet u een pagina met 5 grafieken. Door op het potloodsymbool te klikken kunt u de eigenschappen van een grafiek wijzigen.
Het resultaat is de tweede foto hierboven.
Bij deze stap zijn die grafieken privé. U kunt ze openbaar maken zodra de gegevens zijn ontvangen.
Stap 3: Na de configuratie van uw grafieken. Ga naar het tabblad "API-sleutels". Kijk naar het API-verzoekgedeelte en meer bepaald naar het eerste veld, "Een kanaalfeed bijwerken". Let op de API KEY.
Je krijgt zoiets als dit:
KRIJG
U kunt nu naar het volgende hoofdstuk gaan.
Stap 7: Communicatie tussen Sigfox-module en het ThingSpeak-platform
Ter informatie: elke Sigfox-modulekaart heeft een uniek nummer op de kaart en een PAC-nummer.
Om de gegevens op ThingSpeak te ontvangen, moet u ze omleiden.
Gegevens gaan van het station naar de Sigfox-backend en worden omgeleid naar de ThingSpeak-server.
Zie de eerste foto hierboven voor uitleg.
Stap 1: We zullen niet uitleggen hoe u zich op Sigfox kunt registreren vanwege de vele tutorials op internet.
Ga op de Sigfox-backend.
Klik op "Apparaattype", klik vervolgens op de regel van uw kit en selecteer "Bewerken".
Ga nu naar het gedeelte "Terugbellen" en klik op "Nieuw", "Aangepast terugbellen".
Stap 2:
U zou op de configuratiepagina moeten zijn:
Type: DATA en UPLINK
Kanaal: URL
Stuur duplicaat: geen
Aangepaste payload-configuratie: stel de gegevensbron in en bepaal het gegevensformulier. Je moet schrijven als:
VarName::Type:NumberOfBits
In dit geval hebben we 5 waarden genaamd pm25, pm10, temperatuur, vochtigheid en NO2.
pm25::int:16 pm10::int:16 temperatuur::int:8 vochtigheid::uint:8 NO2::uint:8
URL-patroon: Dit is de syntaxis. Gebruik de eerder gevonden API-sleutel en voeg deze in na "api_key ="
api.thingspeak.com/update?api_key=XXXXXXXXXXXXXXXX&field1={customData#pm25}&field2={customData#pm10}&field3={customData#temperature}&field4={customData#humidity}&field5={customData#NO2}
Gebruik HTTP-methode: GET
SNI verzenden: AAN
Kopteksten: Geen
Klik nu op "Ok".
Uw callback naar de ThingSpeak API is nu geconfigureerd! (Vertegenwoordiging bij de tweede foto hierboven).
Stap 8: ThingSpeak - 2
Nu kunt u kieskeuriger zijn bij het wijzigen van de minimum- en maximumwaarden van de assen.
Klik indien nodig op het potloodlogo rechtsboven in een grafiek.
Typische waarden:
PM 2, 5 & PM 10 = ug/m^3
Temperatuur = °C
Vochtigheid = %
Stikstofdioxide = ppm
Je zou zoiets als de twee bovenstaande foto's moeten hebben.
U kunt ook enkele andere widgets toevoegen, zoals "Numerieke weergave" of "Meter".
Ten slotte, om je kanaal openbaar te maken, ga je naar het tabblad 'Delen' en selecteer je 'Kanaalweergave delen met iedereen'.
Stap 9: Bonus - ThingTweet en reageer
Optioneel: Tweet als aan een voorwaarde is voldaan!
Stap 1: Maak een twitteraccount aan of gebruik uw persoonlijke twitteraccount.
Aanmelden - Twitter
Stap 2: Ga in Thingspeak naar "Apps" en klik vervolgens op "ThingTweet".
Koppel uw Twitter-account door op "Link Twitter-account" te klikken.
Stap 3: Ga nu terug naar "Apps" en klik vervolgens op "Reageren".
Maak een nieuwe React aan door op "New React" te klikken.
Bijvoorbeeld:
Reageer Naam: Temperatuur boven 15°C
Voorwaarde Type: Numeriek
Testfrequentie: O n gegevensinvoer
Conditie, indien kanaal:
Veld: 3 (temperatuur)
Teken: is groter dan
Waarde: 15
Actie: ThingTweet
Tweet dan: Oh! De temperatuur is hoger dan 15 °C
Twitter-account gebruiken:
Opties: Voer een actie uit telkens wanneer aan de voorwaarde wordt voldaan
Klik vervolgens op "Opslaan Reageren".
Je zal nu tweeten als aan de voorwaarde is voldaan en vele andere voorwaarden kunnen worden geconfigureerd, zoals afhankelijk van het niveau van PM10.
Stap 10: Nu is het jouw beurt
Eindelijk heb je nu alle elementen om je eigen AirCitizen Station te reproduceren!
Video: U kunt een video bekijken waarin we ons werk presenteren.
Ons ThingSpeak-platform: AirCitizenPolytech Station
--
Dank u voor uw aandacht !
Het AirCitizen Polytech-team
Stap 11: Referentie & Bibliografie
https://www.sigfox.com/en
Aanbevolen:
Temperatuur bewaken en opnemen met Bluetooth LE en RaspberryPi 9 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Monitor en registreer temperatuur met Bluetooth LE en RaspberryPi: deze instructie gaat over het samenstellen van een multi-node temperatuurbewakingssysteem met Bluetooth LE-sensorbug van Blue Radios (BLEHome) en RaspberryPi 3B Dankzij de ontwikkeling van de Bluetooth LE-standaard is er nu direct beschikbaar
Gebruik van microcontrollers om het irrigatiesysteem op afstand te bedienen en te bewaken: 4 stappen
Gebruik van microcontrollers om het irrigatiesysteem op afstand te bedienen en te bewaken: boeren en kassenbouwers voor een goedkoop automatisch irrigatiesysteem. In dit project integreren we een elektronische bodemvochtsensor met een microcontroller om planten automatisch te irrigeren als de bodem te droog is zonder menselijke tussenkomst
Hoe maak je een IoT-apparaat om apparaten te bedienen en het weer te bewaken met behulp van Esp8266: 5 stappen
Hoe maak je een IoT-apparaat om apparaten te bedienen en het weer te bewaken met behulp van Esp8266: Het internet der dingen (IoT) is de inter-netwerking van fysieke apparaten (ook wel "verbonden apparaten" en "slimme apparaten" genoemd), gebouwen, en andere items ingebed met elektronica, software, sensoren, actuatoren en
ESP8266: temperatuur en vochtigheid bewaken: 12 stappen
ESP8266: Temperatuur en vochtigheid bewaken: In de tutorial van vandaag gebruiken we een ESP-01, de ESP8266 in configuratie 01 (met slechts 2 GPIO's), voor temperatuur- en vochtigheidsmetingen van de DHT22-sensor. Ik zal je een elektrisch schema en het ESP-programmeergedeelte laten zien met een Arduino