Надежный счетчик кВт·ч на Sigfox с Arduino MKR Fox 1200
Компоненты и материалы
| Arduino MKR Fox 1200 | ×1 |
| Беспаяльная макетная плата | ×1 |
| Перемычки | ×1 |
| Оптопара CNY70 (рефлективный датчик) | ×1 |
| Резистор 221 Ом | ×1 |
| Резистор 10 кОм | ×1 |
| Резистор 100 Ом | ×1 |
| Потенциометр | ×1 |
| Кнопка 12 мм (SparkFun) | ×1 |
| Светодиод | ×1 |
Приложения и сервисы
- Arduino IDE
- Sigfox Backend
- ThingSpeak API
О проекте
1. В двух словах
Устройство подключает старый индукционный счетчик электричества к интернету. Счетчик с вращающимся диском: по кругу рефлектирующая краска, одна черная полоса. Один оборот = проход черной полосы. В данном проекте 120 оборотов = 1 кВт·ч.
2. Микроконтроллер, сеть IoT и прочее
Используется Arduino MKRFOX1200 со встроенным модулем Sigfox (LPWAN, 868 МГц ISM). Лимит: 140 сообщений в сутки (12 байт полезной нагрузки). Данные хранятся в облаке Sigfox, откуда их можно перенаправить колбэками.
ThingSpeak — IoT-платформа для визуализации данных. В проекте служит приемником колбэка Sigfox, строит графики потребления в реальном времени.
3. Практическая реализация
- Сборка: соедините компоненты по схеме. Питание — USB powerbank или ноутбук.
- Код: загрузите скетч (прилагается).
- ThingSpeak: зарегистрируйтесь, создайте канал 1 (поле Consumption), канал 2 на базе MATLAB Analysis с кодом для накопления значений в кВт·ч (см. код в оригинале).
- Sigfox Callback: в backend.sigfox.com создайте callback:
- TYPE: DATA UPLINK
- CHANNEL: URL
- CUSTOM PAYLOAD CONFIG:
status::uint:32:little-endian - URL PATTERN:
https://api.thingspeak.com/update?api_key=WRITE_API_KEY_CHANNEL1&field1={customData#status} - METHOD: GET
4. Установка и логика работы
Датчик CNY70 клеится двусторонним скотчем на стекло счетчика, напротив центра диска. Два нажатия кнопки — режим калибровки: на рефлектирующей части диод горит, на черной полосе — гаснет. Третье нажатие — старт измерений. Устройство считает обороты (точность 25 Вт·ч = 3 оборота) и каждые 30 минут отправляет накопленное потребление в Sigfox.
5. Результат
На ThingSpeak отображается график потребления электрической энергии в кВт·ч с обновлением каждые 30 минут.
Производственный процесс
- Умный датчик полива «Thirst Alert» на Arduino — DIY сигнализация засухи для растений
- Итальянские словесные часы на Arduino Nano, NeoPixel, LCD и RTC
- Экономия пинов Arduino: подключение 4×3 клавиатуры по трём аналоговым входам
- Bluetooth-монитор температуры на Arduino Nano с NTC-термистором
- DIY Автоматический измеритель емкости (10 пФ – 10 мкФ) на Arduino Nano
- Бесконтактный жестовый замок: APDS-9960 + Arduino для безопасного доступа
- Набор-компаньон для Arduino Nano — необходимые компоненты и инструменты для DIY-электроники
- Набор USB-MIDI адаптера для Arduino Micro / Leonardo — полный список деталей
- Гальванически разделённый аналоговый вход для Arduino на LM331 и оптопаре 4N25
- Точный тест времени реакции на Arduino UNO