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

BLE SoC PHY6202

pvvx

Активный участник сообщества
Средний ток за цикл ~22.5 мкА при 3.3В.
1706111197491.png
Помойка от Tuya по набору компонентов - средний CR2032 вытянет не более полугода, т.к. и рабочее напряжение компонентов ограничено до 2.5В.
Потом эту батарейку переставить в нормальный термометр (Xiaomi c впаянным кондером или в аналог THB2) и она отработает ещё от пол года.
 

pvvx

Активный участник сообщества
В отрицательной температуре TH-05 неработоспособен из-за падения напряжения у CR2032 от температуры и из-за экрана - ничего не будет видно.
Tuya - тут более нечего и сказать :)
 

pvvx

Активный участник сообщества
Sleep:
1706113637516.png
1706113652727.png
Разница в Average от некратности циклам (малое время измерения).
nRF Power Profiler II не умеет стартовать по триггеру... и его выбросы не дают точных замеров в Average.
 

pvvx

Активный участник сообщества
1706114009034.png
15 mA 🤪
1706114132864.png
Выброс при просыпании SoC и падения до 1 мА при приеме, после передачи :) :)
Это nRF :eek:
 

pvvx

Активный участник сообщества
Кто покупал такой? Что в нем внутри?
1706124331737.png
Тоже называется TH05, но экран другой.
Есть ещё ZTH05 - отличие только в прошивке?
(Всё это и подобное уже заказал чтобы глянуть и выкинуть... Но пока дойдут...
уже кто-то нашел
HT-05 c CHT8305 )
 

cool2000

Member
Тоже называется TH05, но экран другой.
Ага, есть такой.
Похоже, это THB2 с экраном. Сенсор CHT8310, контроллер экрана GNV1792S, нет дросселя.
Если нужны фото пп, завтра пришлю.

Доигрался с прошиванием THB2 и получил полукирпич.
Теперь невозможно войти в режим прошивки, и вместо cmd>>: выводит fct>>:.
По информации из Гидры виною служит записанное значение 00000000 по адресу 11002800.
Как оно там оказалось непонятно и как его теперь стереть, тоже непонятно.
 

pvvx

Активный участник сообщества
Доигрался с прошиванием THB2 и получил полукирпич.
Теперь невозможно войти в режим прошивки, и вместо cmd>>: выводит fct>>:.
Это решается.
Поиграл кнопками в PhyPlusKit и всё прошло :) какими - не помню, надо глядеть..
Наверно дать команду "reset" или "quit" - что-то подобное...

Опишите какая помогла - вставлю в программу программатора, если вылезет вместо cmd.
 

pvvx

Активный участник сообщества
Может быть лучше - у GNV1792S есть 3 штуки "power save mode".
На BL55028 команды "power save mode" в доке нет. Но пробовал - не работает.
 

pvvx

Активный участник сообщества
Доигрался с прошиванием THB2 и получил полукирпич.
Теперь невозможно войти в режим прошивки, и вместо cmd>>: выводит fct>>:.
По информации из Гидры виною служит записанное значение 00000000 по адресу 11002800.
Как оно там оказалось непонятно и как его теперь стереть, тоже непонятно.
Работает команда "er512".
 

cool2000

Member
Ещё в режиме fct есть недокументированная команда efkey, видимо что-то связанное с secure boot.
 

pvvx

Активный участник сообщества
@cool2000 - Встраиваю запись истории. Но беда с передачей. Не найти функции типа callback или другой, по которой возможно определить - передача Notify будет ещё возможна или нет (сводободны ресурсы?), предыдущие данные уже улетели или нет(?). Сейчас путем тупого запихивания блоков истории в Notify до ошибки выходит запихать всего 11 блоков.
Лог на приемной стороне:
22:54:05: Ответ на команду (35): 01000a040000b908b30fe10c
22:54:05: Ответ на команду (35): 0200f6030000ba08b30fe10c
22:54:05: Ответ на команду (35): 0300e2030000bb08b40fe10c
22:54:05: Ответ на команду (35): 0400ce030000bd08b50fe10c
22:54:05: Ответ на команду (35): 0500ba030000be08b70fe20c
22:54:05: Ответ на команду (35): 0600a6030000be08ba0fe20c
22:54:05: Ответ на команду (35): 070091030000be08c20fe10c
22:54:05: Ответ на команду (35): 08007d030000be08ba0fe00c
22:54:05: Ответ на команду (35): 090069030000bf08b30fe00c
22:54:05: Ответ на команду (35): 0a0055030000bf08b00fe10c
22:54:05: Ответ на команду (35): 0b0041030000c008b30fe20c

После 11 штук и HCI_bm_alloc() у Notify() переполняется.

А надо как-то знать, что пока не надо выуживать новый замер из истории в Flash, т.к. буфера Notify() уже забиты. И надо что-бы кто-то вызвал следующую итерацию, когда появится пустота в HCI_bm_alloc(). Иначе скорость передачи будет плачевная.
1706215525258.png
Вот в первом активном цикле данной пачки большинство и передаются, плевав на MTU и прочие. Т.е. как надо.
Далее уже идут согласования... Интервал соединения 30 мс, Latency 29 - это если ничего передавать, то сервер может не выходить на связь до (29+1) интервалов, но клиент всё равно должен ожидать приема в каждое событие интервала соединения со включением окна приема (т.е. каждые 30 мс без пропусков).
Если не забивать буфер у Notify под завязку, то скорость упадет до менее 1 пакета в интервал соединения.
А глубина памяти замеров на текущих прошивках - 30675 records.
На BT4.0 это будет более 30675*0.03 = 920.25 секунд. А можно выжать на 1M PHY BT4.2 к 1 минуте...
 

cool2000

Member
И надо что-бы кто-то вызвал следующую итерацию, когда появится пустота в HCI_bm_alloc().
Посмотрите код функции llProcessTxData0. Кажется, это то, что нужно. Она после обработки пакета вызывает HCI_NumOfCompletedPacketsEvent, который генерирует HCI_NUM_OF_COMPLETED_PACKETS_EVENT_CODE. И ещё есть переменные:
0x1fff091d D numComplPkts
0x1fff091e D numComplPktsLimit
 

cool2000

Member
После добавления TH-05, THB2(CHT8310) перестал корректно опрашиваться сенсор. Вместо значений температуры и влажности передаются 0. -DDEVICE=DEVICE_THB2 стоит. Пробовал обе версии с OTA и без.
 

pvvx

Активный участник сообщества
Я тестовую кашу уже кинул на гит. Но она не работоспособная, а для того, чтобы указать названия функций....
 

pvvx

Активный участник сообщества
После добавления TH-05, THB2(CHT8310) перестал корректно опрашиваться сенсор. Вместо значений температуры и влажности передаются 0. -DDEVICE=DEVICE_THB2 стоит. Пробовал обе версии с OTA и без.
Счас погляжу. Слишком много было добавлено....
Сначала надо перекинуть всё, что уже есть в Xiaomi термометрах, а потом всё скопом отладить :)
 

pvvx

Активный участник сообщества
Путаница с MID в инициализации сенсоров CHT.
01:22:56: Dev serial # C86413-59598215-00
Младший и старший байты в ID... и номер 8215... Путаница из-за переделки на универсальный ко всем пока известным датчикам и из-за неверных define...
Лучше нарисуйте конфигуратор настроек в HTML...
 
Сверху Снизу