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

TLSR8251 + LCD + термометр = LYWSD03MMC XIAOMI Bluetooth термометр

Камрады! Может у кого ни будь есть скетч для esp32 который просто принимает данные от LYWSD03MMC(стандартная прошивка) и кидает их в сериал порт.
Пожалуйста! ))) Или с нестандартной прошивкой...
Выложил тут
Основано на работе pvvx отсюда
 

pvvx

Активный участник сообщества
У pvvx есть такой скетч для ESP32. Я его использовал как основу для программы, которая группирует принятые данные по маку и умеет выводить табличку (я думаю красивую) в HTML.
Я его стер, т.к. там была ошибка с зацикливанием, а исправлять лениво... и распространять ошибочные примеры тоже не хорошо... итог - проще было удалить :)
 

pvvx

Активный участник сообщества
Пока ESP делает serial.print(), пролетает несколько BLE реклам. Тем более, если включена даже минимальная отладка.
А при переключении на WiFi пропадает прием BLE.
Если там ещё прикручен какой MQTT, тогда пропусков приема BLE более 90%.
Поток принятых BLE реклам в теории может достигать 300 штук в секунду. По 3 мс на прием по 3-м каналам.
Ближе к реальности - штук 200 из-за коллизий.
Так же сказываются характеристики чипа - время подстройки АРУ RF.
В итоге ESP с текущими либами/драйверами BT не годится для работы в BLE.
 

pvvx

Активный участник сообщества
Если одно ядро ESP32 будет заниматься только BLE и работать из IRAM, помещая всё принятое в FIFO, а второе ядро будет заблаговременно подготавливать ответы, ни разу нигде не тормозя, тогда BLE поедет на ESP32.
И для этого нельзя использовать динамическое распределение памяти - оно запрещает прерывания на время выделения и очистки. Это сильно тормозит.
Время ответа/подтверждения на прем блока в BLE - до 500 мкс. Точнее - менее, т.к. окно приема до 500 мкс и туда уже должен попасть синхро...
В итоге никаких C++, а только статические буфера по принципу FIFO. Но этого нет в реализации либ и прочего на ESP32.
 

pvvx

Активный участник сообщества
ESP32 как-то работает в BLE только за счет того, что устройство десятикратно дублирует ему передачи, ожидая подтверждения и тратит свою батарейку.
 

bob20051

New member
ESP32 как-то работает в BLE только за счет того, что устройство десятикратно дублирует ему передачи, ожидая подтверждения и тратит свою батарейку.
Ясно, понятно... Спасибо за развернутый ответ. Я понял что esp32 и LYWSD03MMC не лучший выбор для моей затеи )
 
ESP32 как-то работает в BLE только за счет того, что устройство десятикратно дублирует ему передачи, ожидая подтверждения и тратит свою батарейку.
Как-то мне раньше казалось, что в режиме объявлений устройство время от времени кричит в пространство и никакого подтверждения не ожидает в ответ. ЧТо есп32 сумел поймать из этих воплей - то и обрабатывается. Это не так?
 

pvvx

Активный участник сообщества
Подтверждения присутствуют при соединении. Реализовано в некоторых вариантах, включая ESPHome и т.д.
Про BLE рекламу описано ранее - у ESP32 пропуски к 90% на имеющихся реализациях, где используется WiFi + MQTT
Если у вас одно устройство - то может вам повезет и график в HA будет без длительных выпадений-пробелов... Но народу не везет c ESP32 уже при 3..5 шт BLE.
 
Все так и есть. В моем случае 4 шт термометров, за 15 сек сканирования самые дальние (точнее с самым низким уровнем сигнала) точки слышны 1-2 раза, по сравнению с 4-6 принятых пакетов с рядом расположенного устройства. Но поскольку все же речь идет об измерении крайне медленно меняющегося параметра среды - то я решил, что меня так устраивает.
И да, активный блютус от наушников мешает явно :)
 

pvvx

Активный участник сообщества
И да, активный блютус от наушников мешает явно :)
С чего бы это? Плохо сделан - фонит по всем диапазонам?
У BLE каналов много, а на выделенных 3-х рекламных никто из BT/BLE не работает - не ведет соединений.
Мешает WiFi, и WiFi-ю мешает BLE/BT/MESH/Zigbee...
WiFi самый жирный по диапазону. По этому его энергия мала и не добивает по расстоянию до хорошего Zigbee и тем более для простого LE Long Range.
 

pvvx

Активный участник сообщества
Какой WiFi роутер за 78 руб :) может принимать беспробудно, в течении 3-х лет, без пропусков 40 устройств?
1708029761564.png
Только свисток USB-BT.
Немножко температуры:
1708029938493.png
Включая морозилку холодильника
1708030051191.png
 

pvvx

Активный участник сообщества
И пачку датчиков из второго дома в 500 метрах на LE long Range...
И никаких роутеров.
 

ClearGreen

New member
Всем бобра!
Есть: LYWSD03MMC HW: B1.4 и B1.5, обновлённые по-незнанию до 2.1.1_0159; USB/TTL (CH341T) с Я.Маркета, ноут с Linux Mint 21.2; паяльник с причиндалами и руки, умеющие его держать.
Задача: прошить LYWSD03MMC под Zigbee для прямой работы с УДЯ и/или Home Assistant
Прочитал последние 10 станиц форума, понял, что:
1. Линукс - говно.
2. Zigbee - древнее говно.
3. Wi-Fi - говно (с Mash так абсолютное).
4. Windows - рулёз.
5. BLE LR - вечный кайф!

Куда припаяться понял.
Подскажите:
1. На какие контакты и через как к USB/TTL лучше подключать?
2. Какую прошивку лучше выбирать: z03mmc.bin 1.1.0 от devbis или какую-то от pvvx? Какую, откуда?
3. Чем шить? Через сайт или скриптом питона? Пошлите, плз, по адресу.
 

pvvx

Активный участник сообщества
Полноценный программатор - TLSRPGM работающий с аппаратным протоколом Telink Swire, а не кривой эмуляцией через UART.
 

pvvx

Активный участник сообщества
Прочитал последние 10 станиц форума, понял, что:
1. Линукс - говно.
Это действительно, т.к. не имеет никаких обновлений даже для ширпотреб оборудования, включая все вышедшие технические стандарты за последние 10 лет.
Все, включая WEB Blouetooth API остановили разработку уже несколько лет как, т.к. ждут поправок в больной Linux.
2. Zigbee - древнее говно.
Именно, плюс с версии 3.0 ещё никто не научился работать, без допиливания всяких скриптов к каждому устройству. Это особенно актуально для Z2M.
3. Wi-Fi - говно (с Mash так абсолютное).
WiFi не тянет сотню IoT устройств одновременно. И жрет много. Никакой автономности для IoT устройств.
Ни оно устройство IoT датчиков не поддерживает WiFi 6 и прочие современные протоколы.
Не рулез, но для простых пользователей в нем всё проще.
С Bluetooth и прочими беспроводными технологиями лучше Android.
5. BLE LR - вечный кайф!
Есть практически у каждого в кармане - в смартфоне.
 
Сверху Снизу