Перейти к содержанию

Zigbee сыпется: почему совет «уйти на 26-й канал» чаще вредит, чем помогает

Опубликовано
  • Админы
Мифы про Zigbee и Wi-Fi на 2,4 ГГц
Шестнадцать узких каналов 802.15.4 против трёх широких полос Wi-Fi

Сценарий знаком всем, кто собирал умный дом на Zigbee: пара устройств на краю покрытия отвечает через раз, реле щёлкает с задержкой в несколько секунд, а журнал координатора пестрит потерянными пакетами. Первое, что подскажут в любом сообществе, — переехать повыше по номерам каналов, к 25-му или 26-му, где Wi-Fi якобы нет.

Предпосылка у совета правильная, вывод — нет. Ниже разобрано, что на этот счёт сказано у NXP, Texas Instruments, в доках Zigbee2MQTT и Home Assistant, и в каком порядке имеет смысл чинить сеть.

Полметра кабеля решают чаще, чем номер канала

Начать стоит не со спектра. Шина USB 3.0 излучает широкополосную помеху ровно в участке 2,4–2,5 ГГц — явление задокументировано в материале USB-IF, к которому производители железа отсылают уже больше десяти лет. Свисток-координатор, вставленный вплотную к порту USB 3.0 или к разъёму внешнего SSD, попросту заглушает собственный приёмник.

В документации Zigbee2MQTT это сказано прямым текстом: адаптер, стоящий вплотную к порту USB или HDMI, способен уничтожить радиосвязь целиком, тогда как удлинителя длиной 50 см хватает, чтобы помеха заметно упала. У ZHA формулировка похожая: портов USB 3.0 лучше избегать вовсе, а адаптер включать либо в USB 2.0, либо в хаб со своим питанием.

Откуда вообще берётся пересечение с Wi-Fi

Обе технологии делят один и тот же кусок спектра. У IEEE 802.15.4 на 2,4 ГГц шестнадцать каналов, пронумерованных с 11 по 26; центры расставлены с шагом 5 МГц в интервале от 2405 до 2480 МГц, а занимает каждый канал всего 2 МГц. Wi-Fi в том же диапазоне куда прожорливее — 22 МГц на канал: под первым лежит 2401–2423 МГц, под шестым 2426–2448, под одиннадцатым 2451–2473. Никакого «пробивания» сквозь Wi-Fi у узкого Zigbee не происходит — вопрос лишь в том, попал он в промежуток между полосами или нет.

Полосы Wi-Fi 1/6/11 и каналы 802.15.4 с 11 по 26 на шкале 2,4 ГГц
Шкала построена по данным NXP JN-AN-1079: шаг 5 МГц, полоса канала 2 МГц

📌 Заметка

Под Thread и Matter-over-Thread лежит тот же самый 802.15.4 с той же нумерацией каналов. Так что бордер-роутер, живущий по соседству с Zigbee-координатором, конкурирует за спектр не только с точкой доступа, но и с ним.

Чем оборачивается переезд на 26-й

Что верхушка диапазона свободна — правда. Только вот 26-го канала нет ни в перечне рекомендованных у Zigbee2MQTT (там числятся 11, 15, 20 и 25), ни у ZHA: её режим «Smart» при первичной настройке прогоняет весь диапазон и из результатов отдаёт предпочтение 15-му, 20-му и 25-му.

Куда важнее второй момент, о котором почти не говорят, — мощность передатчика на верхних каналах урезается. В руководстве Texas Instruments по FCC-сертификации Z-Stack потолки прописаны поимённо для конкретных плат: для LP_CC2652RSIP и LP_CC2652PSIP это 2 dBm на 26-м канале, для CC1352P_2_LAUNCHXL — 15 dBm. Виновата вторая гармоника: с ней платы не проходят сертификацию в верхней части диапазона.

⛔ Так делать нельзя

Вдумайтесь в разброс: 2 dBm на одной плате и 15 dBm на другой в пределах одного документа — при том, что чипы серии CC2652P сами по себе умеют выдавать до +20 dBm. Восемнадцать децибел разницы в свободном пространстве эквивалентны примерно восьмикратному падению дальности; в квартире с её затуханием эффект слабее, но сеть от такого «улучшения» всё равно разъезжается. Свои лимиты сверяйте по документации производителя свистка, а не по советам из переписки.

Кнопка «сменить канал» бесплатной не бывает

На работающей сети у этой операции есть цена. Zigbee2MQTT умеет менять канал лишь для адаптеров zstack и ember; отдельные устройства переключаться не умеют вообще и потребуют повторного сопряжения; батарейные датчики в момент широковещательной рассылки спят и её не получат. ZHA отводит на переезд всей сети до часа и предлагает подгонять процесс передёргиванием питания — а в качестве общей рекомендации советует канал, назначенный при первичной настройке, вообще не трогать.

Так что первый шаг — выяснить, где сидит ваша точка доступа:

# свой и соседские SSID с номерами каналов и уровнем
nmcli -f SSID,CHAN,FREQ,SIGNAL dev wifi list | head -20

А затем сверяться с таблицей. Под «свободен» понимается, что двухмегагерцевая полоса Zigbee целиком выпадает за пределы 22 МГц соответствующего канала Wi-Fi.

Канал Wi-FiЗанимаемая полосаСвободные каналы Zigbee
12401–2423 МГц15, 20, 25
62426–2448 МГц11–14, 20, 25
112451–2473 МГц11–15, 25

Становится понятно, откуда популярность 25-го: среди рекомендованных только он остаётся вне полосы при любом раскладе с Wi-Fi.

⚠️ Осторожно

Таблица описывает ситуацию с шириной канала Wi-Fi в 20 МГц. Стоит переключить точку в режим 40 МГц — и она заберёт себе почти половину диапазона, промежутков не останется вовсе. Заодно убедитесь, что номер канала выставлен руками: при «авто» роутер способен переехать среди ночи и унести ваш промежуток с собой.

✅ Как правильно

Если сеть разваливается, идите по шагам:

  • удлинитель от 50 см, разъём USB 2.0, дистанция от корпуса, накопителей и роутера — не стоит ни копейки и нередко закрывает вопрос целиком;
  • номер канала на точке доступа выставить руками, ширину оставить 20 МГц;
  • в слабых зонах поставить устройства с питанием от сети (умные розетки, реле) — именно они и удерживают меш;
  • и лишь после этого трогать канал Zigbee, заранее приготовившись переподключать часть устройств.

Источники

💬 Вопрос к сообществу

Какой канал обслуживает вашу Zigbee-сеть и доводилось ли его переставлять? И что в итоге сработало — вынос адаптера на удлинитель или всё-таки переезд по спектру?

Featured Replies

No posts to show

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

Последние посетители 0

  • Ни одного зарегистрированного пользователя не просматривает данную страницу
Яндекс.Метрика

Account

Navigation

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.