Skip to content

Commit 6de736c

Browse files
authored
Update README.md
1 parent 30d00eb commit 6de736c

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ RUS | [ENG](https://translate.google.com/translate?hl=ru&sl=ru&tl=en&u=https%3A%
149149
</details>
150150

151151
&emsp;BLE монитор шлюза можно использовать для отслеживания до 24 BLE устройств меток/(маяков) со статическим MAC адресом. Выводится наличие/отсутствие метки(маяка) и rssi. Поддерживаются BLE маяки приложения Home Assistant на смартфонах (привязка по uuid), термометры Xiaomi Mijia 2 с [прошивкой от atc1441 в режиме custom](https://github.com/atc1441/ATC_MiThermometer) и [прошивкой от pvvx в режиме custom](https://github.com/pvvx/ATC_MiThermometer), Xiaomi Mi Scale, а также Samsung Smart Tag.<br>
152-
&emsp;Предусмотрено 10 портов ввода-вывода, 5 из них можно использовать для управления внешними устройствами(режим Out) и чтения их состояния(режим In). Три порта можно настроить как кнопки для включения - выключения подключенных BLE устройств(режим Sw, При этом состояние кнопок в mqtt не выводится), четвертый порт - как кнопку обновления картинки с камеры. При конфигурации в режиме входа включается pullup, если это возможно (номер пина меньше 34). Еще 2 порта используются шиной I2C, а каждый из 3-х оставшихся портов можно использовать как выход с широтно - импульсной модуляцией (PWM), или же как вход для подключения или одного датчика DS18B20 с прямым питанием, или одного датчика DHT22/AM2302(7 и 8 порт). Процедуры чтения упрощены, контрольная сумма не читается и не проверяется, данные округляются до одного знака после запятой. Если шлюз оборудован звуковым излучателем, то, подключив к нему выход PWM (в m5stack basic это gpio 25), можно организовать вывод звукового сигнала. Изменяя скважность импульсов, можно регулировать громкость. Частота фиксирована и равна 3.136 kHz. Шина I2C поддерживает датчики SHT3x(адреса 0x44, 0x45), AHT20(0x38), HTU21(0x40), BMP280/BME280/680/688(0x76, 0x77, 688 пока не проверен), а также RTC DS3231(0x68) и контроллер батареи IP5306(0x75). Часы используются для хранения даты и времени с NTP сервера, датчик температуры выводится в Mqtt. Контроллер IP5306 установлен в m5stack и ttgo-t4 (SCL 22, SDA 21), позволяет определять уровень батареи с шагом 25% и ее режим (Discarging / Charging / Charged). При питании от батареи яркость экрана уменьшается в 32 раза. Щлюз поддерживает также контроллер питания AXP192 и RTC PCF8563, что позволяет ему работать на m5stack tough, а также поддерживает ADC тензодатчиков HX711. Результат измерения с HX711 можно выводить как в килограммах, так и в процентах, в зависимости от калибровки. Все датчики опрашиваются шлюзом с интервалом 12 секунд. Шлюз допускает горячее подключение всех сенсоров. Датчики 18B20 и DHT22 появляются в Mqtt и Home Assistant сразу после старта шлюза, даже если они не подключены, а I2C сенсоры по мере обнаружения их на шине в течение 2-х циклов опроса (24 секунды). Есть также поддержка IR передатчика (IR Tx, 6 порт).
152+
&emsp;Предусмотрено 10 портов ввода-вывода, 5 из них можно использовать для управления внешними устройствами(режим Out) и чтения их состояния(режим In). Три порта можно настроить как кнопки для включения - выключения подключенных BLE устройств(режим Sw, При этом состояние кнопок в mqtt не выводится), четвертый порт - как кнопку обновления картинки с камеры. При конфигурации в режиме входа включается pullup, если это возможно (номер пина меньше 34). Еще 2 порта используются шиной I2C, а каждый из 3-х оставшихся портов можно использовать как выход с широтно - импульсной модуляцией (PWM), или же как вход для подключения или одного датчика DS18B20 с прямым питанием, или одного датчика DHT22/AM2302(7 и 8 порт). Процедуры чтения упрощены, контрольная сумма не читается и не проверяется, данные округляются до одного знака после запятой. Если шлюз оборудован звуковым излучателем, то, подключив к нему выход PWM (в m5stack basic это gpio 25), можно организовать вывод звукового сигнала. Изменяя скважность импульсов, можно регулировать громкость. Частота фиксирована и равна 3.136 kHz. Шина I2C поддерживает датчики SHT3x(адреса 0x44, 0x45), AHT20(0x38), HTU21(0x40), BMP280/BME280/680/688(0x76, 0x77, 688 пока не проверен), а также RTC DS3231(0x68) и контроллер батареи IP5306(0x75). Часы используются для хранения даты и времени с NTP сервера, датчик температуры выводится в Mqtt. Контроллер IP5306 установлен в m5stack и ttgo-t4 (SCL 22, SDA 21), позволяет определять уровень батареи с шагом 25% и ее режим (Discarging / Charging / Charged). При питании от батареи яркость экрана уменьшается в 16 раз. Шлюз поддерживает также контроллер питания AXP192 и RTC PCF8563, что позволяет ему работать на m5stack tough, а также поддерживает ADC тензодатчиков HX711. Результат измерения с HX711 можно выводить как в килограммах, так и в процентах, в зависимости от калибровки. Все датчики опрашиваются шлюзом с интервалом 12 секунд. Шлюз допускает горячее подключение всех сенсоров. Датчики 18B20 и DHT22 появляются в Mqtt и Home Assistant сразу после старта шлюза, даже если они не подключены, а I2C сенсоры по мере обнаружения их на шине в течение 2-х циклов опроса (24 секунды). Есть также поддержка IR передатчика (IR Tx, 6 порт).
153153
<details>
154154
<summary>Подробнее об IR Tx ...</summary>
155155

@@ -180,7 +180,7 @@ RUS | [ENG](https://translate.google.com/translate?hl=ru&sl=ru&tl=en&u=https%3A%
180180
&emsp; Для запуска шлюза нужно [запрограммировать ESP32](https://www.youtube.com/watch?v=Vy-YTSdwy7s). Для прошивки можно использовать программу [flash_download_tools](https://www.espressif.com/sites/default/files/tools/flash_download_tool_3.9.3.zip). Файл [**fr4sGate.bin**](https://github.com/alutov/ESP32-R4sGate-for-Redmond/raw/master/build/fr4sGate.bin) в папке build это уже собранный бинарник для esp32 @160MHz с памятью 4 Мбайт, DIO загрузчиком и прошивается одним файлом с адреса **0x0000** в режиме **DIO**. Если же DIO загрузчик не стартует, можно использовать файл [**fqr4sGate.bin**](https://github.com/alutov/ESP32-R4sGate-for-Redmond/raw/master/build/fqr4sGate.bin) с загрузчиком QIO и программировать его в режиме **QIO**. Как я понял, большинство esp32 можно программировать в любом режиме, но были случаи, что шлюз работал только при прошивке его файлом **fqr4sGate.bin** в режиме **QIO**. Файл [**r4sGate.bin**](https://github.com/alutov/ESP32-R4sGate-for-Redmond/raw/master/build/r4sGate.bin) используется для обновления прошивки через web интерфейс. Файлы для программирования ESP32C3 в папке C3.<br>
181181
&emsp; Затем нужно создать гостевую сеть Wi-Fi в роутере с ssid **r4s** и паролем **12345678**, подождать, пока esp32 не подключится к нему, ввести esp32 IP-адрес в веб-браузере и во вкладке Setting установить остальные параметры. После чего гостевая сеть больше не нужна. Esp32 будет пытаться подключиться к сети **r4s** только при недоступности основной сети, например, при неправильном пароле. Если не удается подключиться и к гостевой сети, esp32 перезагружается. Вариант с гостевой сетью в отличие от общепринятой практики запуска точки доступа на esp32, как мне кажется, удобнее, так как позволяет настраивать все с компьютера не тыкая пальцами в смартфон, который при отсутствии инета так и норовит соскочить с esp32. Но, главное, в случае падения по каким-то причинам Wi-Fi роутера (а он может быть выделенным только для iot устройств) остальной Wi-Fi не засоряется дружно вплывшими esp32.<br>
182182
&emsp; Далее нужно ввести имя или MAC адрес Redmond устройства и привязать его к шлюзу. Поиск устройств запускается только тогда, когда есть хотя бы одно определенное, но не соединенное устройство, либо активен BLE монитор. Если имя устройства точно не известно (а редмонды не всегда светятся по BLE как модель один в один), то для начала сканирования нужно ввести в поле **Name** в настройках любое имя, а потом заменить его найденным при сканировании и выбрать в настройках ближайший тип устройства (поле **TYPE**, например, для чайников от RK-G(M)200S до RK-G(M)240S протокол один и тот же, можно выбрать как RK-G200S, так и RK-G240S). Нужно учитывать, что не все устройства передают имя при пассивном сканировании (например, Xiaomi Mikettle, AM43 Blinds). В любом случае лучше вводить в поле имени MAC адрес, можно как с двоеточиями, так и без. Найти и скопировать адрес можно **BLE Last found name/address** на главной страничке или на странице BLE monitor. Далее для привязки нужно нажать и удерживать кнопку **+** на чайнике или **таймер** на мультиварке до тех пор, пока устройство не войдет в режим привязки и через некоторое время соединится со шлюзом. Жалюзи AM43 требуют еще и ввода пин кода (Passkey) для соединения.<br>
183-
&emsp; Предусмотрена возможность подключения к одному MQTT серверу нескольких шлюзов. Для этого нужно в каждом шлюзе установить свой r4sGate Number. Шлюз с номером 0 будет писать в топик r4s0/devaddr/..., шлюз с номером 1 - r4s1/devaddr/... и т.д. Нужно только учесть, что запрос на авторизацию при привязке зависит от номера шлюза и от номера соединения в шлюзе. Это позволяет привязать 2 одинаковых чайника или мультиварки к 2 разным шлюзам или к 2 разным соединениям в пределах одного шлюза. Если же рядом работают два шлюза с одинаковыми параметрами, подключенные к разным системам умного дома (например, сосед за стенкой), для исключения возможности подключения устройства к шлюзу соседа можно использовать опцию авторизации устройств с использованием MAC адреса шлюза, выбрав в настройках **Use MAC in BLE Authentication**. После чего сбросить на устройствах все привязки и затем привязать их к шлюзу заново.<br>&emsp; Для подключения к Mqtt брокеру нужно ввести его адрес и порт, а также логин и пароль. Если шлюз работает с Home Assistant в паре с mosquitto брокером, стоит использовать опцию Hass Discovery. Перед ее использованием рекомендую удалить в Mqtt брокере все топики с r4s, для чего выбрать в настройках Delete Mqtt topics. Если же система не поддерживает Mqtt Discovery, придется разбираться с Mqtt.
183+
&emsp; Предусмотрена возможность подключения к одному MQTT серверу нескольких шлюзов. Для этого нужно в каждом шлюзе установить свой r4sGate Number. Шлюз с номером 0 будет писать в топик r4s0/devaddr/..., шлюз с номером 1 - r4s1/devaddr/... и т.д. Нужно только учесть, что запрос на авторизацию при привязке зависит от номера шлюза и от номера соединения в шлюзе. Это позволяет привязать 2 одинаковых чайника или мультиварки к 2 разным шлюзам или к 2 разным соединениям в пределах одного шлюза. Если же рядом работают два шлюза с одинаковыми параметрами, подключенные к разным системам умного дома (например, сосед за стенкой), для исключения возможности подключения устройства к шлюзу соседа можно использовать опцию авторизации устройств с использованием MAC адреса шлюза, выбрав в настройках **Use MAC in BLE Authentication**. После чего сбросить на устройствах все привязки и затем привязать их к шлюзу заново.<br>&emsp; Для подключения к Mqtt брокеру нужно ввести его адрес и порт, а также логин и пароль. Если шлюз работает с Home Assistant в паре с mosquitto брокером, стоит использовать опцию Hass Discovery. Перед ее использованием рекомендую удалить в Mqtt брокере все топики с r4s, для чего выбрать в настройках **Delete Mqtt topics**. Если же система не поддерживает Mqtt Discovery, придется разбираться с Mqtt.
184184
<details>
185185
<summary>Подробнее по Mqtt...</summary>
186186
У меня шлюз подключен к ioBroker. Мои настройки MQTT брокера ниже на картинке 3.<br>

0 commit comments

Comments
 (0)