Inhaltsverzeichnis:
- Schritt 1: Hardware
- Schritt 2: Hardware - PCB
- Schritt 3: Das LPWAN-Protokoll: Sigfox-Kommunikation
- Schritt 4: Softwarekonfiguration
- Schritt 5: Programmieren Sie Ihren STM32
- Schritt 6: ThingSpeak - 1
- Schritt 7: Kommunikation zwischen dem Sigfox-Modul und der ThingSpeak-Plattform
- Schritt 8: ThingSpeak - 2
- Schritt 9: Bonus - ThingTweet und React
- Schritt 10: Jetzt sind Sie an der Reihe
- Schritt 11: Referenz & Bibliographie
Video: AirCitizen - Überwachung der Luftqualität - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
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
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:
- Schweißen Sie parallel die Sonnenkollektoren.
- Verbinden Sie diese mit dem LiPo Rider Pro und schließen Sie auch den Akku an den LiPo Rider Pro an.
- 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.
- 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
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
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
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
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
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
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
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:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
ESP-01 Programmier-Hack - der Einfache :): 6 Schritte
ESP-01 Programmierer Hack - der Einfache :): Hallo ESPer, In diesem anweisbaren zeige ich Ihnen einen einfachen Hack, um einen Programmierer für ESP-01 / ESP8266-01 / ES-01-Modul zu machen. Die meisten von uns haben ein Arduino-Board oder FTDI USB-TTL-Geräte als Programmierer für dieses Modul verwendet. Beide Methoden funktionieren gut. Aber t
Der Sanity Check: 5 Schritte (mit Bildern)
Der Sanity Check: Bei diesem Projekt dreht sich alles um die Gesundheit oder darum, dass er regelmäßig überprüft wird. Der beste Weg, dies zu erreichen, besteht darin, eine Maske zu bauen, deren Augen zufällig rot leuchten. Oft genug, damit es auffällt, aber spärlich genug, um die Leute zweifeln zu lassen
So erstellen Sie einen Smart Pot mit NodeMCU, der von der App gesteuert wird – wikiHow
So erstellen Sie einen Smart Pot mit NodeMCU, der von einer App gesteuert wird: In dieser Anleitung bauen wir einen Smart Pot, der von einem ESP32 und einer Anwendung für Smartphones (iOS und Android) gesteuert wird. Wir verwenden NodeMCU (ESP32) für die Konnektivität und die Blynk-Bibliothek für das Cloud-IoT und die Anwendung auf dem Smartphone. Endlich haben wir