Такие посты довольно не типичны для меня и формата блога, но как я писал раньше мы ведем дневничок, а не какой-то журнал определенного формата. Сием постом официально открываю рубрику “умного дома” и постараюсь освещать идеи и темы, которые мне показались интересными.
О полной конфигурации будет как-нибудь отдельный пост, а сейчас статья в стиле “чтоб не забыть”.
Проблема закрытых портов на Xioami Gateway 2 (Lumi.gateway.v3) оказалась серьезным препятствием в автоматизации и создании умного дома (smart home). Так как продукты Xiaomi можно использовать в других системах автоматизации как OpenHub, IoBrocker, Node-Red или Home Assistant, то наличие открытых портов и активация LAN-протокола являются неотъемлемой частью этого процесса. Сейчас мы рассмотрим все возможные (надеюсь) сценарии, которые могут нам встретиться:
Как активировать LAN протокол Настройка putty для работы в режиме serial Подготовка Xiaomi Gateway для открытия портов Открываем порты в Xiaomi Gateway - Проблема возникает на шлюзах (Gateways) с прошивкой 1.4.1_161.0143 или выше.
- Gateways с Firmware 1.4.1_159.0143 или ниже работают отлично после активирования LAN протокола.
- Gateways в которых LAN протокол был активирован до 1.4.1_159.0143, а прошивка обновлена потом, должны и дальше нормально работать.
Последовательность действий при покупке нового шлюза (gateway):
- Первым делом активируем LAN протокол. MiHome App будет всячески мешать выскакивающими окошками, но не сдавайтесь. как активировать будет чуть ниже.
- После этого обновляем ПО шлюза
- Тестируем все ли ок:
- Сразу в системе автоматизации
- Командой “nmap -sU GATEWAY_IP -p 9898,4321“
Если вы получили в ответ такое сообщение:
PORT STATE SERVICE
4321/udp closed rwhois
9898/udp closed monkeycom
MAC Address: 7C:49:хх:хх:хх:хх (Unknown)
То все плохо и придется немножко потрудиться, чтобы их открыть.
Как активировать LAN протокол
Открываем MiHome App. Среди устройств выбираем наш Gateway (в моем случае MiHub.HWR)
Идем в настройки
Дальше в раздел о программе.
И там усердно “тапаем” по версии пока не появятся два дополнительных пункта:
- Wireless communication protocol
- Hub Info
В Wireless communication protocol активируем единственный чекбокс. Все.
Подготовка Xiaomi Gateway для открытия портов
Для начала нам нужно будет разобрать сам девайс. Стоит обратить внимание, что понадобится специальная отвертка в виде рогатули, чтоб открутить шурупы. Как на картинках (нашел всяческие варианты в интернете) ниже находим контакты с которыми нам придется немножко повозиться. Именно к ним нам надо будет подключаться через UART модуль. Я пользовался этим Wingoneer CP2104 seriall Konverter USB 2.0 UART 6PIN
Wingoneer CP2104 seriall Konverter USB 2.0 UART 6PIN
Основная задача состоит в подключение UART к контактам шлюза. Я умудрился удержать пальцами контакта и другой рукой ввести команду для открытия порта, кто-то припаивает, а ниже нашелся универсальный способ: приклеить все скотчем. Считаю его просто самым лучшим методом.
Обязательно все нужно делать при выключенном шлюзе и UART конвертере.
Дальше очень важно учитывать, что Rх шлюза мы подключаем к Tх UART и Tх шкюза к Rх UART. GND я прицеплял к корпусу или к контактам кнопки сброса. Дальше настраиваем Putty, чтобы мы могли ввести команду для открытия портов. (описание ниже)
После того как все подключено, можно включать все шлюз в сеть и UART в USB.
Разные картинки разобранного шлюза.
Этот метод я имел ввиду.
Настройка putty для работы в режиме serial
По умолчанию у Putty в режиме serial не возможности копировать команды в окно терминала. Для этого в настройка нужно активировать Local echo как на картинке. Дальше в главном окне выбираем serial, COM порт к которому подключен UART.
Открываем порты в Xiaomi Gateway
После того как шлюз включили нужно подождать пока он полностью включится. После этого выполняем следующею последовательность действий:
- В putty в окно терминала вставляем “psm-set network.open_pf 3” и сразу же клавишу ввода. Я для подстраховки повторил это действие несколько раз, так как пару раз мою команду не принял шлюз из-за потока UDP пакетов, которые буквально разрывали на части мою команду.
- Для проверки проверяем командой: “psm-get network.open_pf”
- Перезапускаем шлюз и наслаждаемся проделанной работой.
Оригинал публикации:
https://peep.pictures/blog/smart-home/otkrytie-portov-v-xiaomi-gateway-i-integracija-cherez-lan-protokol Подписывайтесь на мой Telegram канал:
https://t.me/upashi_news - здесь все самое свежее!