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

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

pvvx

Активный участник сообщества
А вот как в telink-ide сделать build target? Т.е. создать то не проблема, только он их нигде не отображает ...
Отображает, если открыть окно Make Target
1656867990942.png
Но это для проектов с Makefile.
Telink IDE - это такой-же как и у вас Eclipse, но в него встроены настройки на их SDK.
А выбор проекта у них производится по другому - через типовые меню Eclipse.
И т.к. Eclipse такая-же, то и проекты с Makefile она жрет одинаково с вашим вариантом.
Т.е. отличие только в том, что есть готовая поддержка разных SDK от Telink, которой у вас нет или требуются дополнительные настройки.
1656868500200.png
 

Slacky

Member
Вот еще по поводу UUID.

Допустим, мы делаем устройство на TB-04, которое считает импульсы от счетчиков воды.

GATT Service 0x183B Binary Sensor
GATT Unit 0x2767 volume (litre)
GATT Characteristic and Object Type 0x2AEB Count 24 (а у меня счетчик 32 бита?)

Может чего просмотрел?
 

pecherskih

Member
Коллеги, подскажите пожалуйста ответы на такие вопросы:
1. У меня в SDK telink_b85m_ble_single_connection_sdk_v3.4.2.1 пример b85m_module компилится с ошибкой.
Это у меня одного так? Пример как раз под мою задачу.
2. Драйвер для USB от TeLink-а где взять? Мне нужен драйвер VCP - виртуального СОМ порта.
 

Slacky

Member
Коллеги, подскажите пожалуйста ответы на такие вопросы:
1. У меня в SDK telink_b85m_ble_single_connection_sdk_v3.4.2.1 пример b85m_module компилится с ошибкой.
Это у меня одного так? Пример как раз под мою задачу.
2. Драйвер для USB от TeLink-а где взять? Мне нужен драйвер VCP - виртуального СОМ порта.
Ошибку то хоть покажите.
 

pvvx

Активный участник сообщества
Вот еще по поводу UUID.
Это всё хорошо, но у вас есть какие-то программы, работающие со стандартными BLE UUID, да ещё и при соединении с устройством?
На сегодня, для дома, в BLE есть только вариант формата рекламных сообщений - HA-BLE.
Пока более ничего стандартного и универсального никто не проработал.
 

pvvx

Активный участник сообщества
Драйвер для USB от TeLink-а где взять?
Для типовых проектов от TeLink используется стандартный драйвер принтера, уже встроенный по умолчанию в Windows. При включении устройства у вас в системе появится "принтер".
Все программы от Telink с ним и работают, включая BDT.
И нет там никаких VCP.
 

pvvx

Активный участник сообщества
Видимо вы не отслеживали тенденции политики Microsoft с драйверами USB. Уже несколько лет, как в Windows отказались от автоматической установки правильных драйверов и перекинули это дело на пользователя. И только продукция того, кто проплачивает поддержку в Windows может иметь автоматически устанавливаемые системой драйвера. Остальным надо получать сертификат, но авто-установки при этом не будет...
Это всё происходит постепенно, т.к. старые базы ещё не все отключили…
 

pecherskih

Member
Для типовых проектов от TeLink используется стандартный драйвер принтера, уже встроенный по умолчанию в Windows. При включении устройства у вас в системе появится "принтер".
Все программы от Telink с ним и работают, включая BDT.
И нет там никаких VCP.
В самом деле, спасибо
 

Вложения

pvvx

Активный участник сообщества
Для конкретного чипа нужен свой boot.link.
Скопируйте b85m_ble_single_connection_sdk\boot\boot_32k_retn_8253_8258.link в b85m_ble_single_connection_sdk\boot.link
Код:
Finished building: 825x_module.lst

Invoking: Print Size
tc32-elf-size -t b85m_ble_single_connection_sdk.elf
   text       data        bss        dec        hex    filename
  47880       4192       1513      53585       d151    b85m_ble_single_connection_sdk.elf
  47880       4192       1513      53585       d151    (TOTALS)
Finished building: sizedummy
Более на глупые вопросы времени нет.
 

pvvx

Активный участник сообщества
Судя по Вашему общению с другими участниками форума, Вы точно не глупый человек. Но к сожалению грубый. Ну что ж, спасибо и на том.
Тут и не таким грубым будешь - за годы ни на один мой вопрос форум не ответил ничего. А вам, с глупыми вопросами везет :p
 

pvvx

Активный участник сообщества
Телинк еще советует поставить вот сюда 32 к. Из коробки там 16.
Это без разницы, т.к. все чипы TLSR825x имеют один и тот-же кристалл с 64кбайта RAM, а не как указано в PDF.
И в пакете gcc линковщик не умеет грузить любые ld файлы из другого каталога, а только из текущего и с именем "boot.link".
B вооще gcc у Telink какой-то кривой. Видать их кинул разработчик (или они его) и не могут собрать новый, да с поддержкой синтаксиса C++.
 

Slacky

Member
Это без разницы, т.к. все чипы TLSR825x имеют один и тот-же кристалл с 64кбайта RAM, а не как указано в PDF.
И в пакете gcc линковщик не умеет грузить любые ld файлы из другого каталога, а только из текущего и с именем "boot.link".
B вооще gcc у Telink какой-то кривой. Видать их кинул разработчик (или они его) и не могут собрать новый, да с поддержкой синтаксиса C++.
Я конечно не настоящий сварщзик, но у меня грузит. Во всяком случает у меня нет файла boot.link, он переименован. И все работает. Но это не telink-ide, а голый eclipse и cross compiler.telink-boot_link.jpg
 

Slacky

Member
Это всё хорошо, но у вас есть какие-то программы, работающие со стандартными BLE UUID, да ещё и при соединении с устройством?
На сегодня, для дома, в BLE есть только вариант формата рекламных сообщений - HA-BLE.
Пока более ничего стандартного и универсального никто не проработал.
Тогда еще немного глупых вопросов, если позволите :))

Там, куда Вы меня направили рассмотрен формат сообщения.
043E1B02010000A5808FE648540F0201060B161C182302C4090303BF13CC
И сказано, что длина содержится в 3 байте и далее разложено на составляющие. Но нигде не говорится, про первый два байта. Что они означают?

Так, как я понял, Вы являетесь автором этого формата, то сишные хедеры можно посмотреть только тут - ATC_MiThermometer ?

Про MAC адрес не очень понял. Вроде в примере его озвучили, а дельше идет, что он не обязателен ...
 

pvvx

Активный участник сообщества
Там, куда Вы меня направили рассмотрен формат сообщения.
Там рассматривается полное сообщение от адаптера BT.
В нем есть "Header: 043E1B02010000A5808FE648540F", который дает адаптер, а вы передаете только
  • Adverting payload 0201060B161C182302C4090303BF13
И в нем "020106" - это типичный но не обязательный флаг, и только следующая часть является самим HA-BLE сообщением.
0B161C182302C4090303BF13
0B - размер
16 - тип -uuid 16
1C18 - uuid 16 HA-BLE
2302C4090303BF13 - а это уже данные в HA-BLE
 

pvvx

Активный участник сообщества
Для счетчика есть готовая структура:
C:
typedef struct __attribute__((packed)) _adv_ha_ble_event2_t {
    uint8_t        size;    // = 12
    uint8_t        uid;    // = 0x16, 16-bit UUID
    uint16_t    UUID;    // = 0x181C, GATT Service 0x181C
    uint8_t        p_st;   // size & type
    uint8_t        p_id;    // = HaBleID_PacketId
    uint8_t        pid;    // PacketId
    uint8_t        c_st;   // size & type
    uint8_t        c_id;    // = HaBleID_count
    uint32_t    counter; // count
} adv_ha_ble_event2_t, * padv_ha_ble_event2_t;
 
Сверху Снизу