BT modul s info o síle signálu
Moderátor: Moderátoři
- martinkopp
- Příspěvky: 1303
- Registrován: 12 říj 2023, 00:00
BT modul s info o síle signálu
Dáte tip co by mohlo vyhovovat? Jít cestou pokus-omyl je poněkud zdlouhavé.
Hlavné vlastnosti skenera Bluetooth BLE
======================
# Skenujte v blízkosti zariadení Bluetooth Low Energy, iBeacon a Eddystone.
# Vytvorte si svoj vlastný režim periférie alebo inzerenta, Pridajte vlastné služby a charakteristiky.
# Inzerujte svoj telefón ako rámy Eddystone UID, URI, TLM a EID.
# Prispôsobte konfiguráciu Eddystone pre UID, URI a TLM.
# Inzerujte svoj telefón ako zdravotné zariadenia, t. J. Srdcová frekvencia, glukóza, teplota, krvný tlak.
# Nájdite svoje stratené zariadenie BLE v blízkosti pomocou radarového zobrazenia a jedinečných farieb zariadenia.
# RSSI Pool pomáha zistiť, ako ďaleko sú vaše zariadenia. Znížte číslo, čím bližšie ste k zdroju, t. J. -25 veľmi blízko a -80 je ďaleko od vašich zariadení BLE.
# Filtrujte zariadenia podľa názvu, adresy Mac, RSSI a servisného UUID.
# Získajte históriu všetkých objavených zariadení. Zistite, ktoré zariadenie bolo objavené v čase objavenia.
I2C
SPI
UART
GPIO
USB
M.2 kombo karta s WiFi
Nebo tohle? https://www.bvsystems.com/product/blues ... e-locator/

- martinkopp
- Příspěvky: 1303
- Registrován: 12 říj 2023, 00:00
Hill píše:Znát sílu signálu nespárovaného zařízení jaksi postrádá smysl, zvlášť, když nevíš, kolik podobných zařízení v blízkosti je. Nějak je musíš napřed identifikovat, jinak budeš vědět jen o nejsilnějším signálu, ale nemusí to být zrovna ten, který tě zajímá.
Psal jsem sparovaneho zarizeni ale nepripojeneho.
- martinkopp
- Příspěvky: 1303
- Registrován: 12 říj 2023, 00:00
dred píše:BLE Scanner z googleplay si neskúšal?
Já hledám modul ktery mi řekne sílu BT signálu spárovaného ale nepřipojeného mobilu. Nějaká aplikace z googleplay je mi úplně k ničemu.
- martinkopp
- Příspěvky: 1303
- Registrován: 12 říj 2023, 00:00
martinkopp píše:Hill píše:Znát sílu signálu nespárovaného zařízení jaksi postrádá smysl, zvlášť, když nevíš, kolik podobných zařízení v blízkosti je. Nějak je musíš napřed identifikovat, jinak budeš vědět jen o nejsilnějším signálu, ale nemusí to být zrovna ten, který tě zajímá.
Psal jsem sparovaneho zarizeni ale nepripojeneho.
Spárované, ale nepřipojené zařízení znamená pouze to, že je uloženo ID zařízení, ale s nepřipojeným zařízením se nemusí vůbec komunikovat třeba proto, že je takové zařízení zrovna vypnuté nebo mimo dosah a tudíž je nesmysl požadovat měření síly signálu takového zařízení. Až teprve poté co se zařízení připojí a tudíž až od něj bude k dispozici nějaký signál tak se může měřit. V programu zařízení, které obsluhuje BT modul a spíná určitá zařízení byste měl detekovat příchozí Bluetooth spojení od mobilu a na základě toho se rozhodnout zda zapnete příslušné zařízení.
Například mobil má ID spárovaných zařízení uložen v sobě, ale i když je mobil zapnutý tak může mít vypnuté Bluetooth a v takovém případě přes Bluetooth vůbec nekomunikuje. U mě na mobilu jakmile zapnu Bluetooth a nějaké externí spárované zařízení jehož ID má mobil uložen je v dosahu jako třeba sluchátka apod. tj. pokud mobil od něj detekuje signál tak se s ním mobil automaticky pokusí navázat spojení.
Stručně řečeno pokud je mobil zapnutý a má zapnuté Bluetooth a navíc pokud v sobě mobil má uložený identifikátor spárovaného BT modulu tak by mělo dojít automaticky ke spojení a následně k měření signálu na straně BT modulu. Takže by mělo stačit v mobilu nastavit spárování s tím konkrétním BT modulem. Po spárování si mobil uloží ID toho BT modulu a pak do budoucna jakmile bude mobil zapnutý a bude mít zapnuté Bluetooth tak by měl mobil sám automaticky navázat spojení pokud bude ten spárovaný BT modul v dosahu mobilu a není k tomu potřeba, aby v mobilu byla nějaká speciální aplikace. Tohle by mělo probíhat automaticky na úrovní služeb operačního systému v mobilu.
Pokud mobil nemá spárování s BT modulem uloženo tak se o spojení pokoušet nebude. V takovém případě pokud bude BT modul v režimu skenování Bluetooth tak by měl vidět všechna dostupná zařízení a jejich procházení a detekci ID to si samozřejmě musíte vyřešit na úrovni obsluhy toho BT modulu z nějakého externího zařízení třeba z Arduina apod. a v něm pak detekujete zda bude nebo nebude přes Bluetooth aktuálně dostupné příslušné ID mobilu, který si uložíte třeba do Flash paměti v Arduinu a tak budete mít informaci o zařízení/mobilu, které bude program v tom Arduinu považovat za odpovídající mobil na základě jehož detekce má zapnout nějaké zařízení apod. K tomu účelu v podstatě není potřeba ani párování a prostě jen stačí mít v programu zařízení, které obsluhuje BT modul a spíná určitá zařízení uloženo příslušné ID mobilu z Bluetooth a pak jej bude to zařízení schopno identifikovat i bez spárování. Za hypotetické spárování pak může být považována ta vlastní informace o ID mobilu uložená třeba ve Flash paměti Arduina.
- pocitujlasku
- Příspěvky: 2764
- Registrován: 12 pro 2005, 00:00
- Bydliště: SR, Poprad
Autor od zaciatku pise, ze hlada modul a tu same odpovede o mobile a apkach z google play.
Jednoducho povedane, hlada samostatny bluetooth modul, ktory vie skenovat bt zariadenia v okoli a vie aj vratit ich silu signalu. aby na zaklade toho vedel vyhodnotit v mcu, ci je v dosahu zariadenie s mac adresou, ktoru ma ulozenu.
Podla datasheetu by to mal vediet HM-10 prikazom AT+DISC?
mal by vratit:
Kód: Vybrat vše
OK+DISCS - zaciatok scanovania
OK+DIS0:[MACADDR] - najdene bt
OK+DISCE - koniec skenovania
ale prakticky som to neskusal, vychadzam len z toho, co sa pise v datasheete.
U samostatného jednoduchého BT modulu je problém v tom, že skenovat umí v podstatě každý BT modul. Nicméně sílu signálu měří průběžně, ale v reálu s nějakým zpožděním což je problém, protože v režimu skenování se nedá rozlišit ID zařízení, kterému je aktuálně z modulu čtená hodnota signálu příslušná. To se dá určit až poté co se režim skenování ukončí a naváže se spojení s jedním konkrétním zařízením.
Skenování prováděné na příkaz AT+DISCS neobsahuje ve výčtu jednotlivých zařízení žádnou informaci o síle signálu detekovaného zařízení, a to platí dle mého názoru nejen pro BT modul HM-10, ale v podstatě i pro všechny ostatní podobného typu.
Tady je odkaz na projekt BLE scanneru s použitím ESP32, který poskytuje info o RSSI signálu skenovaných zařízení. Takže doporučuji se inspirovat z toho projektu, zejména z tohoto zdrojáku pro inicializaci a skenování Bluetooth zařízení.
- pocitujlasku
- Příspěvky: 2764
- Registrován: 12 pro 2005, 00:00
- Bydliště: SR, Poprad
Kód: Vybrat vše
AT+DISI?28. Start a iBeacon device discovery scan
Send Receive Parameter
AT+DISI? OK+DISC[P0:P1:P2:P3:P4] P0: Factory ID
P1: iBeacon UUID
P2: Major Value
Minor Value
Measured Power
P3: MAC
P4: RSSI
Please set AT+ROLE1 and AT+IMME1 first.
e.g.
Send: AT+DISC?
Recv: OK+DISCS (Scan start)
Recv: OK+DIS[P0:P1:P2:P3:P4] (if have one device)
Recv: OK+DIS[P0:P1:P2:P3] (if have two devices)
Recv: OK+DISCE (Scan end)
P0 length is 8; P1 length is 32; P2 length is 10; P3 length is 12, P4 length is 4
P2 include Major Value (length 4);
Minor Value (length 4);
Measured Power (length 2)
If the device not enable iBeacon function, P0, P1, P2 will use ‘0’ fill