Как управлять разъемом WIFI GWF-S171 с помощью Raspberry Pi
Я купил некоторые See-Time GWF-S171 (розетки Wi-Fi), чтобы работать с моим Raspberry Pi. Я использую свой Raspberry Pi в качестве платформы для домашней автоматизации, и мне удалось подключить все виды устройств, интеллектуальный счетчик, солнечные батареи, Orvibo s20 (также разъем Wifi).
Теперь я не могу подключиться к разъему Wi-Fi. Я контролировал весь трафик между моим iPhone, используя Wireshark и tcpdump (в сокете используется приложение - WeConn), и мне удалось найти состояние с помощью tcpdump. Я также выяснил, что весь трафик идет по UDP-порту 9957.
Простой способ проверить, работают ли устройства, выполняет код: sudo tcpdump -xn port 9957 |grep 0x0050
0100 означает, что 0000 означает, что выкл. Но сделать подключение включенным или выключенным мне не удалось. Так что любая помощь в этом будет очень признательна.
2 ответа
Я играл с "OGEMRAY S171". Кажется, это та же модель.
Вы можете отправлять разные TCP-пакеты на порт 9957 сокета:
Установить в качестве администратора:
0101100148000000010000005c6c5c6c0000000000000000000000000000000000000000000000000000000000000000xxxxxxxxxxxx0000feff0000xxxxxxxxxxxx000000000100
Включить:
0101010180000000010000005c6c5c6c0000000000000000000000000000000000000000000000000000000000000000xxxxxxxxxxxx0000000000000000000001000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Выключить:
0101010180000000010000005c6c5c6c0000000000000000000000000000000000000000000000000000000000000000xxxxxxxxxxxx0000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Получить данные:
0101030138000000010000005c6c5c6c0000000000000000000000000000000000000000000000000000000000000000xxxxxxxxxxxx0000
Где в приведенных выше примерах xxxxxxxxxxxx
MAC-адрес устройства, отправляющего пакеты. Я попробовал это, используя приложение для Android "TCP/UDP Terminal". Отправка пакетов из записной книжки Windows с "переносимым отправителем пакета" не удалась.
Существует также "интернет-режим", в котором приложение (я использую приложение для Android) отправляет TCP-пакеты на внешний сервер (в моем случае это 52.28.78.96) на порт 9955. Эти пакеты немного отличаются, но я думаю, что этот режим не интересен для вашей проблемы.
Если кого-то интересует, я написал плагин Homebridge для таких устройств, как S171. https://github.com/loki29pl/homebridge-weconn