Создание приложения детектора качества воздуха PM2.5 и PM10 для Windows 10 UWP
Компоненты и материалы
| Компонент | Количество |
|---|---|
| Датчик SDS011 PM2.5 & PM10 | 1 |
| Bluetooth-модуль HC-06 | 1 |
| Мини-макетная плата | 1 |
| Lumia 1520 или другое устройство с Windows 10 Mobile | 1 |
| Bluetooth-модуль ORICO (для Raspberry Pi) | 1 |
| Arduino UNO | 1 |
| Raspberry Pi 2 Model B | 1 |
Приложения и онлайн-сервисы
- Microsoft Windows 10 IoT Core
О проекте
Введение
Загрязнение воздуха — глобальная проблема, которую нельзя игнорировать. Твердые частицы PM2.5 и PM10 являются основными загрязнителями, угрожающими здоровью человека. В этом проекте описано создание детектора PM2.5 и PM10 для платформы Windows 10 Universal (UWP), работающего на ПК, мобильных устройствах и Windows 10 IoT Core. Приложение построено на шаблоне UWP. Во-первых, датчик SDS011 с Bluetooth-модулем HC-06 собирает данные в реальном времени и передает их по Bluetooth. Во-вторых, устройство на Windows 10 принимает данные и отображает их на экране.
Необходимые компоненты
- Датчик SDS011 PM2.5 & PM10
- Bluetooth-модуль HC-06
- Провода-перемычки (male-male и male-female)
- Мини-макетная плата
- Lumia 1520 или совместимое устройство Windows 10 Mobile
- Bluetooth-модуль ORICO (для Raspberry Pi)
- Arduino Uno R3
- Raspberry Pi 2
Инструкция по сборке
Шаг 1: Подключение HC-06 к датчику SDS011
Время: 5 минут
Детали: Источник питания 5В, HC-06, SDS011, перемычки, мини-макетная плата
Исходный выход SDS011 — TTL-USB, не подходящий для беспроводной связи. Используем HC-06 как Bluetooth-модуль для передачи данных — он дешевле аналогичных решений. Питание обеспечивается от 5В DC.
- Установите Bluetooth-модуль на макетную плату.
- Подключите Vcc модуля к 5В Arduino (или другому источнику 5В).
- Соедините GND модуля с GND Arduino.
- Для последовательной связи соедините TX модуля с RX SDS011, а RX модуля — с TX SDS011.

Шаг 2: Сопряжение Bluetooth-модуля с устройством Windows 10
Время: 5 минут
Детали: Bluetooth-модуль, устройство Windows 10, модуль ORICO (опционально)
Модуль работает по протоколу SPP (Serial Port Profile), поэтому любое устройство с поддержкой SPP может к нему подключиться. На Windows 10 это выглядит как виртуальный COM-порт. Перед сопряжением убедитесь, что модуль включен и готов к парсингу: мигающий красный LED означает «готов к парсингу», постоянно горящий — «сопряжен».
Windows 10 для ПК: Перейдите в Параметры → Устройства → Bluetooth, включите Bluetooth, найдите «HC-06», нажмите для сопряжения, введите код 1234 (по умолчанию). Скорость порта по умолчанию — 9600 Baud.

Windows 10 Mobile: Аналогичные действия в Параметрах → Устройства → Bluetooth.

Windows 10 IoT Core (Raspberry Pi 2, MBM, Dragon Board 410c): Процесс отличается. Для Raspberry Pi 2 и MBM нужен USB Bluetooth-адаптер (проверьте список совместимости). В проекте используется ORICO BTA-403. Dragon Board 410c имеет встроенный Bluetooth.
- Вставьте ORICO BTA-403 в USB-порт Raspberry Pi 2.
- После подключения на экране устройства IoT Core появятся сообщения.
- Для парсинга используйте SSH и командную строку, следуя инструкции «Pairing a BLE Device and GATT Attribute Table Dump Tool» (раздел «Pairing the Sensortag», шаги 1–6). Выберите режим BR в главном меню. Код парсинга по умолчанию — 1234.


Шаг 3: Загрузка и развертывание кода
Время: 10 минут
- Подключите питание 5В DC к датчику с HC-06. Данные будут приходить каждую секунду.
- Скачайте проект «GenericBluetoothSerialUWApp» с GitHub. Откройте в Visual Studio 2015 с Update 1.
- Для ПК выберите архитектуру x86/x64 и локальную отладку. Для Mobile — ARM и отладку на устройстве. Для IoT Core (Raspberry Pi 2) настройте «Remote Debugging» на ваше устройство.
- После сопряжения HC-06 нажмите F5 для запуска UWP-приложения.
- Дважды щелкните символ «HC-06» — ID и Name отобразятся вверху. LED на HC-06 перестанет мигать и будет гореть постоянно. Кнопка «Start Rev» станет активной. Нажмите её для начала приема данных. Затем станут доступны кнопки «Stop Recv» и «Start Process». Нажмите «Start Process» для запуска алгоритма обработки.

На экране появятся значения PM2.5 и PM10 в соответствующих TextBlock.
Код
Приложение Windows 10 UWP: PM25Detector на GitHub
Схемы
В файле схемы Sparkfun ZigBee модуль представляет датчик SDS011. Используются пины 5V, GND, Tx, Rx.
PM25Detector.fzz
Производственный процесс
- Design for Manufacturability (DFM): практическое руководство для инженеров и дизайнеров
- Bluetooth 5.1 SoC: Ультракомпактное, низкозатратное решение для IoT-устройств
- Оптимизация приспособлений и оснастки для аддитивного производства
- Установка Visual Studio 2019 Community Edition для C#-разработки на Windows
- Как установить компилятор GCC на Windows, macOS и Linux: пошаговое руководство
- Продвинутая система обнаружения падений: Arduino + Windows IoT + Azure Cloud
- Создание дешевого детектора молний на Arduino Uno
- Ключевые принципы проектирования RF и СВЧ печатных плат для надежной работы
- Проектирование печатных плат высокого напряжения: Материалы, безопасность и лучшие практики
- Критическая роль Design for Manufacturing (DFM) в успехе हारдварных продуктов