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

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

pvvx

Активный участник сообщества
Короче - не работает в вашем SDK aes_ll_encryption().
Может она аппаратная, возможно нужна инициализация и т.д.
 

pvvx

Активный участник сообщества
Так работает:
C:
void tn_aes_128(unsigned char *key, unsigned char *plaintext, unsigned char *result) {
    aes_encrypt(key, plaintext, result);
}
Код:
Bindkey - '000102030405060708090a0b0c0d0e0f'
Adv Data - '01640ce40c3eb31500003e0a1a0000'
Nonce - '2415342d585ad2fc4101000000'
Adv Crypt Data  - '02353d4f95800e4dca11e7e935b39e'
MIC - '5cefa691'
...
MAC - '2415342d585a'
counter - 1
Bindkey - '000102030405060708090a0b0c0d0e0f'
Adv Data - '01640ce40c3eb31500003e0a1a0000'
Nonce - '2415342d585ad2fc4101000000'
Adv Crypt Data - '0201061b16d2fc4102353d4f95800e4dca11e7e935b39e010000005cefa691'
ret - 0x0, decrypt data - '01640ce40c3eb31500003e0a1a0000'
Т.е. для вашего SDK надо заменить tn_aes_128() на aes_encrypt()
 

pvvx

Активный участник сообщества
Я переставил и в своем проекте, чтобы было универсально для разных SDK. И уже проверил с BTHome V1 (crypted) - работает.
 

Slacky

Member
Я переставил и в своем проекте, чтобы было универсально для разных SDK. И уже проверил с BTHome V1 (crypted) - работает.
Я только убрал tn_aes_128. В ccm.c изменил
C:
#define UPDATE_CBC_MAC          \
    for (i = 0; i < 16; i++)      \
        y[i] ^= b[i];           \
        aes_encrypt((u8*)key, y, y);



/*
 * Encrypt or decrypt a partial block with CTR
 * Warning: using b for temporary storage! src and dst must not be b!
 * This avoids allocating one more 16 bytes buffer while allowing src == dst.
 */
#define CTR_CRYPT(dst, src, len)    \
    aes_encrypt((u8*) key, ctr, b);  \
    for (i = 0; i < len; i++)        \
        dst[i] = src[i] ^ b[i];
 

izhadapter

New member
О крутая штука. Недавно купил Поставлю в мотор-колесо следить за нагревом обмотки.

А кто-нибудь уже задумывался о web версии термометра?
Может уже кто-то видел? Если нет ,готов как-то финансово вложиться.
Надо хотя бы чтобы показывал температуру и влажность а потом можно и другие плюшки добавлять, типа пороги реле-термостата, сирену при повышении температуры, графики и так далее и тому подобное.

Насчёт реле очень классная идея Я бы ещё добавил второе реле чтобы одно реле работало по температуре а другое по влажности это более удобно по-моему опыту
 

pvvx

Активный участник сообщества
А кто-нибудь уже задумывался о web версии термометра?
Она и так web.
А для WiFi нужно АКБ от авто.
Надо хотя бы чтобы показывал температуру и влажность а потом можно и другие плюшки добавлять, типа пороги реле-термостата, сирену при повышении температуры, графики и так далее и тому подобное.
Насчёт реле очень классная идея Я бы ещё добавил второе реле чтобы одно реле работало по температуре а другое по влажности это более удобно по-моему опыту
Всё это есть в Home Assistant, а у него и Web и приложение в Android.
 

izhadapter

New member
Понял, очень интересно но очень много иностранных букв...
Да и потом у этого термометра нет wifi

Мне-то надо просто через браузер соединиться с этим термометром и смотреть температуру.

Приложение на смартфон это неинтересно их нельзя переписать за несколько минут сидя в туалете а в html странице накинул там 10 строк JavaScript и поехали дальше.
 

pvvx

Активный участник сообщества
Мне-то надо просто через браузер соединиться с этим термометром и смотреть температуру.
А другого и нет. Все соединения с термометром происходят через браузер путем запуска странички html с js, как и перепрошивка, загрузка истории из термометра в график на html-js и т.д.... Вы ничего не посмотрели, а уже пишите выдумки
Всё отличие от WiFi - html страница хранится у вас (локально) или на каком http сервере. И не надо ничего муторно переписывать на устройстве с отключением соединения по WiFi с интернет.
 

pvvx

Активный участник сообщества
Всё отличие от WiFi - html страница хранится у вас (локально) или на каком http сервере. И не надо ничего муторно переписывать на самом устройстве с отключением соединения по WiFi с интернет, а так-же набивать непонятные "htttp туды-сюды 1 35 палка не та / опять не то : тут вроде домик стоял... 192..., а блин пароль забыл, где инструкция, какой там номер далее".
 

izhadapter

New member
я как раз посмотрел...
И дочитав до слов сервер облако yaml...
Понял , это не то что мне надо.
Всё что там написано это можно сказать собери то не знаю что напиши то не знаю что и Включи лампочку!
 

izhadapter

New member
Мне-то надо просто Одну хтмэль страницу без всякого подключения к интернету смотреть Мою температуру.
Безо всяких роутеров openwrt облак серверов https.
Это всё делается одностраничным html страничкой с последующим преобразованием в веб-приложенея с помощью технологии PWA вот и всё без этого чудовища под названиям хомоссистент
 

r1vver

New member
Мне-то надо просто Одну хтмэль страницу без всякого подключения к интернету смотреть Мою температуру.
Безо всяких роутеров openwrt облак серверов https.
Это всё делается одностраничным html страничкой с последующим преобразованием в веб-приложенея с помощью технологии PWA вот и всё без этого чудовища под названиям хомоссистент
ты наркоша?
 

izhadapter

New member
ты наркоша?
Вот это уже походит на то что надо, а то я с тем товарищем похоже на разных языках общался... Может у него корона просто выросла...
Не ну я конечно тупой, проблему осознаю.
 

pvvx

Активный участник сообщества
Мне-то надо просто Одну хтмэль страницу без всякого подключения к интернету смотреть Мою температуру.
Для этого в Chrome давно сделали специальный API, позволяющий соединяться с BLE устройствами. Называется Web Bluetooth API. И уже годы все его используют, наплодив множество описаний. Пример Связь с Bluetooth-устройствами через JavaScript
А вы только просыпаетесь? Это ничего - поправимо. Изучите сами, там не сложно...
И дочитав до слов сервер облако yaml...
Понял , это не то что мне надо.
А другим и это нужно. По этому и такое тоже есть.
 

Bebebe

New member
Подскажите, а можно ли использовать выход РА5(reset) как вход? Чтобы можно было применить устройство в качестве датчика?
 

izhadapter

New member
Подскажите, а можно ли использовать выход РА5(reset) как вход? Чтобы можно было применить устройство в качестве датчика?
В этом сообщении написано можно:
На странице есть кнопка считать состояние вывода. В целом вопрос довольно странный 😊
это же микроконтроллер - любой вывод теоретически позволяет использовать как вход Кроме тех которые физически этого не могут.
 

pvvx

Активный участник сообщества
Подскажите, а можно ли использовать выход РА5(reset) как вход? Чтобы можно было применить устройство в качестве датчика?
Тут как-бы не всё совсем однозначно.
РА5(reset) как-бы и не является выходом...
В режиме сна во всех встретившихся чипах контроллер GPIO отключается и работают только "подтяжки" к питанию или к GND.
Так он и работает. Т.е. большого тока не дает.
Для "датчика", типа геркона, назначены другие входы. Корпус то разбирается просто - он на винтиках.
 

Bebebe

New member
Некорректно вопрос задал. Да, совершенно не важно какой вывод будет входом. Можно ли на этой прошивке получать его состояние? Если да, то как?
 
Сверху Снизу