Оглавление:

Контроллер сети IoT. Часть 9: Интернет вещей, домашняя автоматизация: 10 шагов (с изображениями)
Контроллер сети IoT. Часть 9: Интернет вещей, домашняя автоматизация: 10 шагов (с изображениями)

Видео: Контроллер сети IoT. Часть 9: Интернет вещей, домашняя автоматизация: 10 шагов (с изображениями)

Видео: Контроллер сети IoT. Часть 9: Интернет вещей, домашняя автоматизация: 10 шагов (с изображениями)
Видео: Создание интернет вещей на ESP8266. Часть 2. 2024, Ноябрь
Anonim
Контроллер сети IoT. Часть 9: Интернет вещей, домашняя автоматизация
Контроллер сети IoT. Часть 9: Интернет вещей, домашняя автоматизация

Отказ от ответственности

ПРОЧИТАЙТЕ ЭТО ПЕРВЫЙ

В этом руководстве подробно описывается проект, в котором используется сетевое питание (в данном случае 240 В переменного тока, действующее в Великобритании), хотя были предприняты все меры для использования безопасных методов и принципов проектирования, всегда существует риск потенциально смертельного поражения электрическим током при работе с этим напряжением питания и для автор которого не может нести никакой ответственности в случае причинения телесных повреждений или материального ущерба при просмотре его содержания. Следовательно, вы делаете этот проект на свой страх и риск.

Преамбула

В этой статье, девятой из серии, посвященной домашней автоматизации, рассказывается, как создать и интегрировать сетевой контроллер Sonoff 10A IoT в существующую систему домашней автоматизации, включая все необходимые программные функции для успешного развертывания в домашних условиях.

Вступление

Как упоминалось выше, в этом руководстве подробно описано, как создать и интегрировать сетевой контроллер IoT с помощью Sonoff 10A от iTead. Само устройство заявлено как рассчитанное на 10 ампер при 90 ~ 250 В переменного тока, однако эта реализация снижает его до 5 ампер через вилку с предохранителем, обеспечивающую внутреннее питание в Великобритании 240 В переменного тока RMS.

Методология проектирования легко интегрируется в сеть IoT на основе MQTT / OpenHAB, подробно описанную в этой серии статей о построении домашней автоматизации на повторно используемом коде, взятом отсюда. Он также может справиться с потерей любого сетевого элемента IoT и полностью способен работать в автономном режиме. В автономном режиме управление устройством осуществляется простым нажатием кнопки управления в верхней части корпуса, которая переключает выход питания.

Чтобы включить это локальное управление устройством Sonoff, GPIO14 вынесен из корпуса и используется в качестве триггерного входа. Для обеспечения безопасности этот вход запитывается через оптоволоконную схему и помещен в пластиковый корпус, так что оператор никогда не подвергается воздействию сетевого напряжения.

Наконец, в прозе также рассказывается, как перепрограммировать устройство ESP8266 в Sonoff 10A с помощью Arduino IDE, и дается полная схема устройства, которое можно использовать для надежного программирования целевого кода.

Какие запчасти мне нужны?

Контроллер сети Sonoff

  1. 1 от Sonoff 10A здесь
  2. 1 выключатель 7805L 5v стабилизатор напряжения здесь
  3. 1 выключатель 240 / 6VAC 1.5VA Трансформатор здесь
  4. Здесь 2 керамических конденсатора 0,1
  5. 1 электролитический конденсатор 1000 мкФ @ 25 В здесь
  6. 1 от мостового выпрямителя 2W01 здесь
  7. 2 резистора 4К7 здесь
  8. 1 резистор 330R здесь
  9. 1 кнопка выключения SPST здесь
  10. 1 шт. Mulitcomp BM12W ABS Enclosure здесь
  11. 1 оптрон TIL111 здесь
  12. 1 3-контактная клеммная колодка здесь
  13. 1 двусторонний кодированный разъем Molex здесь / здесь
  14. 1 3-полосный кодированный разъем Molex здесь / здесь
  15. 1 5-контактный кодированный разъем Molex здесь / здесь
  16. 1 5-контактный молексный штифт здесь
  17. 1 от Winbond SPI Flash (W25Q32FVSIG) здесь
  18. 1 держатель предохранителя 20 мм + крышка здесь
  19. 1 предохранитель 20 мм с быстрым срабатыванием 500 мА здесь
  20. 2 кабельных ввода из полиамида здесь
  21. 1 штекер для подключения к электросети Великобритании (BS1363 / A) здесь
  22. 1 розетка UK Main (BS1363 / A) здесь
  23. 7 нейлоновых винтов M3 16 мм CS (включая 10 гаек) здесь / здесь
  24. 2 стяжки здесь
  25. 1 off veroboard (шаг 0,1 ") здесь
  26. 1 шт. Луженая медная проволока разной длины 22swg здесь
  27. 1 сетевой кабель 3M White UK здесь
  28. 10 обжимов гнезда Molex здесь

Программист Sonoff

  1. 1 выключатель LD33CV 3v3 стабилизатор напряжения здесь
  2. 1 радиатор ТО-220 здесь
  3. 1 от пасты радиатора здесь
  4. Здесь 1 электролитический конденсатор 10 мкФ при 16 В
  5. 1 керамический конденсатор 0,1 0,1 здесь
  6. 1 кнопка выключения SPDT здесь
  7. 1 резистор 4K7 здесь
  8. 1 двусторонний кодированный разъем Molex здесь / здесь
  9. 1 3-полосный кодированный разъем Molex здесь / здесь
  10. 5 обжимов гнезда Molex здесь
  11. 1 шестигранная розетка molex здесь
  12. 1 кнопка выключения SPST здесь
  13. 1 гнездо для блока питания 2,1 мм здесь
  14. 1 off veroboard (шаг 0,1 ") здесь
  15. 1 от USB к последовательному адаптеру (FTDI) здесь

Какое программное обеспечение мне нужно?

  1. Arduino IDE 1.6.9 здесь
  2. Arduino IDE настроен для программирования ESP8266. Посмотреть здесь; Настройка IDE Arduino для программирования ESP8266-01

Какие инструменты мне нужны?

  1. Паяльник,
  2. Дрель и различные биты (включая ступенчатый резак для кабельных вводов и кнопку управления),
  3. Отвертки (разные),
  4. Разводные гаечные ключи (два шт., Ширина губок> 25 мм, для кабельных вводов),
  5. Файлы (разные),
  6. Прочные тиски,
  7. Тепловая пушка,
  8. DMM (желательно CAT IV).

Какие навыки мне нужны?

  1. Хорошее знание электроники и домашней электробезопасности / дизайна / электропроводки и т. Д.,
  2. Знание Arduino и его IDE,
  3. Хорошие навыки изготовления (пайка, опиловка, сверление и т. Д.),
  4. Немного терпения,
  5. Некоторое понимание вашей домашней сети.

Темы охватывали

  • Вступление
  • Обзор схемы
  • Sonoff RetroMods
  • Детали конструкции и сборки
  • Адаптер для программирования Sonoff
  • Обзор системы программного обеспечения
  • Обзор программного обеспечения
  • Конфигурация OpenHAB
  • Тестирование вашего IoT-устройства
  • Заключение
  • Использованные ссылки

Ссылки на серию

К части 8: Датчик температуры и влажности WiFi IoT. Часть: 8 Интернет вещей, Домашняя автоматизация

К части 10: ИК-пульт дистанционного управления через IoT. Часть 10 Интернет вещей, домашняя автоматизация

Шаг 1: Обзор схемы

Обзор схемы
Обзор схемы
Обзор схемы
Обзор схемы
Обзор схемы
Обзор схемы
Обзор схемы
Обзор схемы

Обзор

Как упоминалось во введении выше, для того, чтобы иметь возможность включать и выключать сетевой контроллер локально, требовался вход на бортовой ESP8266 Sonoff. Введение такого внешнего входа требует взлома корпуса Sonoff ABS и, следовательно, создает потенциальную опасность поражения электрическим током. Чтобы преодолеть это, я использовал оптическую изоляцию, чтобы исключить возможность воздействия сетевого электричества за пределы корпуса системы сетевого контроллера.

Далее следует описание схемы оптоизоляции (на рис. 1 выше).

Детали схемы

Схема оптоизоляции получает питание непосредственно от сети, подключенной к устройству. Среднеквадратичное значение 240 В перем. Тока подается на понижающий / развязывающий трансформатор TR1 через J1, феониксный контакт MKDSN2, 5 / 3-5.08 полиамидный 3-контактный терминал, рассчитанный на 16 А при 400 В, способный пропускать кабель 2,5 мм (кв.) CSA и F1 500 мА 20 мм быстродействующий предохранитель. Напряжение 6 В переменного тока, подаваемое на вторичные обмотки TR1, выпрямляется диодным мостом B1.

Этот двухполупериодный выпрямленный выход затем стабилизируется и регулируется шунтирующими регуляторами C1, C2, C3, R3 и IC1 серии 7805L, что дает хорошую чистую шину питания 5 В.

Затем шина 5 В используется для управления входом в оптоизолятор OK1 TIL111 через внешнюю белую кнопку SPST, подключенную к J3. Выход TIL111 подключен к входу Sonoff GPIO14 через резистор R2, подтягивающий 4K7. Таким образом достигается изоляция лучше, чем 340 В (т. Е. Пиковое напряжение = (240 В переменного тока * sqroot (2))).

Шаг 2: Sonoff RetroMods

Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods

Для интеграции устройства Sonoff 10A необходимо внести некоторые ретроспективные модификации.

Первый - добавить 5-контактный разъем Molex с шагом 0,1 дюйма, как показано на рис. 1. Это позволяет получить доступ к GPIO14 на Sonoff после замены защитной крышки, как на рис. 2 и 3 выше.

Хотя это не показано выше, я также извлек последовательные линии TX / RX, чтобы можно было программировать на месте (см. Кабельный жгут SK1..3 в шаге 1 выше).

Вторая модификация заключается в увеличении размера флэш-устройства SPI со значения по умолчанию 1 МБ до 4 МБ, чтобы оставить достаточно места для хранения файлов веб-сервера IoT в SPIFFS.

Я купил флеш-устройство SMD SPI (W25Q32FVSIG) на Ebay здесь

Чтобы заменить вспышку, я временно удалил светодиод Sonoff, как показано на рисунке 4, чтобы облегчить доступ к устройству SMD. Чтобы распаять вспышку, я использовал тепловую пушку, как показано на рис. 5 выше. Затем перепаял 4MB Flash и LED соответственно (рис. 6).

Шаг 3: Детали конструкции и сборки

Детали конструкции и сборки
Детали конструкции и сборки
Детали конструкции и сборки
Детали конструкции и сборки
Детали конструкции и сборки
Детали конструкции и сборки
Детали конструкции и сборки
Детали конструкции и сборки

Я вложил сетевой контроллер в коробку Mulitcomp BM12W ABS (рис. 1 выше). Этот корпус имеет изолированные латунные вставки M3, обеспечивающие множественный доступ к устройству без нарушения крепежной резьбы, так что внутренний предохранитель может быть заменен при необходимости или внутренний осмотр может проводиться с течением времени (этого нельзя сказать об устройстве Sonoff, которое эффективно однократное закрытие с использованием саморезов).

Первичная разгрузка от натяжения сетевого кабеля была достигнута с помощью белого кабельного сальника M16 из нейлона / полиамида 6/6, поддерживающего кабель с наружным диаметром мин. / Макс. 5 мм / 10 мм.

Вторичное снятие натяжения осуществлялось с помощью одинарной стяжки, закрепленной на кабеле. В случае чрезмерного натяжения и выхода из строя кабельного сальника стяжка будет удерживать кабель на месте.

Чтобы установить кабельные вводы и обеспечить достаточно места для установки Sonoff и оптоизолирующей электроники, я снял внутренние монтажные ребра печатной платы, как показано выше (рис. 2).

Вся электроника была надежно закреплена с помощью нейлоновых CS-винтов M3, чтобы обеспечить изоляцию от внешней части корпуса. Оптоизолирующая электроника монтируется с 5 точками крепления для обеспечения звуковой механической прочности в случае падения устройства, что предотвращает разрыв цепи вероупорта массой изолирующего трансформатора.

Электропитание блока осуществлялось через стандартный трехжильный сетевой многожильный сетевой кабель (32 / 0,2 мм кв.) С цветовой кодировкой белого цвета, соответствующий стандарту Великобритании, CSA. с внешним диаметром 7,2 мм, способным выдерживать ток 10 А.

Устройство было подключено к электросети Великобритании (240 В переменного тока, среднеквадратичное значение) через стандартную 3-контактную безопасную вилку (BS 1363 / A), одобренную. В вилке был предохранитель на 5А.

Все сетевые кабели питания к оптоизолирующей цепи были подключены через феоникс-контакт MKDSN2, 5 / 3-5.08 полиамидные клеммы, рассчитанные на 16 А при 400 В, способные нести кабель 2,5 мм (кв.) CSA, таким образом обеспечивая достаточную емкость для двух кабелей в каждая позиция.

Сетевые кабели не были залужены, их просто скручивали, чтобы предотвратить растяжение жил перед вставкой в блок разъемов. Лужение сетевых кабелей - опасная практика, так как со временем припой «расслабляется», в результате чего кабель теряется в блоке разъемов.

Примечание:

  • OD = Внешний диаметр.
  • VAC = Вольт переменного тока
  • RMS = среднеквадратическое значение
  • CSA = Площадь поперечного сечения
  • CS = Счетчик потоплен

Шаг 4: Адаптер для программирования Sonoff

Адаптер для программирования Sonoff
Адаптер для программирования Sonoff
Адаптер для программирования Sonoff
Адаптер для программирования Sonoff
Адаптер для программирования Sonoff
Адаптер для программирования Sonoff
Адаптер для программирования Sonoff
Адаптер для программирования Sonoff

При перепрограммировании Sonoff 10A через Arduino IDE необходимо учитывать два аспекта;

  1. Настройка вашей Arduino IDE для программирования ESP8266,
  2. Акт программирования самого оборудования.

Настройка IDE Arduino для программирования ESP8266

Чтобы настроить вашу Ardino IDE, следуйте инструкциям здесь Настройка Arduino IDE для программирования ESP8266-01

Программирование оборудования

Это многоступенчатый процесс, как и во всех случаях с ESP8266. Здесь питание Sonoff подается на плату через внешний стабилизированный источник постоянного тока 3v3, а НЕ от сети. USB для последовательного устройства потребуется для отправки и получения данных на Sonoff и от него. Подключите TX и RX, как показано на рисунках 2 и 4.

Шаги программирования (общие)

  1. Сначала убедитесь, что к Sonoff не подается внешнее сетевое питание,
  2. Нажмите и удерживайте кнопку на устройстве Sonoff. (рис. 1 выше, отмечена кнопка повторной вспышки),
  3. Подключите внешний источник постоянного тока 3v3 к контакту 1. (рис. 2 выше),
  4. Отпустите кнопку Sonoff,
  5. Теперь устройство можно перепрограммировать обычным способом через Arduino IDE.

Чтобы упростить задачу, я создал устройство программирования выше (рис. 3 и 4), которое подключалось к Sonoff через жгут проводов SK1… 3 (как описано в этом шаге 1 с инструкциями). Это позволило упростить программирование ESP8266. Он также предоставил средства тестирования GPIO14 в качестве входа за счет использования резистора R1, подтягивающего резистора 4K7 и кнопки S1.

Используя указанное выше устройство программирования (фото 3 и 4), выполните следующие действия.

  1. Нажмите и удерживайте кнопку повторной вспышки на Sonoff,
  2. Импульсируйте питание 3v3, кратковременно нажав S2,
  3. Отпустите кнопку повторной вспышки,
  4. Теперь устройство можно запрограммировать.

ПРИМЕЧАНИЕ - ВНИМАНИЕ

Ни при каких обстоятельствах нельзя подавать питание через сеть во время перепрограммирования Sonoff

Шаг 5: Обзор системы программного обеспечения

Обзор системы программного обеспечения
Обзор системы программного обеспечения
Обзор системы программного обеспечения
Обзор системы программного обеспечения

Этот контроллер сети IoT по большей части содержит те же шесть ключевых программных компонентов, что и управляемый датчик температуры и влажности WiFi IoT. Часть: 8 IoT, Home Automation и показана на рис. 1 выше, с некоторыми изменениями.

СПИФЫ

Это (обновленная до 4 МБ) встроенная система хранения флэш-памяти SPI, которая используется для хранения следующей информации (см. Рис. 2 выше);

  • Значки и html «Домашняя страница конфигурации контроллера сети»: обслуживаются устройством IoT, когда оно не может подключиться к вашей сети IoT WiFi (обычно из-за неверной информации о безопасности), и предоставляет пользователю средства удаленной настройки контроллера сети без необходимость перепрограммирования или загрузки нового содержимого SPIFFS.
  • Информация о безопасности: содержит информацию, используемую при включении устройства IoT для подключения к вашей сети IoT WiFi и MQTT Broker. Информация, представленная через «Домашнюю страницу конфигурации контроллера сети», записывается в этот файл («secvals.txt»).

Примечание. Для первоначальной настройки устройства см. Здесь полную информацию о том, как использовать SPIFFS с Arduino IDE.

Сервер mDNS

Эта функция активируется, когда устройству IoT не удалось подключиться к вашей сети Wi-Fi в качестве станции Wi-Fi, и вместо этого оно превратилось в точку доступа Wi-Fi, что-то вроде домашнего маршрутизатора Wi-Fi. В случае такого маршрутизатора вы обычно подключаетесь к нему, вводя IP-адрес чего-то вроде 192.168.1.1 (обычно напечатанный на этикетке, прикрепленной к коробке) непосредственно в адресную строку вашего браузера, после чего вы получите страницу входа для входа имя пользователя и пароль для настройки устройства. Для ESP8266 в режиме AP (режим точки доступа) устройство по умолчанию использует IP-адрес 192.168.4.1, однако при запущенном сервере mDNS вам нужно только ввести понятное человеку имя MAINSCON.local в адресную строку браузера, чтобы увидеть «Домашняя страница конфигурации контроллера сети».

Клиент MQTT

Клиент MQTT предоставляет все необходимые функции: подключитесь к своей сети IoT-брокеру MQTT, подпишитесь на выбранные вами темы и опубликуйте полезные данные в данной теме. Короче говоря, он обеспечивает базовую функциональность IoT.

Веб-сервер

Как упоминалось выше, если устройство IoT не может подключиться к сети Wi-Fi, SSID, P / W и т. Д. Определены в файле информации о безопасности, хранящемся в SPIFFS, устройство станет точкой доступа. После подключения к сети Wi-Fi, предоставляемой точкой доступа, наличие веб-сервера HTTP позволяет напрямую подключаться к устройству и изменять его конфигурацию с помощью веб-браузера HTTP, цель которого - обслуживать конфигурацию контроллера сети. Домашняя страница », которая также хранится в SPIFFS.

Wi-Fi станция

Эта функция дает устройству IoT возможность подключаться к внутренней сети Wi-Fi с использованием параметров в файле информации о безопасности, без этого ваше устройство IoT не сможет подписаться / публиковать в MQTT Broker.

Точка доступа Wi-Fi

Возможность стать точкой доступа Wi-Fi - это средство, с помощью которого устройство IoT позволяет подключаться к нему и вносить изменения в конфигурацию через станцию WiFi и браузер (например, Safari на Apple iPad). Эта точка доступа передает SSID = "MAINSCON" + последние 6 цифр MAC-адреса устройства IoT. Пароль для этой закрытой сети изобретательно назван «ПАРОЛЬ».

Шаг 6: Обзор программного обеспечения

Обзор программного обеспечения
Обзор программного обеспечения
Обзор программного обеспечения
Обзор программного обеспечения
Обзор программного обеспечения
Обзор программного обеспечения
Обзор программного обеспечения
Обзор программного обеспечения

Преамбула Для успешной компиляции этого исходного кода вам потребуются следующие дополнительные библиотеки;

PubSubClient.h

  • Автор: Ник О'Лири
  • Цель: позволяет устройству публиковать или подписываться на темы MQTT с данным брокером.
  • От:

Bounce2.h

  • Автор: Томас О Фредерикс
  • Назначение: защита входного переключателя от дребезга в программном обеспечении
  • От:

Обзор кода

Программное обеспечение использует конечный автомат, как показано на рис. 1 выше (полная копия источника приведена ниже). Выделяют 5 основных состояний:

  • В ЭТОМ

    Это состояние инициализации - первое состояние, в которое входит после включения питания

  • NOCONFIG

    В это состояние входит, если после включения питания обнаруживается недопустимый или отсутствующий файл secvals.txt

  • В ОЖИДАНИИ NW

    Это временное состояние, введенное при отсутствии подключения к сети Wi-Fi

  • ОЖИДАНИЕ MQTT

    Это временное состояние, входящее в него после подключения к сети Wi-Fi, и пока в этой сети нет подключения к брокеру MQTT

  • АКТИВНЫЙ

    Это нормальное рабочее состояние, которое переходит в состояние, когда установлено соединение с сетью Wi-Fi и соединение с брокером MQTT. Именно в этом состоянии контроллер сети будет публиковать информацию в MQTT Broker и получать команды через подписанные темы

События, управляющие переходами между состояниями, описаны на рис. 1 выше. Переходы между состояниями также регулируются следующими параметрами SecVals;

  • 1-й IP-адрес брокера MQTT. В десятичной форме с точками AAA. BBB. CCC. DDD
  • 2-й порт брокера MQTT. В целочисленной форме.
  • Третье соединение с брокером MQTT пытается установить перед переключением из режима STA в режим AP. В целочисленной форме.
  • 4-й SSID сети Wi-Fi. Текст в произвольной форме.
  • 5-й сетевой пароль WiFi. Текст в произвольной форме.

Как упоминалось выше, если устройство IoT не может подключиться в качестве станции WiFi к сети Wi-Fi, SSID и P / W которой определены в файле secvals.txt, хранящемся в SPIFFS, устройство станет точкой доступа. После подключения к этой точке доступа он будет обслуживать «Домашнюю страницу конфигурации контроллера сети», как показано выше на рис. 2 (путем ввода «MAINSCON.local» или 192.168.4.1 в адресную строку вашего браузера). Эта домашняя страница позволяет реконфигурировать сетевой контроллер через

Соглашение об именовании тем MQTT

На рис. 3 выше показано соглашение об именах, используемое для тем MQTT, и оно согласуется с шаблоном, использованным в моем более раннем Instructable (здесь Шаг 5).

Темы MQTT, используемые этим устройством IoT

Для ясности я задокументировал (рис. 4) темы и связанные с ними последовательности сообщений, которые это устройство публикует / на которые подписывается. На рисунке также изображено взаимодействие с белой кнопкой управления на внешней стороне корпуса (хотя, по иронии судьбы, кнопка показана красным).

Удаленный доступ к конфигурации в АКТИВНОМ состоянии

После подключения к брокеру MQTT можно удаленно перенастроить параметры безопасности для устройства с помощью публикаций тем MQTT. Связанный файл secvals.txt имеет доступ только для записи.

Пользовательская отладка

Во время последовательности загрузки светодиод устройства Sonoff дает следующую обратную связь отладки, хотя следует отметить, что для просмотра этого вам нужно будет снять крышку и обнажить схему, поэтому рекомендуется делать это только во время разработки кода и включения устройства. с поставкой 3 на 3;

  • 1 короткая вспышка: нет файла конфигурации, расположенного в SPIFFS (secvals.txt),
  • 2 коротких мигания: устройство IoT пытается подключиться к сети Wi-Fi,
  • Непрерывное свечение: устройство Sonoff IoT пытается подключиться к MQTT Broker,
  • Не горит: устройство активно и подключено к MQTT Broker.

Примечание 1: «Домашняя страница конфигурации контроллера сети» не использует безопасные сокеты и, следовательно, зависит от безопасности вашей сети.

Примечание 2. Чтобы запрограммировать несколько устройств IoT, строку MQTT необходимо отредактировать перед загрузкой на каждое устройство. Это связано с тем, что номер идентификатора сетевого контроллера был встроен в строку темы MQTT. т.е. в опубликованном программном обеспечении я выбрал значение 100: «WFD / MainsCont / 100 / Relay / Command / 1», и для моих двух устройств они пронумерованы 1 и 2 соответственно.

  • 'WFD / MainsCont / 1 / Relay / Command / 1'
  • 'WFD / MainsCont / 2 / Relay / Command / 1'

Примечание 3: для полноты картины в АКТИВНОМ состоянии программное обеспечение IoT позволяет управлять светодиодом Sonoff и публиковать статус кнопки повторного мигания. Хотя они имеют значение только во время процесса отладки, поскольку ни одна из них не отображается пользователю во время нормальной работы.

Шаг 7: Конфигурация OpenHAB

Конфигурация OpenHAB
Конфигурация OpenHAB
Конфигурация OpenHAB
Конфигурация OpenHAB
Конфигурация OpenHAB
Конфигурация OpenHAB

В целях тестирования я решил условно разместить два сетевых контроллера в «гостиной» своего дома. На эту страницу OpenHAB можно попасть через главную страницу сайта, как показано на рисунке 1.

Я изменил конфигурацию OpenHAB.sitemap, приведенную в моем предыдущем Instructable (здесь), и добавил отдельные записи для «Контроллер сети 1» и «Контроллер сети 2» (рис. 2 выше). Я также добавил записи (Living Room Mains Cont. 1 & 2) для отображения тенденций RSSI, измеренных на приемнике двух новых устройств IoT (рис. 3).

Наконец, я добавил записи в файлы.rules и.items, чтобы разрешить динамическую синхронизацию состояния Sonoff и обновление / анимацию моей неудачной попытки графического переключателя (переключатель закрывается, когда активен, и открывается, когда неактивен). На рис. 2 показан пример активного MC1 и неактивного MC2.

Примечание 1. Если вы не знаете, как использовать OpenHAB, см. Здесь «Установка и настройка OpenHAB. Часть 6: Интернет вещей, домашняя автоматизация '

Примечание 2: Копия измененной карты сайта, файлов правил и элементов, значков и т. Д. Приведена в zip-файле ниже.

Примечание 3: RSSI = Индикация уровня принимаемого сигнала. Это показатель того, насколько хорошо устройство IoT видит вашу сеть Wi-Fi.

Шаг 8: Тестирование вашего IoT-устройства

Image
Image
Тестирование вашего IoT-устройства
Тестирование вашего IoT-устройства

Как описано в разделе «Обучаемый датчик температуры и влажности WiFi IoT». Часть: 8 IoT, Домашняя автоматизация Шаг 7, первоначальное тестирование устройства IoT было выполнено через MQTT-соединение через MQTT Spy (как на блок-схеме системы на рис. 1 выше), мониторинг выхода светодиода, входы кнопок (как кнопка повторного мигания Sonoff, так и белая внешняя кнопка) и отладить трафик на последовательном интерфейсе. Это позволило мне проверить все доступные темы, на которые подписана подписка, и проверить опубликованные ответы. Хотя, опять же, это выполнялось вручную и отнимало много времени, хотя это позволяло 100% охват сообщений / публикаций по темам.

Поскольку основной конечный автомат программного обеспечения (шаг 6 выше) был унаследован от более ранней версии Instructable (часть: 8), кроме проверки работоспособности, программное обеспечение могло подключаться к Wi-Fi N / W и брокеру MQTT, предполагалось, что это работает правильно.

Затем было завершено полное тестирование системного уровня с использованием сетевого контроллера и инфраструктуры IoT (снова рис. 1), на этот раз с использованием OpenHAB для управления взаимодействием с устройством IoT. Аппаратное обеспечение IoT и настройку фиктивной нагрузки можно увидеть на рис. 2 выше.

Видео дает полную информацию о системных тестах и наглядно демонстрирует синхронизацию, поддерживаемую между устройствами OpenHAB (ПК / Chrome и iPad / OpenHAB APP) в реальном времени. Он также показывает обмен сообщениями в реальном времени с контроллерами сети через MQTTSpy (дополнительные сведения см. Здесь Настройка брокера MQTT. Часть 2: Интернет вещей, домашняя автоматизация) и хвостовой системный журнал OpenHAB с сервера raspberry pi через соединение PuTTY SSH (подробнее см. Здесь подробнее Установка и настройка OpenHAB. Часть 6: Интернет вещей, домашняя автоматизация).

Примечание. Отладочный трафик был скомпилирован для окончательной версии программного обеспечения.

Шаг 9: Заключение

Общий

Проект был относительно легким в реализации и хорошо работал. Встраиваемое программное обеспечение было простым в изготовлении, поскольку оно представляло собой урезанную версию кода, используемого для датчиков температуры и влажности в Части 8 этой серии.

Изначально я намеревался приобретать только белые комплектующие исключительно из-за их эстетического качества. Я добился этого во всем, кроме кнопки управления, как мог, я не смог найти хорошую / дешевую полностью белую кнопку.

Устройство Sonoff 10A

Я перечислил ниже, что я считал разумными за и против устройства Sonoff.

Плюсы

  • Дешевый.
  • Хорошая поддержка сообщества.
  • Можно перепрограммировать через IDE Arduino.

Минусы

  • Хлипкий корпус.
  • Минимальный ввод / вывод (выведен на используемые разъемы).
  • В состоянии покоя он сильно нагревается.
  • Имеет только 1 МБ встроенной флэш-памяти SPI.
  • Это PITA для перепрограммирования после подключения на месте.
  • При интеграции нового кода в тестирование Sonoff замыкание реле было проблематичным, учитывая, что напряжение реле составляет 5 В, а питание, подаваемое на Sonoff для программирования, составляет 3 В 3. Активация реле практически незаметна для ушей.

Обеспокоенность

  • Он не переключает нейтральную линию. Использует реле SPST.
  • Не слит.
  • Плохая разгрузка кабеля от натяжения.
  • Печатная плата не закреплена в корпусе Sonoff.

Комментарий к инженерному проектированию

Учитывая, что это IoT-устройство должно было использоваться для переключения под напряжением в британской сети (240 В переменного тока, среднеквадратичное значение), я следовал как хорошей механической, так и электрической методике проектирования и обеспечил минимизацию риска поражения электрическим током, не подвергая воздействию каких-либо электропроводящих материалов, переопределив все компоненты, снизив номинальные характеристики. выходная нагрузка, применение предохранителей как для сетевого контроллера, так и для оптронной подсистемы, наличие хорошего непрерывного заземления и использование оптической / гальванической развязки.

Возможное улучшение

Оглядываясь назад, было бы полезно включить визуальную индикацию того, что выход контроллера сети был активен (светодиодный или неоновый). Хотя это не проблема в повседневном использовании, учитывая, что стандартная практика заключается в отключении нагрузки от источника питания до проведения какого-либо обслуживания, или простое нажатие кнопки местного управления переключит выход в случае, когда лампа может загореться при подключении к сети.

Заключительное примечание

Если вы хотите увидеть два очень плохих примера работы с электросетью, перейдите по ссылкам ниже. Я совершенно уверен, что их награды Дарвина будут в почте очень скоро;

  • Удлинительный шнур безумного ученого
  • Отзыв сообщества 03 - Проблемы безопасности электроэнергии!

Шаг 10: Использованные ссылки

Я использовал следующие источники, чтобы собрать это руководство;

PubSubClient.h

  • Автор: Ник О'Лири
  • Цель: позволяет устройству публиковать или подписываться на темы MQTT с данным брокером.
  • От:

Bounce2.h

  • Автор: Томас О Фредерикс
  • Назначение: защита входного переключателя от дребезга в программном обеспечении
  • От:

СПИФЫ

https://esp8266.github.io/Arduino/versions/2.0.0/do…

Обновление Sonoff Flash

  • https://www.andremiller.net/content/upgrading-sonof…
  • https://tech.scargill.net/32mb-esp01/
  • https://www.andremiller.net/content/upgrading-sonof…

Принципиальная схема Sonoff

https://www.itead.cc/wiki/images/6/6b/Sonoff_schmatic.pdf

Модуль USB UART (также известный как FTDI)

https://www.ebay.co.uk/itm/6Pin-USB-2-0-to-TTL-UART-Module-Converter-CP2102-STC-Replace-FT232-CF-/272249732398?epid=503069058&hash=item3f63593d2e: g: QVUAAOSw71BXP92B

Награды Дарвина (легкий рельеф)

https://www.darwinawards.com/

Техническое описание оптоизолятора TIL111

Рекомендуемые: