Kedves Blogolvasó!
Ez a leírás arról fog szólni, hogy miként lehet létrehozni egy ESP32 BLE tracker-t. Nagyjából két hete a Facebook-on a DIY Smarthome csoportban valaki megosztott egy Bluetooth jelenlét érzékelőt. A komment szekcióban az eszmecsere kapcsán felmerült egy ilyen szenzor létjogosultsága és az is, hogy 27 ezer forintért ez drága. Olcsóbban is meg lehet oldani. Ebből kifolyólag, csináltam egy tesztet egy ESP32-vel.
A nevezett termék linkjét megosztom, mert így a termékadatlapon szereplő paramétereket anélkül lehet megnézni, hogy le kellene írnom. – BTScanner Bluetooth mobiltelefon jelenlét érzékelő –
Az adatlapból kiderül, hogy ez az eszköz minden Bluetooth 2.0 szabványt, vagy annál újabb szabványt használó és támogató eszköz jelenlétét érzékeli. Az érzékelést követően pedig különböző protokollokon keresztül lehet értesítéseket küldeni, vagy integrálhatjuk az OpenHab vagy Home Assistant-al vagy egyéb más rendszerekkel is. De röviden ennyi, a többi úgy is le van írva.
A dolog pikantériája az, hogy az ESP32 csak BLE eszközöket érzékel, ezért egy kis leleményesség nélkül nem lehet csak úgy a telefonunkat nyomon követni vele. Viszont nem is kivitelezhetetlen.
ESP32 BLE Tracker készítés – Ahogy én csináltam
Csináltam ESPhome alatt egy új Node-ot, és a következő config file került fel:
esphome: name: esp32_ble_tracker platform: ESP32 board: nodemcu-32s wifi: ssid: "Arpanet" password: "My_strong_Wifi_password" # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Esp32 Ble Fallback Hotspot" password: "My_strong_Hotspot_password" captive_portal: # Enable logging logger: # Enable Home Assistant API api: password: "My_Strong_password" ota: password: "My_Strong_password" esp32_ble_tracker: binary_sensor: - platform: ble_presence mac_address: 20:DA:22:1C:9A:76 name: "Andys Honor Band 4" - platform: ble_presence service_uuid: '180E' name: "Andys Xiaomi phone"
A kódból könnyen kiolvasható, hogy melyik két eszközre voltam kíváncsi. A Honor Band 4 BLE aktivitásmérőmre, és a telefonomra. Mint azt már írtam, sajnos a telefont csak hack-el lehet BLE eszközként érzékelni. A következő megoldást választottam:
1. Letöltöttem a Nordic mobil alkalmazását: – nRF Connect for Mobile –
2. A következő beállítások alkalmazásával pedig létrehoztam egy BLE eszköz emulációt:
Az utóbbi képen bekarikáztam, hogy mi lesz a 16Bites UUID. Összesen 4 karakter.
Az aktivitásmérő MAC címét pedig nem volt nehéz megtalálni, mert csak a menüben kellett kikeresni:
Ezután a Home Assistant-ban integráltam a Node-ot, és hozzá adtam a LoveLace-hez a két új entitást.
Amikor reggel kimentem kutyát sétáltatni, akkor pedig eltűntem a kijelzőről:
Összességében mondhatnám azt, hogy működik a dolog, mert valóban működik, de azért az ilyen típusú jelenlét érzékelésnek meg vannak a buktatói.
ESP32 BLE Tracker – Összegzés
Hátrányok:
Az aktivitás mérő, csak akkor látható, ha nem csatlakozik a telefonhoz. Mihelyst csatlakozott a telefonhoz, onnantól kezdve „NoT Discoverable”. Mondhatni eltűnik a radarról. Ebből kifolyólag nem is nagyon lehet alkalmas jelenlét érzékelésre úgy, hogy közben a telefon értesítéseit is megkapjuk, és élvezzük az egyéb előnyeit.
A telefon esetében az Android alkalmazás folyamatosan fut a háttérben és ez szerintem eléggé meríti az akksit. Továbbá nem teszteltem sokáig, de elég lassan frissítette az eszközöket, amikor reggel a kutya sétáltatásból hazaértem, azért eltelt egy kis idő mire észre vette az ESP32, hogy otthon vagyok.
Előnyök:
A nagy előnye a dolognak szerintem kb az, hogy megoldható és működik. Ha nagyon muszáj. Személy szerint én nem nagyon látom ennek jeletőségét. Ha már a telefon az, ami meghatározza a jelenlétem, akkor inkább a GPS alapú, vagy a Wifi alapú dolgok jobbak szerintem.
Ellenben, ha már muszáj a BLE dolgokat használni jelenlét érzékelésre, akkor szerintem a legjobbak a kis Bluetooth kulcstartók.
Ezek az eszközök, szerintem azért jók, mert kimondottan erre találták ki őket. Ha csatlakozol hozzájuk, akkor ezek is eltűnnek az éterből, de azért ezekhez nem nagyon csatlakozol, maximum akkor ha keresed a kulcsod (A jobbik felem néha elkeveri az övét). Ellenben szerintem feltételezhető, hogy ha a lakáskulcsod otthon van, akkor te is otthon vagy. Nekem pl amikor Scan-eltem a bluetooth eszközöket, akkor elsőként dobta fel ezt az eszközt.
Ami még tuti benne az az, hogy 1 éve nem cseréltem benne elemet (CR2032), és még mindig naprakész, így hogy ritkán van használva.
Szubjektív személyes véleményem:
Végül de nem utolsó sorban, ha nagyon muszáj a Bluetooth 2.0 eszközöket Scan-elni, akkor erre egy HC-05 tökéletesen alkalmas. A sima ESP8266 alapú lapokhoz csatlakoztatható, és az AT+IRQ paranccsal lehet listáztatni, a közelben lévő aktív Bluetooth eszközöket.
Ami még érdekes lehet, jelenlét érzékelés témában, az az ha a BLE eszköz RSSI értékét nézzük meg, és az alapján próbálunk döntést hozni a helyzetünkre vonatkozóan. Az ESPhome reference-ben erre is van jó példa. Ha már muszáj lenne valamerre elindulni, akkor nekem ez az irány lenne az.
Szerencsére nem muszáj semmilyen irányba elindulnom Bluetooth jelenlét érzékelésben, viszont ami biztos, hogy sohasem vennék 27 ezer forintért ilyen eszközt. Ez a bejegyzés pedig azért íródott, mert mint az elején is írtam a Facebookon felkeltette az érdeklődésem pár hozzászólás a komment szekcióban.
Ha tetszett a leírás Like-old facebook oldalunkat, hogy értesülj a további hasonló leírásokról!
Mikrokontroller Blog és Webáruház – Facebook