Шлюз ESPGate868+ предназначен для приема и передачи в сеть Internet информационных сообщений от беспроводных датчиков, поддерживающих технологию LoRa™ ( метод модуляции запатентован компанией Semtech) .
Рисунок 1 Шлюз LoRa.
Принцип работы шлюза, а также связи между основными функциональными звеньями отображены на схеме:
Рисунок 2 Структурная схема шлюза
Описание аппаратной части
Для приема радисообщений от оконечных устройств с модуляцией LoRa™ применен радиомодуль RFM95. Обмен данными между радиомодулем RFM95 и NODEMCU ESP32S осуществляется по интерфейсу SPI. Дополнительно имеется три двунаправленные линии связи DIO 0, DIO 1, DIO 2 (сейчас не используются).
Кроме того, к шлюзу с помощью разъемов Jack 3,5мм можно подключить внешние датчики:
- датчики температуры DS18B20 (до 10-ти штук на общей шине);
- датчик влажности (например DHT22, AM2302)
Имеется один гальванически развязанный цифровой вход (DIO 26), позволяющий подключать датчики охранно-пожарной сигнализации, открытия дверей и т.д.
Электропитание модуля и подключаемых к нему датчиков осуществляется постоянным напряжением +5В (током не менее 500мА) от разъема USB mini.
Перепрограммирование модуля NODEMCU ESP32S, а также вывод отладочной информации осуществляется через имеющийся на модуле USB/UART преобразователь.
Описание программной части
Шлюз работает под управлением популярной в сети Internet прошивки от wifi-iot.com.
Для того, чтобы получить доступ к модулю для его настройки необходимо обеспечить соединение с ним по беспроводному интерфейсу Wi-Fi.
Для этого необходимо перед подачей питания нажать микрокнопку. Затем, не отпуская кнопку, подать питание и удерживать нажатой не менее 3…5 секунд.
Модуль загрузится и перейдет в safe mode режим, станет точкой доступа (AP) незащищенной Wi-Fi сети WiFi-IoT.
Выполняем подключение к сети WiFi-IoT с помощью ноутбука, планшета или телефона с Wi-Fi модулем, в адресной строке браузера набираем IP-адрес модуля 192.168.4.1, после чего отобразится главное меню следующего вида:
Рисунок 3 Главное меню
Для того, чтобы шлюз работал в Вашей домашней беспроводной сети, необходимо выполнить настройки подключения, перейдя на вкладку Config: -> Main, указав имя сети AP name и пароль AP pass:
Рисунок 4 Вкладка Main
Применить настройки нажатием кнопки Set.
Для приема шлюзом сообщений от конечных устройств выполняем следующие настройки:
- устанавливаем режим Lora Gateway (радиокнопка);
- устанавливаем галочки: Use PA BOOST PIN, RAW Enable, Enable Activation by Personalization
- в окне Power TX значение dBm, из диапазона: 3…14
- в окне Freq значение Mhz из набора: 868.9, 869.1, 864.1, 864.3, 864.5, 864.7, 864.9 (план RU868)
- в окне CR: 6
- в окне SF значение из набора: 7, 8, 9, 10, 11, 12
- в окне BW значение из набора: 125, 250 или 500
Рисунок 5 Вкладка Lora
Применить настройки нажатием кнопки Set.
Примечание — шлюз является одноканальным устройством и параметры его настройки: Freq, CR, SF, BW должны строго совпадать с параметрами настройки конечных устройств!
Теперь необходимо зарегистрировать подключаемые конечные устройства, перейдя на вкладку Config: ->Lora: -> Nodes keys (рисунок 6):
- в окне DevAddr: 4-х байтовое значение (уникальное для конечного устройства — см. на корпусе датчика)
- в окне AppSkey: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- в окне NwkSkey: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Рисунок 6 Вкладка Nodes keys
Применить настройки нажатием кнопки Set.
Для активации подключенных датчиков на вкладке Config: -> Sensors устанавливаем указанные на рисунке 7 значения:
- для подключения датчика влажности DHT22(AM2302): GPIO: 13
- для подключения датчика температуры DS18B20: GPIO: 14
Рисунок 7 Вкладка Sensors
Применить настройки нажатием кнопки Set.
Перейти на вкладку Config: -> 1-wire, нажать Clear & Scan list, после чего должен появиться 16-знаковый уникальный идентификатор датчика температуры (если датчик DS18B20 подключен!):
Рисунок 8 Вкладка 1-wire
В данной прошивке имеется возможность отправки показаний датчиков на такие сервисы, как: narodmon.ru (красным выделен MAC, который вводят при регистрации нового устройства на сайте narodmon.ru) , MajorDoMo или любой mqtt-сервер, для чего необходимо выполнить настройки на вкладке Config: ->Servers (см. рисунок 9):
Рисунок 9 Вкладка Servers
Применить настройки нажатием кнопки Set.