PM2.5 & PM10 Luftqualitätsdetektor-App für Windows 10 UWP entwickeln
Komponenten und Materialien
| SDS011 PM2.5 & PM10 Sensor | 1 |
| HC-06 Bluetooth Modul | 1 |
| Mini-Breadboard | 1 |
| Lumia 1520 oder anderes Windows Phone 10 kompatibles Gerät | 1 |
| ORICO Bluetooth Modul | 1 |
| Arduino UNO | 1 |
| Raspberry Pi 2 Model B | 1 |
Apps und Online-Dienste
- Microsoft Windows 10 IoT Core
Über dieses Projekt
Einführung
Luftverschmutzung ist eine globale Herausforderung, die nicht ignoriert werden kann. Feinstaubpartikel PM2.5 und PM10 gehören zu den Hauptschadstoffen, die die menschliche Gesundheit gefährden. In diesem Projekt wird ein PM2.5- und PM10-Detektor für die Windows 10 Universal Windows Platform (UWP) entwickelt, der auf Windows 10 für PC, Mobile und IoT Core läuft.
Die Anwendung basiert auf einer UWP-Vorlage. Zunächst wird ein SDS011-Sensor mit HC-06 Bluetooth-Modul eingesetzt, um Echtzeitdaten zu erfassen und per Bluetooth zu übertragen. Anschließend empfängt ein Windows 10 Gerät mit Bluetooth die Daten und stellt sie auf dem verbundenen Bildschirm dar.
Voraussetzungen
Der SDS011-Sensor nutzt das Prinzip der Laserstreuung, um Konzentrationen von Schwebstoffen von 0,3 bis 10 Mikrometer zu messen – mit stabilen und zuverlässigen Daten. Die Bluetooth-Kommunikation erfolgt über das günstige, kompakte HC-06 Modul.
Für Windows 10 Geräte: Surface Pro und Lumia 1520 verfügen über integriertes Bluetooth. Bei Raspberry Pi oder anderen Windows 10 IoT-Geräten wird ein Bluetooth-Dongle benötigt. Zur Einrichtung der Umgebung verweisen wir auf David Jones' Anleitung "Generic Serial Bluetooth with Win 10 IoT-Core RPI2".
Hinweis: Die Ersteinrichtung dauert ca. 2–3 Stunden, falls Windows 10 und Visual Studio 2015 noch nicht installiert sind – der Großteil der Zeit läuft jedoch unbeaufsichtigt.
Benötigte Teile
- SDS011 PM2.5 & PM10 Sensor
- HC-06 Bluetooth Modul
- Male-Male und Male-Female Jumper-Kabel
- Mini-Breadboard
- Lumia 1520 oder anderes Windows Phone 10 kompatibles Gerät
- ORICO Bluetooth Modul
- Arduino Uno R3
- Raspberry Pi 2
Projektschritte
Schritt 1: HC-06 Modul mit SDS011 Sensor verbinden
Dauer: 5 Minuten
Teile: 5V Stromversorgung, HC-06, SDS011, Jumper-Kabel, Mini-Breadboard
Der SDS011 gibt Daten standardmäßig über TTL-USB aus, was für drahtlose Verbindungen ungeeignet ist. Das HC-06 Modul dient als Bluetooth-Schnittstelle für die Datenübertragung – deutlich günstiger als das BlueSMiRF Silver Modul von SparkFun. Als Stromquelle dient 5V DC.
Zunächst das Bluetooth-Modul auf dem Breadboard platzieren. Die Stromversorgung erfolgt über einen Jumper vom 5V-Pin des Arduino zum VCC-Pin des Moduls (alternativ jede andere 5V-Quelle). Ein weiterer Jumper verbindet GND des Moduls mit einem GND-Pin des Arduino. Für die serielle Kommunikation: TX des Bluetooth-Moduls mit RX des SDS011 und RX des Moduls mit TX des SDS011 verbinden.

Schritt 2: Bluetooth-Modul mit Windows 10 Gerät koppeln
Dauer: 5 Minuten
Teile: Bluetooth-Modul, Windows 10 Gerät, ORICO Bluetooth Modul (optional)
Das HC-06 nutzt das SPP-Protokoll (Serial Port Profile). Jedes SPP-fähige Gerät kann sich verbinden. Unter Windows 10 erscheint das Modul als virtueller COM-Port. Die rote LED am Modul zeigt den Status: Blinkend = "bereit zum Koppeln", durchgehend leuchtend = "gekoppelt".
Windows 10 PC: Einstellungen → Geräte → Bluetooth → Bluetooth aktivieren → "HC-06" auswählen → Koppeln → Standard-Pairing-Code: 1234, Standard-Baudrate: 9600.

Windows 10 Mobile: Gleicher Ablauf wie beim PC.

Windows 10 IoT Core (z. B. Raspberry Pi 2): Hier ist der Prozess anders. Raspberry Pi 2 und MBM haben kein integriertes Bluetooth – ein USB-Dongle (z. B. ORICO BTA-403) ist nötig. Dragon Board 410c hat Bluetooth an Bord.
ORICO BTA-403 in den USB-Port des Raspberry Pi 2 stecken. Auf dem Standard-App-Bildschirm von Windows 10 IoT Core erscheinen Meldungen. Für die Kopplung per SSH auf das IoT-Gerät verbinden und das Kommandozeilen-Tool nutzen (siehe "Pairing a BLE Device and GATT Attribute Table Dump Tool", Abschnitt "Pairing the Sensortag", Schritte 1–6). Wichtig: BR-Modus im Hauptmenü wählen, Standard-Pairing-Code: 1234.

Nach erfolgreicher Kopplung:

Schritt 3: Code herunterladen und bereitstellen
Dauer: 10 Minuten
1. 5V DC-Stromversorgung anschließen – der Sensor sendet nun jede Sekunde Daten.
2. "GenericBluetoothSerialUWApp"-Projekt von GitHub herunterladen.
3. In Visual Studio 2015 (Update 1) öffnen. Die App basiert auf David Jones' "Generic Serial Bluetooth with Win 10 IoT-Core RPI2".
- Für PC: x86/x64 mit lokalem Debugging
- Für Mobile: ARM mit Geräte-Debugging
- Für IoT (z. B. Raspberry Pi 2): "Remote Debugging" auf das Zielgerät einstellen
Nach der Kopplung HC-06 mit dem Windows 10 Gerät: F5 drücken, um die UWP-App zu starten. Doppelklick auf das "HC-06"-Symbol → ID und Name werden oben angezeigt. Die LED am HC-06 wechselt von Blinken zu Dauerlicht. Button "Start Recv" wird aktiviert → klicken → "Stop Recv" und "Start Process" werden aktiv. "Start Process" klicken, um den Datenverarbeitungsalgorithmus zu starten.

Die PM2.5- und PM10-Werte werden in den TextBlocks angezeigt.
Code
PM25Detector
Windows 10 UWP App: GitHub Repository
Schaltpläne
Im Schaltplan steht der Sparkfun ZigBee-Modul stellvertretend für den PM2.5-Sensor SDS011. Verwendete Pins: 5V, GND, TX, RX.
PM25Detector.fzz
Herstellungsprozess
- Design for Manufacturability (DFM): Praktischer Guide für Engineers & Designer
- Bluetooth 5.1 SoC: Ultra-kompakte, kostengünstige Lösung für IoT-Geräte
- Vorrichtungen und Werkzeuge für die additive Fertigung optimieren
- Visual Studio 2019 Community Edition für C#-Entwicklung unter Windows installieren
- GCC Compiler auf Windows, macOS und Linux installieren: Schritt-für-Schritt-Anleitung
- Fortschrittliches Sturz-Erkennungssystem mit Arduino, Windows IoT & Azure Cloud
- Kostengünstiger Blitzdetektor mit Arduino Uno – VLF-EMF-Sensor
- Wesentliche RF- & Microwave-Design-Prinzipien für zuverlässige PCB-Performance
- High-Voltage-PCB-Design: Materialien, Sicherheit und Best Practices
- Die entscheidende Rolle von Design for Manufacturing (DFM) für Hardwarerfolg