Итог небольшого анализа прошивки THB2 (phy6222), с целью изучения возможности вместо протокола Tuya передавать данные в формате пригодном для BLE Passive Monitor.
Прошивка собрана на основе TuyaOS v3.8.3/PHY6222 SDK v3.1.2. В текстах PHY6222 SDK v3.1.2 имеются проверки defines
CONFIG_MIJIA_APIS, CONFIG_PHYAPP_MIJIA_LIGHT, CONFIG_PHYAPP_MIJIA_ADVSCAN
. Сами компоненты
xiaomi, mijia_mesh_light, mijia_advscan
в SDK естественно отсутствуют.
За основу взят пример tuyaos_demo_ble_peripheral. Причем, тупо добавлен код без чистки примера от лишних функций.
Структура прошивки:
Код:
00000-01FFF служебные данные bootloader
02000-02FFF разметка OTA Bootloader
03000-03FFF разметка Application
04000-04FFF параметры (04000-04005: MAC Address)
05000-10FFF OTA Bootloader
11000-7FFFF Application
В коде вычисления уровня разряда батареи за минимальный уровень напряжения (0% заряда) принимается 2.5В.
Пока не получлось локализовать функции работы с сенсором температуры и влажности CHT8310.
Определены только вызовы функции
tal_i2c_master_send(i2c0,0x3c...)
с адресом i2c устройства 0x3c и размером блока длиной 2 байта.
Согласно описанию CHT8310, адреса устройства могут быть 0x80, 0x88, 0x90, 0x98?