• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

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

pvvx

Активный участник сообщества
В итоге с BLE работает только Android - он для этого имеет полный и функциональный API. На втором месте - Windows. Но в Windows всё ограничено дровами от горе производителей...
Об других OS и разговора нет - там просто ноль. Есть ещё зоопарк в Linux, но это пока каша...
 

pvvx

Активный участник сообщества
В итоге ZigBee и остальную проприетарщину никто из “энтузиастов“ поддерживать и не собирается. Т.к. если это развивать, то значит способствовать закрытым протоколам направленным на выуживание бабла у населения.
Следствие - готовой прошивки с ZigBee или Огрызок-HomeKit на Xiaomi LYWSD03MMC я распространять не собираюсь. Пусть этим занимаются комерсы :) Когда слепят что-то дельное - разгребу и выкину открытое... Но мечтать что они что-то сделают не приходится..
 

nikolz

Well-known member
В итоге ZigBee и остальную проприетарщину никто из “энтузиастов“ поддерживать и не собирается. Т.к. если это развивать, то значит способствовать закрытым протоколам направленным на выуживание бабла у населения.
Следствие - готовой прошивки с ZigBee или Огрызок-HomeKit на Xiaomi LYWSD03MMC я распространять не собираюсь. Пусть этим занимаются комерсы :) Когда слепят что-то дельное - разгребу и выкину открытое... Но мечтать что они что-то сделают не приходится..
судя по тому, как скоропалительно лепят новые версии BLE -уже 5.2, создатели протокола осознали, что сделали говно, теперь спешно исправляют. В итоге, как обычно, будет куча заплаток (расширений, дополнений и т д) т е много ненужного. Но для задач умных датчиков и умного дома, BLE - это монстр. Возможно ему умереть не дадут, так как уже много налепили ненужного железа.
--------------
Аналогично USB. Сколько лет прошло с момента его создания, прежде чем что-то нормальное появилось в железе и его стали применять.
Но с умными датчиками все гораздо сложнее.
Пока они очень тупые.
 

pvvx

Активный участник сообщества
Тут случайно смотрю, а оригинальный датчик Xiaomi-LYWSD03MMC живет своей жизнью:
1611662741387.png
Среднее потребление валит за 0.16 мА.
Со шлюзом видимо беседует, но очень похоже на прошивку - каждый блок потребления заканчивается объемным прямоугольником с током в 5 мА... Стирание сектора Flash?
1611662931480.png
Частокол пиков тока не от передатчика... а большие с уровнем TX и одним пиком, а не 3-мя как в режиме рекламы... Соединен значит, но значок соединения не показывает!
Mi Home молчит, говорит типа все прошивки уже давно во всех устройствах последние... Ничего - подождем когда успокоиться и шлюз прервет connect, да погляжу что там в flash устроили...
 

pvvx

Активный участник сообщества
Оказалось, что его просто заклинило.... от внешних моих экспериментов :)
 

pvvx

Активный участник сообщества
судя по тому, как скоропалительно лепят новые версии BLE -уже 5.2, создатели протокола осознали, что сделали говно, теперь спешно исправляют.
Вроде ничего сверх естественного и навороченного в BLE и "новых" "стандартах" нет.
В итоге, как обычно, будет куча заплаток (расширений, дополнений и т д) т е много ненужного.
Нету никаких заплаток, т.е. пока не встречал - может у вас пример найдется - опишите - интересно...
Но для задач умных датчиков и умного дома, BLE - это монстр.
Как раз чистый BLE самый простой из всего зоопарка (Zegbee, MESH, WiFi, Ipv4 - TCP/IP...).
И оно работает практически на 8-ми битных MCU c килобайтом RAM. А говорите что он сложный...
USB проще UART или SPI, если вы его хотя-бы начали изучать. Стыковка со всем, без особых плясок с бубном и всего 2 сигнальных провода для трафика в 480 Mbit у простейшего USB2.0-hi.
В данном термометре стоит SoC поддерживающий USB2.0-fs с трафиком в CDC за 600 килобайт в сек.
Пока они очень тупые.
А зачем им быть вумными?
В быту всего то пара функций, даже у человека.
 

pvvx

Активный участник сообщества
для задач умных датчиков и умного дома, BLE - это монстр.
Аналогично USB
В чем ваше непонимание BLE?

Там всё настолько тупо, что описание можно сделать в одном предложении – данные принимаются и передаются в раздельные подписанные ящики, а не по списку условий в зависимости от предыстории и текущего номера команды или текущей температуры на обратной стороне Луны. Названия ящиков и формат данных в них пытается стандартизировать bluetooth.com

В принципе это и есть полное описание BLE.

C USB не сложнее – там тоже есть ящики, но их опрашивает (изымает из них данные) ведущий шины. Описание что и в каком ящике лежит так-же находится в “верхнем” ящике и стандартизировано...

Как это можно сравнить с зоопарком протоколов в WiFi, UART, SPI и т.д.?
 

pvvx

Активный участник сообщества
Пока они очень тупые.
Возьмем простейший пример – надо узнать версию устройства, изменить его имя, изменить параметры соединения, считать температуру и т.д.

В BLE это сводиться к таблице описания ящиков со своими стандартными номерками и атрибутами доступа в них. Атрибуты указывают, что и с какими ограничениями можно сделать с данными в ящике: чтение, запись, шифрование, авторизация.

Программно вам остается только положить в ящик данные в нужном формате. Для USB устройства это аналогично.

Опишите, что нужно сделать, чтобы получить эту функциональность в любом стороннем ПО с вашего горячо любимого ESP8266?
 

pvvx

Активный участник сообщества
Как выглядит просмотр окружающих устройств в BLE и считывание данных?

Указываете, какие ящики вас интересуют. Например с “деньгами”. Ящик находится в типовом шкафу. Например “банк”. Указываете адаптеру, чтобы он выбрал все окружающие “банки”. Он выдаст их список. А далее, в зависимости от ваших задач соединяетесь с выбранным устройством имеющим “банк” и открываете ящик с “деньгами”. Можете ‘считать’ их от туда. Ящики имеют и свойство сами выдавать бабки когда их туда дополнили или через какое-то время оповещения, заданное их производителем - когда он заработает новые. Для этого у ящика есть переключатель – notify. Включив его бабки из ящика сами будут приходить к вам.

А такие как nikolz специально пудрят всем мозг, лопоча о какой-то сложности в том, что они не усвоили. Но и возможно причина в том, что им надо продать своё устаревшее барахло...
 

pvvx

Активный участник сообщества
Теперь LYWSD03MMC и MHO-C401 c альтернативной прошивкой запоминает 20 тысяч последних замеров в своей Flash:
1612009479306.png
При установках по умолчанию для LYWSD03MMC интервал измерения выходит около 10 сек с чем-то, т.к. к интервалу маяка по стандарту добавляется случайная задержка (чтобы маяки от нескольких устройств не сошлись).
В итоге глубина записей при default установках составляет 4.5 месяца с шагом по 10+ сек.
Для MHO-C401 интервал опроса датчиков больше - 20 сек, т.к. E-ink тормоз всегда и везде при перерисовке изображения и быстрые переключения выглядят некрасиво. А за период в 20 сек ему нужно отобразить температуру, влажность, батарейку, часы и прочее - по выбору в установках. Т.е. 4 разных экрана.
В итоге глубина записей при default установках у MHO-C401 составляет 9 месяцев с шагом по 20+ сек.

Тут возникает вопрос - зачем нужны какие-то внешние базы Cloud, если даже самые мелкие современные устройства имею массу своих мозгов и возможностей, включая коммуникации с другими устройствами? :)
Это всё безусловно не относится к ESP8266/ESP32, особенно на Arduino - такие устройства стары, тупы и сами не могут ничего.
 
  • Like
Реакции: sdsm

r1vver

New member
pvvx, можете фото сделать про "1.8: Time display (instead of a blinking smile)"?
Что то не могу представить как это может выглядеть на LYWSD03MMC. Железки сейчас на руках нет.

и время для "1.9: Recording measurements to flash memory (cyclic buffer for 19632 measurements) " выставляется на самом устройстве при прошивке и дальше считается уже само?
Не замечали, как с точностью дела обстоят, на много оно теоретически "убежит/отстанет" за эти 4,5 месяца те же?
 

pvvx

Активный участник сообщества
pvvx, можете фото сделать про "1.8: Time display (instead of a blinking smile)"?
Что то не могу представить как это может выглядеть на LYWSD03MMC. Железки сейчас на руках нет.
Ужасно выглядит. Там жуткий LCD. У него контраст зависит от напряжения питания. При 2.5В начинается полное падение контраста... а на 3В - он не полный.
Отображает сверху большими цифрами часы, а маленькими минуты.
Т.к. отображение производится синхронно с маяками, то обновление, переход минут может запаздывать на период маяка и установленного минимального шага интервала отображения.
LCD не может обновляться часто - такая микросхема...
На E-Ink такие-же беды - нельзя часто обновлять, плюс обновление E-ink жрет немерянно. Но у него качество изображения в тысячи раз лучше. Даже лучше активных индикаторов...

и время для "1.9: Recording measurements to flash memory (cyclic buffer for 19632 measurements) " выставляется на самом устройстве при прошивке и дальше считается уже само?
Не замечали, как с точностью дела обстоят, на много оно теоретически "убежит/отстанет" за эти 4,5 месяца те же?
На сей день неизвестно. Экспериментов с уточнением хода часов не ставил.
Если данные снимаются раз в день, то данных в виде "времени" меток достаточно. Кол-во делить на период = более точный шаг. А джиттер каждой точки в этом деле никому не интересен, т.к. не несет никакой информации...
PS: фото счас слеплююю
 

pvvx

Активный участник сообщества
Отображение в цикле:
  1. Температура и влажность
  2. Температура и % батареи
  3. Температура и влажность
  4. Часы и минуты
Записано 2 цикла.
Если отключить показ батареи (2), то будет показывать часы в стадии 2.
Если отключить показ часов (4), то будет показывать батарею в стадии 4.
Если отключить показ часов и батареи - будет показывать только температуру и влажность.
Т.е. на период между замерами 4 стадии. В 2-х может показывать и внешние загруженные "картинки"/числа.
 

pvvx

Активный участник сообщества
Всё остальное отметается - на то есть исходники, а это не магазин бесплатных заказов :)
За предоплату от пары сотен тысяч руб - могу подумать об изменениях :)
 

pvvx

Активный участник сообщества
На счет E-ink дисплеев - они жрут больше чем любой LCD. Если их не обновлять - то может и сравняются когда с каким LCD. :)
Причина без обновления в том, что контроллер тоже жрет. А зарядка на повышение напряжения для смены изображения жрет вообще не мерянно и E-Inc надо иногда обновлять - иначе станет серым...
В итоге "мечтали" не получат завтра E-Ink часов с BLE на CR2032...
 

pvvx

Активный участник сообщества
"Вечная" батарейка:

CJMCU-2557 BQ25570
 

nikolz

Well-known member
Возьмем простейший пример – надо узнать версию устройства, изменить его имя, изменить параметры соединения, считать температуру и т.д.

В BLE это сводиться к таблице описания ящиков со своими стандартными номерками и атрибутами доступа в них. Атрибуты указывают, что и с какими ограничениями можно сделать с данными в ящике: чтение, запись, шифрование, авторизация.

Программно вам остается только положить в ящик данные в нужном формате. Для USB устройства это аналогично.

Опишите, что нужно сделать, чтобы получить эту функциональность в любом стороннем ПО с вашего горячо любимого ESP8266?
Ну Вы как всегда ....
Начнем разбирать Вашу кашу.
-------------
1) прикольно от Вас слышать что USB проще, чем UART.
Сочувствую, что Вам некогда было учиться в вузе, вы делали бабло. изъяны обучения у вас очевидны.
Универсальное всегда сложнее специального. - это аксиома.
-------------------
2) USB сделали чтобы не лепить множество разъемов на комп для зверинца подключаемых устройств и уменьшить число проводов.
А Зачем универсальный интерфейс на датчик температуры, да еще и беспроводной?
Если у Вас BLE, то нафига USB?
Можете что-то вразумительное сказать?
Можете доказать, что драйвер USB меньше, чем драйвер uART?
Можете доказать чем же протокол и реализация USB проще протокола и реализации uART?
===============
Теперь про тупые датчики.
-------------
3) Вы пишите:
"Возьмем простейший пример – надо узнать версию устройства, изменить его имя, изменить параметры соединения, считать температуру и т.д."
А зачем это надо знать? Можете что-то вразумительное сказать?
Зачем читать температуру каждую секунду?
--------------
4) Вы радуетесь, что средний ток у Вас получился 10 мка.
Если сравнивать с Wifi, то надо приравнять мощности и получим тоже самое.
А почему бы не добавить сюда еще и средний ток смартфона, который принимает каждую секунду эти данные?
А если не принимает, то зачем это все передавать?
Сложность протокола BLE не в том, что кто-то его не изучил,
А в том что для передачи температуры со скоростью 2 Мбит/сек надо передать 64 бита т е затратить 32 мкс
и передавать эту температуру каждую секунду нет смысла.
Если посчитаете, то получите что кпд универсальных протоколов таких как BLE примерно 1%,
т е затраты энергии такими устройствами раз в 100 больше, чем требуется для передачи полезной информации.
Это и есть критерий их сложности т е бессмысленной траты энергии и времени.
-------------------
5) Такие датчики температуры и влажности - тупые,
не потому что у них протокол универсальный,
а потому что у них не используется CPU для решения прикладных задач.
Вся мощность SOC уходит на бесполезное универсальное управление приемо-передатчиком для тупой передачи значения температуры.
------------------
Причем чтобы передать это значение к нему надо еще довесить кучу ненужного хлама.
-------------------
И что в итоге ?
Что конкретно этот датчик позволяет сделать автоматически?
И сколько энергии для решение прикладной задачи потребуется?
----------------
Поэтому пока это тупые, а не умные датчики, которые забивают эфир бестолковой информацией.
Полагаю, что Вы не приписываете себе создание протокола BLE и производство чипов на Cortex-M..?
Прикольно читать как Вы боретесь с ESP уже который год. то пиарили RTL, теперь прилепились к TELINK.
Да флаг вам в руки. Никто с Вами не спорит , Вы все это придумали и сделали.
---------------------
Но прикольно читать Ваш щенячий восторг,
о том, что устройство, мощность излучения которого в 100 раз меньше, чем у ESP,
потребляет в 2 раза меньший средний ток
и, используя другой протокол, забивает эфир ненужной информацией,
при этом измеряет температуру в своем корпусе.
-----------------
И нафига столько шума из-за ничего?
 

pvvx

Активный участник сообщества
Ну Вы как всегда ....
Начнем разбирать Вашу кашу.
-------------
1) прикольно от Вас слышать что USB проще, чем UART.
Сочувствую, что Вам некогда было учиться в вузе, вы делали бабло. изъяны обучения у вас очевидны.
Универсальное всегда сложнее специального. - это аксиома.
-------------------
2) USB сделали чтобы не лепить множество разъемов на комп для зверинца подключаемых устройств и уменьшить число проводов.
А Зачем универсальный интерфейс на датчик температуры, да еще и беспроводной?
Если у Вас BLE, то нафига USB?
Можете что-то вразумительное сказать?
Можете доказать, что драйвер USB меньше, чем драйвер uART?
Можете доказать чем же протокол и реализация USB проще протокола и реализации uART?
===============
Теперь про тупые датчики.
-------------
3) Вы пишите:
"Возьмем простейший пример – надо узнать версию устройства, изменить его имя, изменить параметры соединения, считать температуру и т.д."
А зачем это надо знать? Можете что-то вразумительное сказать?
Зачем читать температуру каждую секунду?
--------------
4) Вы радуетесь, что средний ток у Вас получился 10 мка.
Если сравнивать с Wifi, то надо приравнять мощности и получим тоже самое.
А почему бы не добавить сюда еще и средний ток смартфона, который принимает каждую секунду эти данные?
А если не принимает, то зачем это все передавать?
Сложность протокола BLE не в том, что кто-то его не изучил,
А в том что для передачи температуры со скоростью 2 Мбит/сек надо передать 64 бита т е затратить 32 мкс
и передавать эту температуру каждую секунду нет смысла.
Если посчитаете, то получите что кпд универсальных протоколов таких как BLE примерно 1%,
т е затраты энергии такими устройствами раз в 100 больше, чем требуется для передачи полезной информации.
Это и есть критерий их сложности т е бессмысленной траты энергии и времени.
-------------------
5) Такие датчики температуры и влажности - тупые,
не потому что у них протокол универсальный,
а потому что у них не используется CPU для решения прикладных задач.
Вся мощность SOC уходит на бесполезное универсальное управление приемо-передатчиком для тупой передачи значения температуры.
------------------
Причем чтобы передать это значение к нему надо еще довесить кучу ненужного хлама.
-------------------
И что в итоге ?
Что конкретно этот датчик позволяет сделать автоматически?
И сколько энергии для решение прикладной задачи потребуется?
----------------
Поэтому пока это тупые, а не умные датчики, которые забивают эфир бестолковой информацией.
Полагаю, что Вы не приписываете себе создание протокола BLE и производство чипов на Cortex-M..?
Прикольно читать как Вы боретесь с ESP уже который год. то пиарили RTL, теперь прилепились к TELINK.
Да флаг вам в руки. Никто с Вами не спорит , Вы все это придумали и сделали.
---------------------
Но прикольно читать Ваш щенячий восторг,
о том, что устройство, мощность излучения которого в 100 раз меньше, чем у ESP,
потребляет в 2 раза меньший средний ток
и, используя другой протокол, забивает эфир ненужной информацией,
при этом измеряет температуру в своем корпусе.
-----------------
И нафига столько шума из-за ничего?
Нда - тупость nikolz процветает.
По несколько шибок в каждом абзаце.
 

pvvx

Активный участник сообщества
Если у Вас BLE, то нафига USB?
Можете что-то вразумительное сказать?
Очень часто устройства с BLE используют АКБ и зарядку с USB.
В таких, 90% случаев USB может использоваться для программирования различных опций и аналога OTA.
Можете доказать, что драйвер USB меньше, чем драйвер uART?
Без проблем - смотрите исходники и сравните размер кода.
Можете доказать чем же протокол и реализация USB проще протокола и реализации uART?
Без проблем - в USB встроена блочная синхронизация и нет нужды описывать протокол синхронизации, что в большинстве случаев с UART занимает больше всего места и ресурсов.
Элементарный пример - Modbus.

nikolz Все остальные ваши высеры от технической безграмотности и не восприятия нового. Кароче большие проблемc с обучением и изучением чего нового.
 

pvvx

Активный участник сообщества
Но тут вообще вопиющая тупость у nikolz:
Вся мощность SOC уходит на бесполезное универсальное управление приемо-передатчиком для тупой передачи значения температуры.
А в WiFi не вся мощность SOC уходит на бесполезное?
В UART не вся мощность адаптера уходит на бесполезное преобразование триллионов электронов из одного временного потока в другой?
У Солнца вся мощность уходит на бесполезное рассеивание и описание этого процесса для чело-веков на сегодня составляет толмуты и они не полны.
У nikolz разве не вся мощность мозга уходит на бесполезное рассеивание своего тупизма? Или только для дотягивания руками до тарелки и горшка?
:) :)
 
Сверху Снизу