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

BLE SoC PHY6202

pvvx

Активный участник сообщества
Zigbee 3.0 в чипах c малой FLash не будет. По минималке требуется код на Flash более четверти мегабайта. И это с хорошей оптимизацией и без OTA.
 

pvvx

Активный участник сообщества
И зачем вы гадаете сколько и в каких условиях и опциях потребляет чип?
Учитесь у TI или nRF - там параметры в документации приводят для самых оптимальных вариантов для рекламы, часто несовместимых для общей рабочей ситуации чипа...
Надеялся получить такой, а прислали на PHY6222.
Тестер в руки измеряйте на живом, уже доставленном вам надом :)

Включаете разные варианты sleep и измеряете, если они вас интересуют.
Общую картину они не дадут, т.к. бывает множество нюансов - пример на ESP
 

cool2000

Member
Я делал про другому - брал самый простой пример - маяк BLE
Извиняюсь за нескромный вопрос, не осталось ли у Вас этого готового примера. чтобы можно запустить на phy6222?
Как раз смотрю их SDK. В общем и целом более-менее понятно, но есть ньюансы :).
 

pvvx

Активный участник сообщества
Где-то там есть готовые измерения... Примерно последний раз тогда проверял разные PHY.
Остальное надо уже искать среди хлама в 30 тысяч файлов директории E:\PHY62x2 :)
Но вроде в SDK есть готовый пример. Немного покромсать и пойдет.
 

pvvx

Активный участник сообщества
Одно могу СОВЕРШЕННО точно сказать - без PowerProfiler делать в BLE/Zigbee/... нечего.
Элементарную фичу в блобах, типа лишнего таймера пробуждения не выловите... А с PowerProfiler - увидите и запатчите в SDK или его конфигах.
 

pvvx

Активный участник сообщества
Вот конкретный пример:
Devbis ещё не имеет PowerProfiler и итог https://github.com/devbis/z03mmc месяцев создания прошивки - 20..40 мкА и более в некоторых режимах (интервал пробуждения чипа = 10 сек).
https://github.com/pvvx/BZdevice = 18..20 мкА (В SDK удалено всё лишнее, по возможности, а часть замещена чтобы не жрало батарею, работает в Zigbee и BLE, интервал пробуждения чипа в два раза чаще = 5 сек).

Или как вы определите - причина в вашем адаптере связи или в устройстве?
 

cool2000

Member
могу СОВЕРШЕННО точно сказать - без PowerProfiler делать в BLE/Zigbee/... нечего.
Сначала хочу отладить сборку gcc. Простейший проект собирается (после некоторых правок). Но есть непонятные моменты с размещением секций в памяти. В проекте явно неправильный порядок: init и rodata размещаются в начале. Вот поэтому и хотелось бы иметь 100% рабочий пример, можно и на Keil, чтобы было с чем сравнивать.
PowerProfiler в ближайших планах. Какую разновидность INA (169, 199 и т.д.) порекомендуете в связке с STM32?
 

pvvx

Активный участник сообщества
Сначала хочу отладить сборку gcc. Простейший проект собирается (после некоторых правок). Но есть непонятные моменты с размещением секций в памяти. В проекте явно неправильный порядок: init и rodata размещаются в начале. Вот поэтому и хотелось бы иметь 100% рабочий пример, можно и на Keil, чтобы было с чем сравнивать.
Куски для GCC - это не полный вариант.
PowerProfiler в ближайших планах. Какую разновидность INA (169, 199 и т.д.) порекомендуете в связке с STM32?
C STM32F103 - никакую. Он тормоз и не поддерживает скоростные или современные I2C. Плюс код от ST на USB сверх тормозной.

INA (169, 199 и т.д.) - это просто специфические ОУ и применяются для осциллографа.
 

cool2000

Member
C STM32F103 - никакую.
Что насчёт STM32F411?
Если такие познания на сегодня, то вам проще будет купить готовое
Этот проект уже не актуален?
INA (169, 199 и т.д.) - это просто специфические ОУ
Что насчёт INA226?
Куски для GCC - это не полный вариант.
Пока вроде всё линкуется.
 

pvvx

Активный участник сообщества
Что насчёт STM32F411?
Дорого и никчемно.
Этот проект уже не актуален?
Переполз в https://github.com/pvvx/UBIA/tree/master/PowerProfiler
Используется, как самый дешевый вариант. Подключается через TLSR8266.
Есть и другие варианты
Дело получаса перекинуть на какой другой чип, у которых здоровый USB-CDC... кроме STM
Можно и на WCH32V3xxx - там прерывания шустрее.
 

pvvx

Активный участник сообщества
@cool2000 - Если и этим решили заняnться - подкиньте примерчик решения вывода в реал-тайм графиков на современных граф. либах python.
Для PowerProfiler нужно красиво выводить поток в 100 килоточек по 24 бита в секунду из USB на каждый канал (ток и напряжение), с разными масштабированиями и неограниченной глубиной истории.
 

cool2000

Member
подкиньте примерчик решения вывода в реал-тайм графиков на современных граф. либах python.
Насчёт неограниченной глубины есть у меня сомнения. Matplotlib не смотрели? Вот есть пример графического вывода данных с датчиков с обновлением в реальном времени.
 

pvvx

Активный участник сообщества
О`й не смешите такими детскими графиками. Надо отображать поток в 100000 точек в секунду на каждую кривую (желательно с оберациями). Это выливается в отображении кол-ва экранных точек по горизонтали со сдвигом с частотой обновления экрана.
Отображение потока (синусоиды и т.д.) со звуковой карты давно освоено во всех API, а предложенные вами могут отображать до ста точек на кадр в пределе.
 

pvvx

Активный участник сообщества
Достаточно правильно организован интерфейс отображения в nRF Power Profiler II. Посмотрите его для начала.
Там один входной поток с дискретностью до 12 бит 50 кHz.
Но воровать их код (он опубликован), завязанный на их библиотеках некрасиво.
 

pvvx

Активный участник сообщества
Даже Web API в js:
Прием с ADC, передача по WiFi и отображение в HTML.
Но такое отображение (API) заточено на звуковые файлы и не имеет интерфейса.

А это dygraphs :
До пары тысяч точек и полный тормоз.
 

cool2000

Member
Итог небольшого анализа прошивки 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?
 
Сверху Снизу