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

BLE модули TB-04/TB-03F (TLSR8253F512)

Slacky

Member
У меня тоже всё работало как описано в Zigbee 3.0. Но в общем бардаке с Zigbee недавно нашлись/появились варианты, что кто-то не соблюдает стандарты...
doctor64 пока в начальной стадии освоения Telink SDK - это видно по исходникам.
Я откликнулся на то предложение выше. Не ради заработка :)) Мне просто интерено, смогу ли.

Есть там такой выключатель на две кнопки, который на батарейке. Это скорее пульт. Сеть, где все работает, это LwMesh (во всяком случае сниффер ее сходу опознал имено под таким названием).

Схема банальна. Сенсорный чип JL523B дает минут пока держишь палец. Плюс выход на светодиод. Ну и это все в двойном экзепляре, так как кнопок две.

Ну я быстренько сваял OnOff кластер и залил прошивку.

Засада вот в чем. Кнопки работают. Светодиод моргает. Нет zigbee от слова совсем. Даже попыток подключиться не делает. В сниффере тишина.

На всякий случай слил информацию, когда прошивка mesh и когда zigbee. Может будут мысли куда копать?

P.S. Этат же самая прошивка вообще без изменений, залитая в донгл от Телинка сразу же вошла в сеть.
 

Вложения

pvvx

Активный участник сообщества
Надо глядеть исходник... Иначе будет много вопросов.
 

pvvx

Активный участник сообщества
Времени на железки ныне совсем нет (сборка/доработка теплиц, огороды, подготовить 3 авто на лето, новый кондиционер, ...). Смог только собрать и записать бинарник в TB-03F.
1715542509724.png
На кнопки PD7/PB6 никак не реагирует...
 

Slacky

Member
Времени на железки ныне совсем нет (сборка/доработка теплиц, огороды, подготовить 3 авто на лето, новый кондиционер, ...). Смог только собрать и записать бинарник в TB-03F.
Посмотреть вложение 13808
На кнопки PD7/PB6 никак не реагирует...
Если в app_cfg.h ничего не меняли, то там подключен донгл, а у него кнопки на другие пины выведены.

#define BOARD BOARD_8258_DONGLE //BOARD_LIVOLO //#define BOARD BOARD_8258_DONGLE //BOARD_LIVOLO //

Ну и так, для информации. Оригинальная прошивка из этого выключателя, залитая в другую dev-плату на 8258 прекрасно работает. Т.е. ее спокойно видит хаб от Livilo, на телефоне в логах отражается нажатие. Странно, что в другую сторону не работает ...
 

Slacky

Member
А не может дело быть в антене? Там такая пленочная припаяна ...

1715333886021.jpg
 

pvvx

Активный участник сообщества
Ну и так, для информации. Оригинальная прошивка из этого выключателя, залитая в другую dev-плату на 8258 прекрасно работает.
TLSR8250 или TLSR8253 в TB-03F.
Если не работает, то может быть установлен другой кварц.
Так-же необходимо стереть всю Flash, дабы убрать несоответствие адресов сохранений настроек емкостей к кварцу и прочему.
 

pvvx

Активный участник сообщества
А не может дело быть в антене? Там такая пленочная припаяна ...
Не думаю. Модуль TB-04 вообще без антенны работает, но недалеко :)
Да и другие тоже работают, когда антенны вообще нет, даже куска проводника на плате...
 

pvvx

Активный участник сообщества
Не знаю как ведет себя оригинальный Zigbee SDK если тип Flash ему не нравится. Там много наворочено и желательно всё это выкинуть, как никчемное - перед каждой записью и обращениями к Flash стоит проверка напряжения питания в несколько мс, плюс всякие ненужные проверки, т.к. код для неизвестных чипов. В 825x все Flash имеют одинаковые команды и код ветвить не требуется
После модификации (удаления хлама и Ардуино подхода из SDK), даже если Flash не пишется из-за разных причин, то Zigbee и настройки работают пока батарейку не отключить...
 

Slacky

Member
TLSR8250 или TLSR8253 в TB-03F.
Если не работает, то может быть установлен другой кварц.
Так-же необходимо стереть всю Flash, дабы убрать несоответствие адресов сохранений настроек емкостей к кварцу и прочему.
Кварцы одинаковые. И в выключателе, и в dev-плате установлены TLSR8258F512ET32.

1715548976606.jpg
 

Slacky

Member
Не думаю. Модуль TB-04 вообще без антенны работает, но недалеко :)
Да и другие тоже работают, когда антенны вообще нет, даже куска проводника на плате...
Там какую-то микруху поставили на антену (предположительно, сильно не ковырял).

1715549186077.jpg
 

Slacky

Member
TLSR8250 или TLSR8253 в TB-03F.
Если не работает, то может быть установлен другой кварц.
Так-же необходимо стереть всю Flash, дабы убрать несоответствие адресов сохранений настроек емкостей к кварцу и прочему.
Вот про флеш не помню, стирал я ее или нет. Спасибо. Потом проверю.
 

pvvx

Активный участник сообщества
В SDK используется GPIO_PC4 для проверки напряжения питания. Он быть задействован в устройстве... тогда работать ничего не будет.
Так же в оригинальном SDK незя отключать или переключать ADC. Его использует проверка напряжения питания без инициализации. Инициализация только при первом старте...
Плюс при отключенном Poll control пробуждение SoC по таймеру будет фиксировано в 5..10 сек. А выключателю это не надо.
 

Slacky

Member
В SDK используется GPIO_PC4 для проверки напряжения питания. Он быть задействован в устройстве... тогда работать ничего не будет.
Так же в оригинальном SDK незя отключать или переключать ADC. Его использует проверка напряжения питания без инициализации. Инициализация только при первом старте...
Кроме вот этих GPIO ничего не используется ...1715349668103.jpg
 

pvvx

Активный участник сообщества
Плюс при потере связи (отключению питания у них) с роутером или координатором среднее потребление будет за 5 мA. Батарею высадит за пару часов.
В итоге необходимо много патчить и менять до 5 файлов исходников в самом SDK.
 

Slacky

Member
Плюс при потере связи (отключению питания у них) с роутером или координатором среднее потребление будет за 5 мA. Батарею высадит за пару часов.
В итоге необходимо много патчить и менять до 5 файлов исходников в самом SDK.
Это легко решаемо. Нет связи в течение какого-то времени - в deеp sleep. Что собственно в watermeter'e и используется ...
 

pvvx

Активный участник сообщества
А сброс конфига Zigbee есть?
Я заливал в пустой модуль, по тому он сразу включился на сопряжение..
И проверьте тип Flash и в коде дайте команду очистки флагов Flash (защита записи). Записать туда 0.
Там с Flash наворочено для других чипов и чипов с внешней Flash...
 

pvvx

Активный участник сообщества
> Точнее, как MCU работает, на кнопки реагирует, в лог пишет, сведоиоды моргают. Но в сеть не входит ...

По PowerProfiler можно посмотреть что делает чип. Больше никак :)
 

pvvx

Активный участник сообщества
Уменьшить средний ток при потере связи или при старте до сопряжения есть 2 способа:
1. Дописать пользовательский файл zb_appCb.c как это сделал devbis - вставить таймеры на 60+ сек в _bdbCommissioningCb(). У меня отмечено как #if REJOIN_FAILURE_TIMER
2. Изменить файл zb_config.h
// Contents of the rejoin interval in seconds
#define ZDO_REJOIN_TIMES 5 // =5
#define ZDO_REJOIN_DURATION 0 // =6
#define ZDO_REJOIN_BACKOFF_TIME 45 // =30
#define ZDO_MAX_REJOIN_BACKOFF_TIME 180 // =90
#define ZDO_REJOIN_BACKOFF_ITERATION 0 // =8
 
Сверху Снизу