Inhaltsverzeichnis:

AirCitizen - Überwachung der Luftqualität - Gunook
AirCitizen - Überwachung der Luftqualität - Gunook

Video: AirCitizen - Überwachung der Luftqualität - Gunook

Video: AirCitizen - Überwachung der Luftqualität - Gunook
Video: AirCitizen - LoRa Environmental Sensors 2024, November
Anonim
AirCitizen - Überwachung der Luftqualität
AirCitizen - Überwachung der Luftqualität

Hallo allerseits

Heute werden wir Ihnen beibringen, wie Sie unser Projekt reproduzieren können: AirCitizen vom AirCitizenPolytech-Team!

--

Kommend vom 'OpenAir / What's your air?' Projekte, das AirCitizen-Projekt soll es Bürgern ermöglichen, die Qualität ihrer unmittelbaren Umgebung und insbesondere der Luft, die sie atmen, aktiv zu bewerten, indem es ihnen Folgendes anbietet:

Bauen

Realisieren Sie in "Fablabs" (digitale Fertigungslabore) tragbare Stationen von Umweltmessungen, die verschiedene kostengünstige Sensoren integrieren (zB Temperatur, Feuchtigkeit, Druck, NOx-Gas, Ozon oder Partikel PM10 und PM2.5).

Messen

Führen Sie in-situ-Messungen durch, um die raumzeitliche Variabilität der Umweltvariablen aufzuzeigen: einerseits während Wanderkampagnen mit Unterstützung von Geographen-Klimatologen und andererseits an verschiedenen Orten, die vielfältige Umweltkontexte darstellen.

Teilen

Tragen Sie zur Verbesserung des Wissens bei, indem Sie diese Messungen in einer Umweltdatenbank teilen und so eine Online-Kartierung der Luftverschmutzung ermöglichen.

--

Das Konzept besteht darin, eine autonome Station zu schaffen, die Umgebungsdaten sammeln und mit dem SigFox-Netzwerk an ein Dashboard senden kann.

So zeigen wir Ihnen einerseits, wie Sie die Hardware entwerfen und andererseits, wie Sie den Software-Teil übernehmen.

Schritt 1: Hardware

Hardware
Hardware
Hardware
Hardware

Hier sind die Komponenten, für die wir uns entschieden haben, die Station zu entwerfen:

- STM32 NUCLEO-F303K8 -> Für weitere Informationen

- HPMA115S0-XXX (Partikelsensor PM2.5 & PM10) -> Für weitere Informationen

- SHT11 oder SHT10 oder STH15 oder DHT11 (Temperatur & relative Luftfeuchtigkeit) -> Für weitere Informationen

- MICS2714 (NO2-Sensor, Stickstoffdioxid-Sensor) -> Für weitere Informationen

- Solarpanel x2 (2W) -> Für weitere Informationen

- Akku LiPo 3, 7 V 1050 mAh -> Weitere Informationen

- Regler LiPo Rider Pro (106990008) -> Für weitere Informationen

- BreakOut SigFox BRKWS01 + 1 Lizenz -> Für weitere Informationen

- 7 Widerstände (86, 6; 820; 1K; 1K; 4, 7K; 10K; 20K)

- 1 Kondensator (100nF)

- 1 Transistor (2N222).

! ! ! Sie müssen SB16 und SB18 auf dem stm32-Nukleo-Board entfernen, um Interferenzen zwischen HPMA und SHT11 zu vermeiden!

Grundsätzlich müssen Sie Komponenten so anschließen:

  1. Schweißen Sie parallel die Sonnenkollektoren.
  2. Verbinden Sie diese mit dem LiPo Rider Pro und schließen Sie auch den Akku an den LiPo Rider Pro an.
  3. Verbinden Sie wie auf dem Foto oben alle Elemente mit dem STM32. Schließen Sie nur einen Temperatur- und Feuchtigkeitssensor an, nicht 2! Vergessen Sie nicht die Widerstände, den Kondensator und den Transistor.
  4. Verbinden Sie abschließend den STM32 mit einem USB-Kabel mit dem LiPo Rider Pro.

Der nächste Schritt ist eine Alternative zu diesem kabelgebunden.

Schritt 2: Hardware - PCB

Hardware - PCB
Hardware - PCB

Wir entschieden uns, Autodesk Eagle zu verwenden, um die Leiterplatte (PCB) zu entwerfen.

Sie können wählen, ob Sie entweder ein DHT oder ein SHT anschließen möchten. Wir haben uns entschieden, zwei Fingerabdrücke für diese beiden Sensoren zu entwerfen, um den Sensor bei Bedarf auszutauschen.

Im Anhang können Sie die Eagle-Konzeptionsdateien herunterladen, damit Sie sie ganz einfach selbst erstellen können.

Wir verwenden den 5V-Pin von stm32, um das Gerät zu versorgen. In dieser Konfiguration wird nur der stm32-Kern mit Strom versorgt.

Somit können wir den Deep-Sleep-Modus der MCU nutzen, der einen niedrigen Sleep-Strom liefert. Im Standby-Zustand sinkt der gesamte Ruhestrom unter XXµA.

Schritt 3: Das LPWAN-Protokoll: Sigfox-Kommunikation

Das LPWAN-Protokoll: Sigfox-Kommunikation
Das LPWAN-Protokoll: Sigfox-Kommunikation

Sigfox ist ein LPWAN-Protokoll, das von einem französischen Telekommunikationsunternehmen entwickelt wurde - SIGFOX

Es ermöglicht Remote-Geräten die Verbindung mit der Ultra-Narrow-Band-Technologie (UNB). Die meisten davon benötigen nur eine geringe Bandbreite, um kleine Datenmengen zu übertragen. Netzwerke können nur ca. 12 Byte pro Nachricht verarbeiten und gleichzeitig nicht mehr als 140 Nachrichten pro Gerät und Tag.

Für viele IOT-Anwendungen sind die herkömmlichen Mobiltelefonsysteme zu komplex, um einen Betrieb mit sehr geringem Stromverbrauch zu ermöglichen, und zu teuer, um für viele kleine kostengünstige Knoten realisierbar zu sein… Das SIGFOX-Netzwerk und die SIGFOX-Technologie sind auf die kostengünstige Maschine-zu-Maschine ausgerichtet Anwendungsbereiche, in denen eine großflächige Abdeckung erforderlich ist.

Für AirCitizen ist das Format der erkannten Daten einfach und die Datenmenge korrekt, um Sigfox zum Übersetzen der von Sensoren erkannten Daten in unsere IOT-Plattform - ThingSpeak - zu verwenden.

In den folgenden Schritten werden wir die Verwendung von Sigfox vorstellen.

Schritt 4: Softwarekonfiguration

Softwarekonfiguration
Softwarekonfiguration
Softwarekonfiguration
Softwarekonfiguration

Nach der Realisierung unserer Schaltung fahren wir mit der Entwicklung unseres STM32 F303K8 Mikrocontrollers fort.

Der Einfachheit halber können Sie wählen, ob Sie in Arduino programmieren möchten.

Schritt 1: Wenn Sie die Arduino IDE noch nicht installiert haben, laden Sie sie über diesen Link herunter und installieren Sie sie. Stellen Sie sicher, dass Sie Ihr richtiges Betriebssystem auswählen.

Der Link: Arduino herunterladen

Schritt 2: Nach der Installation der Arduino IDE öffnen und laden Sie die erforderlichen Pakete für das STM32-Board herunter. Dies kann durch Auswahl von Datei -> Einstellungen erfolgen.

Schritt 3: Durch Klicken auf Einstellungen wird das unten gezeigte Dialogfeld geöffnet. Fügen Sie in das zusätzliche URL-Textfeld des Boards-Managers den folgenden Link ein:

github.com/stm32duino/BoardManagerFiles/ra…

und drücken Sie OK.

Schritt 4: Gehen Sie nun zu Tool -> Boards -> Board Manager. Dies öffnet das Dialogfeld Boards Manager, sucht nach „STM32 Cores“und installiert das angezeigte Paket (STMicrolectronics-Paket).

Schritt 5: Nach dem Paket ist die Installation abgeschlossen. Gehen Sie zu Tools und scrollen Sie nach unten, um die "Nucleo-32-Serie" zu finden. Stellen Sie dann sicher, dass die Variante "Nucleo F303K8" ist und ändern Sie die Upload-Methode auf "STLink".

Schritt 6: Verbinden Sie nun Ihr Board mit dem Computer und überprüfen Sie mit dem Gerätemanager, an welchem COM-Port das Board angeschlossen ist. Wählen Sie dann dieselbe Portnummer in Tools->Port aus.

Sie sind jetzt bereit, Ihren STM32 F303K8 mit Arduino zu programmieren!

Schritt 5: Programmieren Sie Ihren STM32

Sobald die Konfiguration abgeschlossen ist, müssen Sie Ihren Mikrocontroller so programmieren, dass er Daten sammelt und sendet.

Schritt 1: Überprüfen Sie die Beeinflussung von I/O und Zeitstempel im "Define"-Teil des Codes.

Schritt 2: Laden Sie den obigen Code auf den stm32 hoch, öffnen Sie den seriellen Monitor und setzen Sie das Gerät zurück. Der Befehl "AT" sollte auf dem Bildschirm erscheinen, wenn nicht, überprüfen Sie die E/A-Deklaration.

Sie können sich ein Bild von der Richtigkeit Ihrer Daten machen, indem Sie die im Anhang aufgeführten französischen Rechtsvorschriften konsultieren.

Kommen wir zur Konfiguration des Dashboards.

Schritt 6: ThingSpeak - 1

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

Bevor Sie konfigurieren, wie Daten von unserer Station auf die ThingSpeak-Plattform umgeleitet werden, müssen Sie ein ThingSpeak-Konto erstellen.

Anmelden: ThingSpeak-Website

Schritt 1: Klicken Sie nun auf "Neuer Kanal". Dies öffnet ein Formular. Geben Sie einen Namen und eine Beschreibung ein (falls erforderlich).

5 Feld erstellen:

  • Feld 1: pm2, 5
  • Feld 2: pm10
  • Feld 3: Temperatur
  • Feld 4: Luftfeuchtigkeit
  • Feld 5: NO2

Diese Titel werden nicht die Titel unserer Charts sein.

Wenn Sie ein Beispiel benötigen, siehe Foto oben.

Sie müssen keine weiteren Felder ausfüllen, aber es könnte interessant sein, wenn Sie einen Standort eingeben.

Scrollen Sie nach unten und "Kanal speichern".

Schritt 2: AirCitizen-Stationskanal.

Nun sehen Sie eine Seite mit 5 Diagrammen. Durch Klicken auf das Bleistiftsymbol können Sie die Eigenschaften eines Graphen ändern.

Das Ergebnis ist das zweite Bild oben.

In diesem Schritt sind diese Diagramme privat. Sie können sie nach Erhalt der Daten veröffentlichen.

Schritt 3: Nach der Konfiguration Ihrer Grafiken. Gehen Sie auf die Registerkarte "API-Schlüssel". Sehen Sie sich den API-Anfrageteil und genauer das erste Feld "Kanal-Feed aktualisieren" an. Beachten Sie den API-SCHLÜSSEL.

Sie werden so etwas haben:

Holen Sie sich

Sie können jetzt zum nächsten Kapitel übergehen.

Schritt 7: Kommunikation zwischen dem Sigfox-Modul und der ThingSpeak-Plattform

Kommunikation zwischen dem Sigfox-Modul und der ThingSpeak-Plattform
Kommunikation zwischen dem Sigfox-Modul und der ThingSpeak-Plattform
Kommunikation zwischen dem Sigfox-Modul und der ThingSpeak-Plattform
Kommunikation zwischen dem Sigfox-Modul und der ThingSpeak-Plattform

Beachten Sie zu Ihrer Information, dass jede Sigfox-Modulkarte eine eindeutige Nummer auf der Karte und eine PAC-Nummer hat.

Um die Daten auf ThingSpeak zu erhalten, sollten Sie diese umleiten.

Die Daten gehen von der Station zum Sigfox-Backend und werden zum ThingSpeak-Server umgeleitet.

Siehe das erste Bild oben für Erklärungen.

Schritt 1: Wegen der vielen Tutorials im Internet werden wir nicht erklären, wie man sich bei Sigfox registriert.

Gehen Sie auf das Sigfox-Backend.

Klicken Sie auf "Gerätetyp", dann auf die Zeile Ihres Kits und wählen Sie "Bearbeiten".

Gehen Sie nun in den Abschnitt "Rückrufe" und klicken Sie auf "Neu", "Benutzerdefinierter Rückruf".

Schritt 2:

Sie sollten auf der Konfigurationsseite sein:

Typ: DATEN und UPLINK

Kanal: URL

Duplikat senden: keine

Benutzerdefinierte Payload-Konfiguration: Legen Sie die Datenquelle fest und legen Sie das Datenformular fest. Du solltest schreiben wie:

VarName::Type:NumberOfBits

In diesem Fall haben wir 5 Werte namens pm25, pm10, Temperatur, Feuchtigkeit und NO2.

pm25::int:16 pm10::int:16 Temperatur::int:8 Feuchtigkeit::uint:8 NO2::uint:8

URL-Muster: Dies ist die Syntax. Verwenden Sie den zuvor gefundenen API-Schlüssel und fügen Sie ihn nach "api_key =" ein

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

HTTP-Methode verwenden: GET

SNI senden: EIN

Überschriften: Keine

Klicken Sie nun auf "Ok".

Ihr Rückruf an die ThingSpeak API ist jetzt konfiguriert! (Darstellung im zweiten Bild oben).

Schritt 8: ThingSpeak - 2

ThingSpeak - 2
ThingSpeak - 2

Jetzt können Sie beim Ändern der Mindest- und Höchstwerte der Achsen wählerischer sein.

Klicken Sie bei Bedarf auf das Bleistift-Logo oben rechts in einer Grafik.

Typische Werte:

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

Temperatur = °C

Luftfeuchtigkeit = %

Stickstoffdioxid = ppm

Sie sollten so etwas wie die beiden obigen Bilder haben.

Sie können auch einige andere Widgets wie "Numeric Display" oder "Gauge" hinzufügen.

Um Ihren Kanal schließlich öffentlich zu machen, gehen Sie zum Tab "Teilen" und wählen Sie "Kanalansicht mit allen teilen".

Schritt 9: Bonus - ThingTweet und React

Bonus - ThingTweet und React
Bonus - ThingTweet und React
Bonus - ThingTweet und React
Bonus - ThingTweet und React
Bonus - ThingTweet und React
Bonus - ThingTweet und React

Optional: Tweeten, wenn eine Bedingung erfüllt ist !

Schritt 1: Erstellen Sie ein Twitter-Konto oder verwenden Sie Ihr persönliches Twitter-Konto.

Anmelden - Twitter

Schritt 2: Gehen Sie in Thingspeak in "Apps" und klicken Sie dann auf "ThingTweet".

Verknüpfen Sie Ihren Twitter-Account, indem Sie auf „Twitter-Account verknüpfen“klicken.

Schritt 3: Gehen Sie nun zurück in "Apps" und klicken Sie dann auf "Reagieren".

Erstellen Sie eine neue Reaktion, indem Sie auf "Neue Reaktion" klicken.

Zum Beispiel:

Reaktionsname: Temperatur über 15°C

Bedingungstyp: Numerisch

Testhäufigkeit: Beim Einfügen von Daten

Bedingung, wenn Kanal:

Feld: 3 (Temperatur)

Vorzeichen: ist größer als

Wert: 15

Aktion: ThingTweet

Dann twittern: Oh! Die Temperatur ist größer als 15 °C

mit Twitter-Account:

Optionen: Aktion jedes Mal ausführen, wenn die Bedingung erfüllt ist

Klicken Sie dann auf "Reaktion speichern".

Sie werden nun twittern, wenn die Bedingung erfüllt ist und viele andere Bedingungen können konfiguriert werden, wie je nach PM10-Level.

Schritt 10: Jetzt sind Sie an der Reihe

Endlich haben Sie jetzt alle Elemente, um Ihre eigene AirCitizen Station zu reproduzieren!

Video: Sie können sich ein Video ansehen, in dem wir unsere Arbeit vorstellen.

Unsere ThingSpeak-Plattform: AirCitizenPolytech Station

--

Vielen Dank für Ihre Aufmerksamkeit !

Das AirCitizen Polytech-Team

Schritt 11: Referenz & Bibliographie

https://www.sigfox.com/de

Empfohlen: