• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос Xiaomi Gateway 3.0

pvvx

Активный участник сообщества
Где взять спецификацию протоколов шлюзования между типами сетей, пусть в данном шлюзе?
(Не самих проколов IP, WiFi, BT, BLE, Zegbee, ... а именно как осуществляются связи между ними и технические характеристики типа кол-во удерживаемых одновременных... ?)
 

azt59

Member
Какие чипы на плате? Есть ли прошивка в открытом доступе? Шифровано?
 

azt59

Member
А хотя бегло глянул...ничего особенного, это просто мост с одной стороны wifi zigbee и блютус с другой облако mi home. Просто тупо по закрытому протоколу шлёт даные в облако и !!!только со своих устройств. Вся логика и магия творится в облаке. Хочешь добавить стороннее устройство например sonoff по wifi добавь облако ewelink в облако mihome дай михум'у логин и пароль от облака ewelink и тогда нажав кнопку в приложении mi home команда полетит в ми'шное облако оно же залогиниться в облаке ewelink а уже оно в свою очередь даст команду релюшке. Профит.) Нет интернета дом отупел.
Какое-то стороннее блютус устройство с этим шлюзом не подружить. Хочешь дружить бери стороннее устройство и сторонний шлюз, подключай к интернету, вся дружба будет на уровне облака, одно облако даст команду другому на включение стороннего устроцства через сторонний гейтвей.

Итог: хочешь свое устройство в экосистеме mi, apple home asisstant? Делай устройство, делай шлюз, пиши свой протокол(или юзай открытый), и главное поднимай свое облако и учись работать с api других облаков.
 

pvvx

Активный участник сообщества
Дети и копаются только в шифрованном протоколе к облаку. Другое им видимо не интересно.
 

pvvx

Активный участник сообщества
Какое-то стороннее блютус устройство с этим шлюзом не подружить.
А как по другому произвести Mesh/Zigbee bonding? Там необходим сИкретный стринг (ключ шифрования) и зная его - пофиг кто производитель. Без него никакого bonding.
По этому не путайте ...
 

pvvx

Активный участник сообщества
Лекцию как работает Mesh/Zigbee я писать не буду. А кратко приведу что надо для стыковки устройств в Mesh на примере SDK и утилит от Telink для работы с Mesh:
upload_2020-1-28_22-57-3.png
Инструкции и исходники утилит есть на сайте. (Исходники не для Ардуинщиков - нужна VS)
Это не относится к шлюзованию BLE в IP сеть. Это внутренняя организация сети Mesh и связка в ней устройств.
 

pvvx

Активный участник сообщества
Какое-то стороннее блютус устройство с этим шлюзом не подружить.
Тут путаница - шлюз BLE Mesh сети или шлюз BLE в IP сеть.
Включение смотрителя за обычным датчиком BLE обеспечивает любой узел (node) Mesh.
upload_2020-1-28_23-23-31.png
BLE-MESH.com
 

pvvx

Активный участник сообщества
upload_2020-1-28_23-28-56.png
Никто вам не мешает соединить через интернет несколько Mesh сетей.
К примеру дома, на даче и в авто BLE устройства будут объединены :p
 

azt59

Member
.Где взять спецификацию протоколов шлюзования между типами сетей, пусть в данном шлюзе?
Я к тому что нет этокак втакового в этом шлюзе шлюзования между типами сетей.
Тупо три переходника
Блютус-облако
Зигби-облако
Локальная сеть- облако
Все шлюзования и внутрення кухня в облаке

Да и похоже не у кого нет, писать прошивку под все протоколы не реально
 

pvvx

Активный участник сообщества
Я к тому что нет этокак втакового в этом шлюзе шлюзования между типами сетей.
Тупо три переходника
Блютус-облако
Зигби-облако
Локальная сеть- облако
Все шлюзования и внутрення кухня в облаке

Да и похоже не у кого нет, писать прошивку под все протоколы не реально
Ошибаетесь. Блютус, Зигби, Локальная сеть работает только со своими. Т.е. все контроллеры настроены и не принимают ничего другого, чем им сказано заранее и настроено.
А протокол настройки и описывает как упаковать и передать, что и есть шлюзование.
Тем более там есть debug опция для доступа и вмешивания в это дело...
 

pvvx

Активный участник сообщества
@azt59 - изучите как работает простейший BLE.
Там найдете что приемо-передатчику при удержании соединения необходимо строго следовать временной последовательности и каналов связи. Он не может всё принимать одновременно и отсылать в инет.
В пределе он отрабатывает только с заранее оговоренными устройствами (распределив временную диаграмму и фильтры) и пакует ответы от них, которые он уже может передать в инет сеть на обработку.
Это и есть протокол шлюза BLE-инет.

А вот сценарий что и когда переключать по пришедшим пакетам от шлюза - это на сервере.
 

pvvx

Активный участник сообщества
И соединения с BLE шлюз ведет сам, как и Zigbee и Mesh связи.
Через инет просто не успеть это сделать.
Не путайте с USB брелком - но и там часть BLE стека сидит в чипе он её отрабатывает сам по установленным фильтрам... От этого и у него ограничение в кол-ве связей.
 

pvvx

Активный участник сообщества
Типовой минимальный тайм-слот (период на событие - Connection Event) у BLE 7.5 мс (Android). В этом слоте он должен производить связь, строго в момент начала получить от ведущего пакет или пакеты и/или например произвести передачу 6-ти пакетов со строго установленными интервалами (150 мкс) или более (если лезет в тайм-слот) - это ещё BT4.2. Для 5.0 - пакет длиннее и можно обойтись одним...
Там поглядите -
Bluetooth 5 & BLE: Achieving maximum throughput and speed | Novel Bits
Maximizing BLE Throughput Part 3: Data Length Extension (DLE) - Punch Through
 

pvvx

Активный участник сообщества
Когда соединения нет, приемник тоже знает когда получит следующий маяк от подопечного. Этот период передачи маяков так-же нормируется вместе с отклонениями и задается на устройстве.
Ни через какой инет это дело не пропустить. Только сам чип выполняет все эти вещи вместе с частями стека (в случае с USB-брелком) и полный стек в случае шлюза или node.
Через инет идут только макро команды - отослать то-то такому-то, принял что-то от назначенного такого-то...
 

pvvx

Активный участник сообщества
Сильнее упрощать описание не могу - и так уже от описанного будет куча путаницы (особо со специализированными словами и названиями). Лучше сами изучите спеки BT/BLE/MESH/Zigbee - они в открытом доступе.
 

azt59

Member
Я согласен, с тем что не весь поток от того же ble летит в сеть, я склоняюсь к тому что поверх ble или зигби лег сяомишный закрытый протокол. Гейтвей держит связь с датчиком транслирует события от датчика по сети до сервера, соответственно у,в виде некоторого абстрактного апи ,да или того же простого ajax запроса к облаку.

А Сценарий настроенный в приложении не хранится в гетвее, он хранится в облаке и исполняется там, гейтвей только дёргает устройствами как gpio.

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