Метеостанция на Arduino MKR FOX 1200 с Sigfox — низкоэнергетическое IoT-решение
Компоненты и материалы
| Arduino MKR Fox 1200 | 1 |
| Датчик температуры и влажности DHT11 (3 пина) | 1 |
Приложения и онлайн-сервисы
- Sigfox (платформа LPWAN)
- ThingSpeak API (визуализация данных)
- Arduino IDE
- Arduino Web Editor
- Arduino IoT Cloud
О проекте
Введение: Метеостанция на Arduino MKR Fox 1200 с Sigfox
Sigfox — французская компания, основанная в 2009 году, создающая беспроводные сети для низкоэнергетичных устройств (счетчики, умные часы, бытовая техника), которые должны постоянно передавать малые объемы данных.
Sigfox использует проприетарную технологию в ISM-диапазоне (868 МГц в Европе, 902 МГц в США). Сигнал «уltranarrowband» проникает сквозь препятствия, требует минимум энергии и относится к классу LPWAN (Low-Power Wide-Area Network). Сеть построена по звездообразной топологии с одним прыжком и требует оператора для передачи трафика. Сигнал покрывает большие площади и достигает подземных объектов.
В этом руководстве мы создадим простую и эффективную метеостанцию на базе Sigfox.
Необходимые материалы:
- Arduino MKR Fox 1200
- Датчик DHT-11 (есть в виде шилда или отдельного модуля). Можно использовать более точный DHT-22 — та же библиотека.
- Аккаунт разработчика Sigfox
- Аккаунт ThingSpeak
Шаг 1: Начало работы с Arduino MKR Fox 1200
- Официальная страница: Arduino MKR Fox 1200 Guide
- Зарегистрируйте плату в Sigfox: SigFox First Configuration
- Активация: backend.sigfox.com/activate
Без этого шага плата не подключится к ThingSpeak или другому бэкенду.
Шаг 2: Создание аккаунта на ThingSpeak
- Регистрация: ThingSpeak Sign Up
- Создайте новый канал (Channel).
- Получите API Key (вкладка API Keys) и добавьте его в URL на бэкенде Sigfox (см. шаг 4).
Шаг 3: Железо и схема подключения
Можно использовать как обычный датчик DHT-11, так и модуль на плате. При использовании голого датчика нужен подтягивающий резистор 10 кОм между VCC и data pin. Шилд подключается напрямую. DHT-22 подключается так же.
Подключение: 5V и GND к датчику, data pin → пин 1 Arduino MKR Fox 1200.
Проверьте работу: установите библиотеку DHT, откройте пример, посмотрите Serial Monitor — должны видеть «Temp» и «Humi».
Шаг 4: Настройка Callback на портале разработчика Sigfox
- Зайдите на backend.sigfox.com.
- Device Type → Callbacks → New.
- Type: DATA, Uplink.
- Channel: URL.
- Custom payload config:
status::uint:8 temp::int:16:little-endian t::int:16:little-endian h::int:16:little-endian - HTTP method: GET.
- Callback URL (замените
###############на ваш ThingSpeak API Key):https://api.thingspeak.com/update?api_key=###############&field1={customData#temp}&field2={customData#t}&field3={customData#h}&field4={snr}
Шаг 5: Полный код и ПО
Установите библиотеки через Library Manager:
ArduinoLowPowerSigfoxDHT
#include <ArduinoLowPower.h>
#include <Sigfox.h>
#include <DHT.h>
В callback-данных на бэкенде указаны имена переменных из скетча. Пример ключевых фрагментов:
t = dht.readTemperature();
msg.t = convertoFloatToInt16(t, 60, -60);
h = dht.readHumidity();
msg.h = convertoFloatToUInt16(h, 110);
...
msg.moduleTemperature = convertoFloatToInt16(temperature, 60, -60);
...
SigFox.write((uint8_t*)&msg, 12);
Код считывает температуру и влажность, конвертирует в int и отправляет через SigFox.write на ThingSpeak.
Полный код на GitHub: masteruan/SigFoxThingSpeak
Загрузите скетч, протестируйте. Устройство можно питать от батареи — я использую его на лодке без Wi-Fi, данные уходят через сеть Sigfox.
Код
GitHub
Arduino MKR Fox 1200 + DHT-11: https://github.com/masteruan/SigFoxThingSpeak
Производственный процесс
- Продвинутая метеостанция v2.0: мониторинг температуры, давления, влажности и высоты в реальном времени
- Сборка DCC-командной станции для модельной железной дороги на Arduino с бесплатным приложением
- Автоматизированная барная станция «6-Сhooter» на Arduino — Собираем коктейльный робот своими руками
- Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
- Портативная метеостанция на Arduino Nano за $10: DHT22, BMP180 и LCD
- eDOT: точные Arduino-часы и метеостанция с встроенным ИК-пультом
- Метеостанция на Arduino и ThingSpeak: температура и влажность в облаке
- Мониторинг давления в реальном времени с MKR GSM, Arduino Cloud и Google Sheets
- Метеостанция на Arduino MKR FOX 1200 с Sigfox — низкоэнергетическое IoT-решение
- Надежная погодная станция на Arduino с датчиками DHT