Удалось подключить к модулю Esp32 по Bluetooth Mi Motion Sensor 2.
1. Данные передаваемые датчиком зашифрованы. Для получения доступа к коду сначала регистрируем датчик в официальной среде Xiaomi.
- Установим модифицированный Mi Home на смартфоне. (Хотя можно и родное приложение)
- Регистрируемся и подключаем датчик к системе для доступа к настройкам через установленное приложение. В облаке Xiaomi формируется ключ привязки датчика.
описание процесса можно посмотреть тут.
Так как шлюза у меня нет, то полноценного подключения не получиться, оно и не надо!
- Для получения ключа воспользуемся специальной программой - Cloud Tokens Extractor
И вот он заветный ключик - BLE KEY2. Подключаем датчик к прошивке WiFi-IoT.
Включаем опцию BT HUB для приема данных с разнообразных Bluetooth датчиков.
Опция очень тяжелая и рекомендую Telegpsmm и MQTT одновременно не включать.
В настройках модуля во вкладке Edit Xiaomi keys вписываем полученный ранее ключ.
И ручками вводим MAC нашего датчика. Теперь модуль видит данные передаваемые по Bluetooth.
3. Программируем определение срабатывания датчика.
Включаем опцию Конструктор кода для программирования.
И на сайте конструктора под звездочкой вставляем следующую программу :
===============================================================
if(mac[4]==0xAA && mac[5]==0xBB) // AA и BB - последние цифры MAC адреса.
{
if(ad_type==0x16) // принимаем Service Data - 16-bit UUID
{
if(len==26)
{
digitalWrite(6,1); // устанавливаем gpio 6
}
}
}
}
void startfunc(){cb_bthub_funs=myBleHub;
}
void timerfunc(uint32_t timersrc) {// выполнение кода каждую 1 секунду
if(timersrc%30==0){// выполнение кода каждые 30 секунд
}
delay(1000); // обязательная строка, минимальное значение для RTOS систем- 10мс
}
void webfunc(char *pbuf) {
os_sprintf(HTTPBUFF,"Контроль движения"); // вывод текста на главной модуля
}
================================================================
Сохраняем и компилируем прошивку.
Вот и все. Теперь при определении датчиком движения на установочном Gpio6 будет появляться 1. Ну а дальше .......
Комментариев нет:
Отправить комментарий