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

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

selevo

Member
Изучение темы идёт у меня очень тяжело ввиду того что форум это кривой он не позволяет пользователю менять первый пост в котором собиралась бы вся информация и ссылки. Этот форум вообще говно по движку. У меня чрезвычайно раздражает читать обрывки информации которая Тут раскидана и там и сям.
Очень надеюсь что послезавтра этот форум перестанет работать навсегда. Это заставит переместиться на другие площадки
 

pvvx

Активный участник сообщества
В этом устройстве не хватает двух деталей зуммера и зелёного светодиода, также они бы могли вывести все порты около батарейки. Они должны были уже знать что в России и в мире начнут эти устройства ковырять, использовать вместо отладочной платы.
Повышать спрос на продукцию Xiaomi
Из десятков тысяч готовых устройств разбирают один-два.
Из десятков тысяч "программистов" только один разбирается в железе, делает "обратное проектирование" и публикует свой код. Остальные только требуют всё готовое. :p
 

selevo

Member
А как в термогигрометре устанавливается время? У меня есть две штуки и в одном время сдвинуто на 6 ч
То есть оно как-то корректируется при каждой прошивке или как-то разово выставляется . Я ни в одном не устанавливал.
 

selevo

Member
При каждом соединении точнее.
Я даже не то что не устанавливал время, А даже не видел что где то есть такая опция.
 

sL0n1k

Member
Во первых - "вы".
Во вторых многие пользователи, чуть ли не треть, а ранее большинство, знают свои регистрационные ключи из MiHome, полученные в распространившемся нелегальном ПО.
Очень интересно. Даже забавно.
Вы хотите сказать, что код на Вашей странице полностью написан без использования реверса, т.е. запрещенных с Ваших слов китайцами методами? Конечно он написан не Вами, но с Вас это не снимает оветственности. Понимаете о чем я?
 

selevo

Member
Очень интересно. Даже забавно.
Вы хотите сказать, что код на Вашей странице полностью написан без использования реверса, т.е. запрещенных с Ваших слов китайцами методами? Конечно он написан не Вами, но с Вас это не снимает оветственности. Понимаете о чем я?
Не отвлекай шефа всякой ерундой.
А то дела замедляются.
 

pvvx

Активный участник сообщества
Очень интересно. Даже забавно.
Вы хотите сказать, что код на Вашей странице полностью написан без использования реверса, т.е. запрещенных с Ваших слов китайцами методами? Конечно он написан не Вами, но с Вас это не снимает оветственности. Понимаете о чем я?
Нет, не понимаю. Всё взято из легальных открытых источников. Никакого "реверса" ПО от Xiaomi не производилось.
 

pvvx

Активный участник сообщества
Очень интересно. Даже забавно.
Вы хотите сказать, что код на Вашей странице полностью написан без использования реверса, т.е. запрещенных с Ваших слов китайцами методами?
Во первых взят только кусок кода, переделан и встроен. Во вторых источник находится на GitHub. В третьих, начальный источник, который был переведен с Java (и не мной), это тоже не Xiaomi.
Даже оф. бинарные прошивки и ссылки на них присланы пользователями, отследить как и кто можно в issues.
Это именно такой специальный "проект", без нарушений лицензий и "пользовательских соглашений" от Xiaomi (MiHome).
Я только даю наметку, инфу и куда, а другие по капле предоставляют на легальные открытые публичные ресурсы. Никаких личных переписок и т.д. не публичного - иначе не будет включено в прошивку и прочее. :p
 

sL0n1k

Member
В третьих, начальный источник, который был переведен с Java (и не мной), это тоже не Xiaomi.

Вот тут поподробнее)
Дайте ссылку на источник))

P.s. Внесу ясность: я не только не сторонник соблюдения соглашений, но и категорически приветствую любого рода реверс.
 

pvvx

Активный участник сообщества
Вот тут поподробнее)
Дайте ссылку на источник))
Не нашел, т.к. уже прошло более 3-х лет, а у себя удалил из-за ненадобности.
Но если хотите копаться, то есть SDK от Telink "Mible_825x - mi_release_version_4_1_1" без самой lib "libmijia_std_authen_eclipse_telink_1_0_1.a", скачанный с оф.сайта Telink и было доступно всем (может оно ещё и есть на их вики).
Код:
After you get the sdk ,there are some steps for you to do.
1. you can not compile success,becase there is lib named"libmijia_std_authen_eclipse_telink_1_0_1.a"should provide by xiaomi ,so you need to contact xiaomi and get the lib ,and then put the lib to the path of the proj_lib.
2. use the mijia app,to add a gateway(we test by the yeelight device).and then add our device(826x or 825x) by mijia,and then reset the device .
3. and then wait for sometime ,you will see the picture in the document .
Так-же Libmijia, т.е. полные внутренние исходники Mijia с пару блобов (несколько мелких obj только для части дешифратора ключа, но собранных для всех типов ARM CPU и оф. поддерживаемых чипов производителей у Mijia), тоже есть, но другой версии, ныне устаревшей, но регистрация ключей там ещё аналогична. Скачано с инета по какой-то git ссылке от Telink. Видимо Telink плевал на запреты и подставил всех других производителей чипов, т.к. там удалил только свой obj для TLSR82xx :)
Где-то есть и вся сборка для Raltek BLE чипа, тоже валялось где-то на git... На github Ai-Thinker валяются исходники с Mijia BT Mesh.
Я в этом не копался, т.к. самому написать код быстрее.

И вам никто не мешает заргаться на Mijia и получить всё оф. от них, подписав всякие NDA... Но это не мой вариант - так скучно.
 

pvvx

Активный участник сообщества
Меня мало интересует Mijia со своими исходниками, т.к. это куча хлама с десятками “прокладок”. Тем более там сотни версий и пусть они сами это разгребают. Да и получаемый с их либами код не лезет в чипы, плюс ужасное потребление.
В итоге даже найдете древний дизасм Java, то он не подходит к новым версиям Mijia, плюс для каждого устройства есть разные дополнения и изменения, внесенные конкретным производителем устройства.
 

pvvx

Активный участник сообщества
P.s. Внесу ясность: я не только не сторонник соблюдения соглашений, но и категорически приветствую любого рода реверс.
Для Mijia в XMWSDJ04MMC с BT5.0+ используется модифицированный алгоритм регистрации. Но работает и старый BT4.2. Это не Telink. Дополненный код js представлен в XMWSDJ04MMC_Utils.html.
Дополнял без всяких внешних источников инфы. Тупо по BT сканеру….
Разгребайте то “г”, что уже давно все проехали :p
 

sL0n1k

Member
Не нашел, т.к. уже прошло более 3-х лет, а у себя удалил из-за ненадобности.
Да, ничего удивительного.))

Нельзя удалить у себя то, чего никогда не было.))

Вы когда-нибудь видели backsmali код, который получается в результате того, что Вы называете дизасм Явы? ))

В китайском SDK нужной информации, естественно нет.

Изучать алгоритм по трафику, конечно можно, но это не изучение, а простите, радиолюбительство)))
 

sL0n1k

Member
Да, по поводу китайцев и periodic advert-ов, если эта информация будет Вам полезна или кому-то полезна.

Могу Вам сообщить, что в miHome они используют сканер от нордика, вот ссылка

Особо они не заморачивались ничего практически не меняли.

Этот сканер поддерживает Periodic Advert-ы, ну , естественно, и long range. МиХоме сканирует на всех доступных phy по умолчанию.

Это достаточно просто реализуется на Андроиде, только какой смысл? В любом случаев, это не заменит тот функционал, который имеют меш сети, зигби, BLE mesh,тред

Кроме того, как Вам,видимо, известно каждое устройство в МиХоме требует своего собственного React Native плагина, который подтягивается из репозитория по необходимости, как минимум при первом подключении к девайсу. Заменить плагины не представляет особого труда, что уже и было сделано разными людьми, создав свои собственные МиХоме, так называемые моды. Но эти плагины также не несут никакой полезной информации по изучаемому вопросу.

В общем, вопрос про обобщенный алгоритм авторизации пока остаётся открытым. Надеюсь, что ключевое слово здесь 'пока' ))
 

pvvx

Активный участник сообщества
Да, ничего удивительного.))
Нельзя удалить у себя то, чего никогда не было.))
Было - я скачивал, по ссылке от atc1441 :p
Вы когда-нибудь видели backsmali код, который получается в результате того, что Вы называете дизасм Явы? ))
Оно и было. Где-то в начале данной теме вроде была ссылка, но лень искать.
По этому "disasm" atc1441 и делал js.
 

pvvx

Активный участник сообщества
В общем, вопрос про обобщенный алгоритм авторизации пока остаётся открытым. Надеюсь, что ключевое слово здесь 'пока' ))
Алгоритм как раз известен. На сегодня у MiHome всего пару модификаций его для BLE. Старый и новый, хотя номера версий уже перевалили за пол десятка. Но есть ещё другие - для MESH и т.д.
Из нового - поддержка увеличенного MTU (меняется последовательность команд и аргументы) и всё. Т.е. старый - это BT4.0, а новый - BT4.2. И имеющиеся (которое были в моих руках) "новые" устройства пока поддерживают и "старый" вариант, т.к. у пользователей может быть древний смарт "огрызок".
 

pvvx

Активный участник сообщества
Да, по поводу китайцев и periodic advert-ов, если эта информация будет Вам полезна или кому-то полезна.

Могу Вам сообщить, что в miHome они используют сканер от нордика, вот ссылка

Особо они не заморачивались ничего практически не меняли.

Этот сканер поддерживает Periodic Advert-ы, ну , естественно, и long range. МиХоме сканирует на всех доступных phy по умолчанию.

Это достаточно просто реализуется на Андроиде, только какой смысл? В любом случаев, это не заменит тот функционал, который имеют меш сети, зигби, BLE mesh,тред

Кроме того, как Вам,видимо, известно каждое устройство в МиХоме требует своего собственного React Native плагина, который подтягивается из репозитория по необходимости, как минимум при первом подключении к девайсу. Заменить плагины не представляет особого труда, что уже и было сделано разными людьми, создав свои собственные МиХоме, так называемые моды. Но эти плагины также не несут никакой полезной информации по изучаемому вопросу.

В общем, вопрос про обобщенный алгоритм авторизации пока остаётся открытым. Надеюсь, что ключевое слово здесь 'пока' ))
Это всё ваши выдумки про "Нордик" и BT5.0. Mijia имеет свои либы + каждый реальный производитель под их лейблу пишет как захочет. Так-же MiHome очень мало соотносится с Mijia. Что дали, то и вставили. И вышел монстр MiHome с плагинами на каждое устройство...
Тем более всё меняется и несколько лет назад у Mijia всё было по другому.
На вашем репо указано - 2 years ago, а MiHome и Mijia уже работали, а "дизасму" atc1441 уже более 3-х лет.
 

pvvx

Активный участник сообщества
Этот сканер поддерживает Periodic Advert-ы, ну , естественно, и long range. МиХоме сканирует на всех доступных phy по умолчанию.
У вас опять выдумки - на ваши выдумки только бездарно тратить время на проверки...
Проверка говорит об обратном. Ни одного LongRange устройства MiHome не сканирует.
Не забывайте что у MiHome есть ещё разные BT шлюзы... На GW 3 чувствительность приемника достойная, лучше чем у тупых USB-BT адаптеров. Наверно хорошо развели антенну.
Берет дальность за 100 метров на 1M PHY.
 

pvvx

Активный участник сообщества
В новых версиях интеграции "Bluetooth" для HA очередная деградация.
Теперь она периодически сбрасывает адаптер и предварительные настройки адаптер на прием "LongRange".
 

pvvx

Активный участник сообщества
Ещё о новостях по теме:
В инструкции к интеграции "bluetooth", после множества уведомлений, наконец поменяли список "высокопроизводительных адаптеров" на CSR8510 - A10. Но опять умолчали, что он BT4.2.
Linux деградирует далее - никаких API с поддержкой BT5.0+ не выходит, а старые API дополнительно выпиливают любые возможности по функционированию с BT5.0+.
 
Сверху Снизу