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

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

pvvx

Активный участник сообщества
Так-же нет соответствия если каждую строку проверять на разную длину с первого байта сообщения (усекать хвост) для полинома 0xa9.
Остальные варианты не пробовал - слишком мало дано данных.
 

Slacky

Member
Так-же нет соответствия если каждую строку проверять на разную длину с первого байта сообщения (усекать хвост) для полинома 0xa9.
Остальные варианты не пробовал - слишком мало дано данных.
Ну если Вам не в лом :)

Код:
73550400ffff8d4e0130067311000a048d4e0655    - ответ 20 байт
73551f00ffff8d4e3030067311002c0a045bb66ae617077e6cd9020000e6b0ac1b95110302000000040000fb0a2a55  -ответ 47
73551f00ffff8d4e3030067311002c0a045bb66be617077e6cd9020000e6b0ac1b96110302000000040000fb0a1055 - ответ 47
73551f00ffff8d4e0a3006731100013331373131313235323031303900000000000000000000000000000000001355 - ответ 47
73551f00ffff8d4e0a300673110004cac0d1cac0c42d312dccd22d57312d41312d3233302d352d3630412d532dc655 - ответ 47
73550700ffff8d4e1c30067311001b031301100117e655 - ответ 23 - дата и время
73550500ffff8d4e2d3006731100000000a220e955 - ответ 21
73550300ffff8d4e29300673110001a6595155 - ответ 19 - напряжение
73550400ffff8d4e2c300673110001b40000fe55 - ответ 20
 

nikolz

Well-known member
Slacky,
Если Вам надо считывать показания и настраивать счетчик,
а не заниматься декодированием,
то возможно следующее решение.
----------------
Для чтения показаний и настройки счетчиков КАСКАД с помощью компьютера разработчик выпустил две программы:
-----------------------
MeterTools.
Программа для чтения данных и настройки счетчиков электрической энергии КАСКАД-1-МТ, КАСКАД-12-МТ, КАСКАД-32-МТ,
ретрансляторов, многовходовых устройств, устройств сбора и передачи информации (УСПД), шлюз-коммуникаторов,
а также выполнения задач построения сети для автоматизированной системы сбора данных.
---------------------
Конфигуратор КАСКАД-11
Программа для чтения данных и настройки счетчиков электрической энергии КАСКАД-11.
===============
Эти программы могут подключаться к счетчикам либо через UART,
либо через оптопорт с помощью соответствующего модема.
===============
Если Вы реализуете, как я написал ранее прозрачный мост ОПТОПОРТ -BLE-КОМПЬЮТЕР, т е такой модем для оптопорта,
то вам не надо декодировать коды пакетов
и писать самопальные приложения на компьютер, а можно работать с указанными программами.
===================
 

nikolz

Well-known member
и еще...
В MeterTools доступны следующие типы каналов связи:
RS232, Ethernet, M2MConnect, HayesModem, TechReport, Bluetooth.
 

Slacky

Member
Так-же нет соответствия если каждую строку проверять на разную длину с первого байта сообщения (усекать хвост) для полинома 0xa9.
Остальные варианты не пробовал - слишком мало дано данных.
Будете смеяться, но на счетчике, который стоит в электрощитке и присылает ответ на один байт меньше, crc правильно рассчитывается по первоначальному коду.

Код:
73550700ffff92141c3006750028151206150117a955 время и дата
73550500ffff92142d30067500290000a220c055 мощность
73550300ffff9214293006750001185bf955 напряжение
73550400ffff92142c3006750001b608002c55 амперы
Код:
pkt: 0x73550400ffff921401300675000a049214f555
crc: 0xf5
Лажа какая-то. Нужна еще пара счетчиков для проверки :))
 

pvvx

Активный участник сообщества
Ну если Вам не в лом :)
Ничего не подходит, включая обычные суммы или xor байт.
А с логами с сайта радиокод - всё хорошо.
Наверно у вас кривое ПО в счетчике и лепит неизвестно что в CRC.

и еще...
В MeterTools доступны следующие типы каналов связи:
RS232, Ethernet, M2MConnect, HayesModem, TechReport, Bluetooth.
А нама не нужно чужое закрытое ПО.
 

Slacky

Member
Ничего не подходит, включая обычные суммы или xor байт.
А с логами с сайта радиокод - всё хорошо.
Наверно у вас кривое ПО в счетчике и лепит неизвестно что в CRC.
Я уже тоже склоняюсь к этому, но MeterTools читает оба. Конечно можно предположить, что в нем забили на CRC, но что-то хотелось бы думать лучше :)
 

Slacky

Member
У меня сын решение нашел. Там с crc немного хитрей, потому и не получалось.


Смотреть описание IEK «STAR 104/1»
 

pvvx

Активный участник сообщества
0х55 заменяется на 0х73 0х11
0х73 заменяется на 0х73 0х22

И нафига это сделали в прошивке? Типа шифрация для 'сИкретика' фирмы?
 

Slacky

Member
0х55 заменяется на 0х73 0х11
0х73 заменяется на 0х73 0х22

И нафига это сделали в прошивке? Типа шифрация для 'сИкретика' фирмы?
Я думаю не для этого. Скорей всего считывание происходит побайтно. Чтобы не прочитать "ложный" завершающий символ 55, который может встретиться в середине пакета.

В общем придется процедуру считывания переписывать. Но хотя бы понятно стало - счетчик исправен ...
 

Slacky

Member
А вот еще вопрос. Берем TB-04 из китайского магазина на али. В нем какой-то прошивка. Можно ли ее обновить через web-api? Есть где-нибудь пример?
 

pvvx

Активный участник сообщества
А вот еще вопрос. Берем TB-04 из китайского магазина на али. В нем какой-то прошивка. Можно ли ее обновить через web-api? Есть где-нибудь пример?
Должно, ранее пробовал. Но там может быть "AT" и плюс надо какую-то ногу дергать, чтобы он проснулся и переключал режимы...
А так-же загрузчик по UART от AI-Thinker. Он есть на их сайте.
"Пустой" чип от Telink имеет программу с обновлением по USB через BDT утилиту. Но у этих чипов ноги USB не выведены. Есть у TLSR8251 и TLSR8258. У TLSR8258 в "много-ножечном" корпусе...
 

pvvx

Активный участник сообщества
TB-03F-KIT
1677441146869.png
После выполнения макроса для Tera Term:
Код:
setrts 1
setdtr 1
mpause 100
setrts 0
mpause 50
setdtr 0
чтобы он опустил RST на модуле...
Далее любой символ - cmd error - требует загрузчик от AI-Thinker.

Если что - прошивка из нового модуля:
 

Вложения

  • 42.8 KB Просмотры: 2

pvvx

Активный участник сообщества
В TB-04 та-же прошивка: Ai-Thinker BlE AT V0.50 - нет OTA.
Есть какая-то другая версия AT, но и там нет OTA.
При SWS на GND, после сброса будет "boot loader ready"
 

pvvx

Активный участник сообщества
Вспомнил…
Надо закоротить TX на GND.
Тогда у Ai-Thinker запускается вторая прошивка, записанная в модуле.
У неё только OTA. Но UUID другие:

Services UUID: 00010203-0405-0607-0809-0a0b0c0d1910
Characteristic: 00010203-0405-0607-0809-0a0b0c0d2b10

И типовая OTA не работает, хотя туда всё заливается в TelinkOTA.html, если заменить последние цифры в UUID с “2” на “0”.
Код:
23:55:49: Searching for devices
23:55:52: Connecting to: Ai-Thinker
23:55:54: Connected.
23:56:14: File was selected, size: 67684 bytes
23:56:14: Count: 4231
23:56:16: Start DFU
23:56:34: Update done after 16.773 seconds
23:58:01: Disconnected.
Disconnected получается путем сброса модуля, после заливки кода. Он что-то ждет... И потом OTA больше не работает :)
Но и подключиться практически невозможно, т.к. устройство с одним MAC меняет UUID в зависимости от GPIO (китайцы) и не выставляет специальные атрибуты о смене, а адаптеры запоминают прошлые данные и творится безобразие. Через перезагрузку адаптера или системы подключиться…


Так что гадайте сами, что там за OTA.
 

pvvx

Активный участник сообщества
На сайте ai-thinke описано, что OTA добавлена только в "AT" c ver 0.8.

Журнал обновления прошивки Ble AT V0.9
  • В основном оптимизировать функцию чтения и записи флэш-памяти и оптимизировать функцию обновления ota
Журнал обновления прошивки Ble AT V0.8
  • Добавить функцию ОТА
 

Riska

New member
Залил прошивку BTH_v43.bin отсюда через Windows USB-COM Flasher в TB-03F. Теперь в nRF Connect устройство не наблюдается. Я неверную прошивку залил? Дамп предварительно сохранил 512 КБ, а залил получается 84 КБ (BTH_v43.bin)
 

Riska

New member

Slacky

Member
Добрый день.

А кто-нибудь пытался на TB-04 программить zigbee? Есть реальные примеры (не те, что в SDK)?
 
Сверху Снизу