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

BLE SoC PHY6202

pvvx

Активный участник сообщества
А у этого MCU вообще RISC архитектура. с похожим RF IP Core.
README после последней 3-й версии к SDK всё равно нет и не покопавшись не разобраться что там добавили/изменили.
И на это пока совсем нет времени... И чипов от PHY с CK802 нет в доступе...
 

pvvx

Активный участник сообщества
А возможно сделать ретранслятор Coded BLE - Coded BLE?
Всё возможно. Но зачем?
На Telink прием ext.рекламы c одновременным соединением нет. Legacy BLE - есть и работает на 100% включая BLE и Zigbee одновременное соединение.
Просто что-то не дописали.
На WCH не пробовал.
 

pvvx

Активный участник сообщества
Но можно дописать и Telink SDK. Только зачем?
Для приема всех типов BLE реклам желательно отдельный чип. А второй пусть в любой интерфейс дует. 2 антенны = гарантия полного успеха.
Приемный SoC кушает до 7 мА.
 

pvvx

Активный участник сообщества
В Telink не дописана синхронизация. Т.е. не переключается на прием автоматически. Но есть коды полного сохранения-восстановления RF конфигурации и переключения. Zigbee <-> BLE так и работает. Каждый раз сохраняет и восстанавливает весь RF, выполняя по очереди типовой SDK Zigbee и BLE. Долго не мудрили, просто добавили процедуру сохранения-восстановления RF :)

А при приеме Coded PHY теряем Legacy. При приеме периодической и PAwR - теряем время приема на основных каналах. Т.е. будут неизбежные пропуски. Нужно несколько чипов с антеннами :)
 

pvvx

Активный участник сообщества
Самый нормальный (и дешевый) вариант, если BLE-Zigbee-WiFi - это написать шлюз в это Tuya Smart Gateway WiFi-BLE-Zigbee и распаять внешние антенны. Контакты для разъемов антенн есть.
 

pvvx

Активный участник сообщества
Но гады китайцы не вывели USB с RTL - а он там полный USB2.0HS.
 

cool2000

Member
Хотел поставить в щиток автомат с дистанционным управлением и функцией эл. счётчика, но туда не добивает WiFi. Мне не нужно его постоянно опрашивать-перепрограммировать, но китайцы не сподобились добавить возможность автономной работы программы. Попробовал BLE в режиме Coded, увы до роутера оттуда тоже не добивает, надо либо ставить BLE ретранслятор, либо WiFi усилитель.
 

pvvx

Активный участник сообщества
Можно где-то на полпути всунуть простую Zigbee розетку, как Zigbee роутер.
 

pvvx

Активный участник сообщества
А на счет автономности - Zigbee роутер на TLSR825x кушает не более 30 мА по 5В. А с учетом DC-DC от старого 12-ти вольтового АКБ от автомобиля - значительно менее в мА. Т.к. АКБ обычно берется уже дохлый, снятый с авто, то это дело работает более 2-х месяцев без подзарядки...
 

pvvx

Активный участник сообщества
Переносной роутер Zigbee :)
1714115540394.png
USB Tuya router на EFR чипе с керамической антенной + DC-DC с PD и прочими протоколами зарядки... Корпуса сняты...

Если автономного роутера нет, тогда при отключении или перезагрузках координатора все батарейные устройства Zigbee пожрут батарейки.
 

pvvx

Активный участник сообщества
И, да - не будет отваливания Zigbee устройств. При нерабочем координаторе все переключаются на роутеры...
 

pvvx

Активный участник сообщества
Наверно самый дешевый USB Zigbee роутер, без паяльников, получается путем заливки сборки примера из Telink SDK в TB-03F-Kit.
 

cool2000

Member
Подключил sleep в режиме Ext Adv Coded, перестало нормально работать соединение. Если лог активирован, то даже не соединяется.
 

cool2000

Member
В итоге, соединение заработало, но пришлось увеличить упреждение просыпания WAKEUP_ADVANCE. Изначально этот интервал вычисляется как сумма константы ~1,5 мс и вычисляемой задержки на калибровку RC clock, примерно ещё столько же.
Но. После этого ещё пересчитывается системное время, при этом китайцы 3-жды вызывают функцию вычисляющую результат деления и остаток от деления. Но даже уменьшив до одного вызова, в заданный интервал приема не укладывались.
 

pvvx

Активный участник сообщества
Какая стабильность пересчета RC вышла в новых вариантах SDK? Прошлые не работали на всех чипах при питании 3.3В.
Потом я переписал калибровку, но выкинул ветки для разных CLK. Далее убрал, а не прибавил, несколько лишних задержек по старту и всё поехало.
Одна из задержек при старте совсем не нужна. Она у китайцев образовалась от старой версии калибровки из ROM.
Потом расчеты поправок делаются не совсем верно. Там тоже можно сократить никчемные задержки, которые стоят для синхронизации с переключением тика RC.
 
Сверху Снизу