An Interest In:
Web News this Week
- March 20, 2024
- March 19, 2024
- March 18, 2024
- March 17, 2024
- March 16, 2024
- March 15, 2024
- March 14, 2024
Bluetooth LE cihazlarla alma
Dk enerjili Bluetooth (Bluetooth Low Energy), dk gce sahip sensr ve eitli cihazlar iin tasarlanm, klasik Bluetooth'a gre ok daha dk gl Bluetooth imkan veren yapdr. zellikle srekli balant gerektirmeyen fakat uzun pil mrne sahip olmas istenen uygulamalar iin kullanlmaktadr.
Sisteminizdeki Bluetooth alcsn renme
ncelikle sisteminizde bir Bluetooth alcs olmas gerekiyor. Tabi ki bu alclar ok fazla grm olabilirsiniz. Bu alclar USB olarak taklabildii gibi sisteminizin ierisinde entegre olarak da bulunuyor olabilir.
ncelikle sistemimizde bluetooth cihaz olup olmadn anlayabilmek iin kullanacamz komut hcitool ile sisteminize takl olan bluetooth cihazlarn listeleyebilirsiniz.
hcitool dev
Bu komut yazldktan sonra aadaki gibi bir kt beklenmektedir:
Devices: hci0 00:1A:4D:BA:B1:15
Burada MAC adresi gzken cihaz kendi Bluetooth alcnzdr. Eer cihaz gremiyorsanz alcy kapatp amak veya kartp takmay deneyebilirsiniz.
Dk enerjili Bluetooth cihazlarn tarama
Ayn komut ile sistemde aktif olarak yayn yapan Bluetooth cihazlarn tarayabilirsiniz. Tarama ilemi iin aadaki gibi komut altrlmaldr. Bu tarama ilemi CTRL + C ile kapatmadka taramaya devam edecektir.
sudo hcitool lescan
Bu komut sonrasnda aadaki gibi akan ekilde Bluetooth cihazlarnn MAC adresleri ve tespit edilebiliyorsa isimleri grntlenmektedir.
LE Scan ...CB:...:9D (unknown)CB:...:9D Amazfit NeoA4:...:91 (unknown)A4:...:91 LYWSD03MMC.....A4:...:91 (unknown)A4:...:91 LYWSD03MMC
Bu admla birlikte dk enerjili Bluetooth cihaznn MAC adresini tespit etmi oluyorsunuz ve eriim iin kullanlabilir hale gelmektedir.
Cihaz ile ilk temas
Dk enerjili Bluetooth cihazlara eriebilmek iin farkl bir ara olan gantttool kullanlmaktadr. Bu uygulama, rnein Ubuntu zerinde bluez isimli paket ile gelmektedir. Dolaysyla ncelikle ilgili paketi yklemeniz gerekir.
sudo apt install bluez
nceki balkta rendiimiz Bluetooth cihaznn MAC adresini bu araca vererek ncelikli olarak interaktif bir oturum almas mantkl olacaktr.
sudo gatttool -b CB:1A:4D:BA:B1:9D -I
Bu ekilde ekranda aadaki gibi bir kabuk aldn greceksiniz.
[CB:1A:4D:BA:B1:9D][LE]>
Bu kabuk zerinde ilk olarak connect komutu ile balant salanmas gerekiyor ve "connection successful" cevab alnmas gerekiyor. Bu alnmyorsa gerekten balant saland anlam kesinlikle tamamaktadr.
[CB:1A:4D:BA:B1:9D][LE]>connectAttempting to connect to CB:1A:4D:BA:B1:9DConnection successful[CB:1A:4D:BA:B1:9D][LE]>
Bu adm gerekletiinde cihaz ile eriime ak bir kabua eritiinizi syleyebiliriz.
Temel bilgilere eriim
Cihaza interaktif mod ile balant kurduktan sonra zellikle aadaki 3 komut ile birlikte servisler, handlerlar ve karakteristikler grntlenebiliyor.
lk olarak primary komutu uygulanarak aadaki gibi UUID'lere sahip servisleri gzlemleyebilirsiniz:
[CB:1A:4D:BA:B1:9D][LE]> primaryattr handle: 0x0001, end grp handle: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fbattr handle: 0x0005, end grp handle: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fbattr handle: 0x000c, end grp handle: 0x000f uuid: 00001623-1212-efde-1623-785feabcd123
Ayrca char-desc komutu ile kullanlabilir karakter handlerlarna eriebilirsiniz.
[CB:1A:4D:BA:B1:9D][LE]> char-deschandle: 0x0001, uuid: 00002800-0000-1000-8000-00805f9b34fbhandle: 0x0002, uuid: 00002803-0000-1000-8000-00805f9b34fbhandle: 0x0003, uuid: 00002a05-0000-1000-8000-00805f9b34fbhandle: 0x0004, uuid: 00002902-0000-1000-8000-00805f9b34fbhandle: 0x0005, uuid: 00002800-0000-1000-8000-00805f9b34fbhandle: 0x0006, uuid: 00002803-0000-1000-8000-00805f9b34fbhandle: 0x0007, uuid: 00002a00-0000-1000-8000-00805f9b34fbhandle: 0x0008, uuid: 00002803-0000-1000-8000-00805f9b34fbhandle: 0x0009, uuid: 00002a01-0000-1000-8000-00805f9b34fbhandle: 0x000a, uuid: 00002803-0000-1000-8000-00805f9b34fbhandle: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fbhandle: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fbhandle: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fbhandle: 0x000e, uuid: 00001624-1212-efde-1623-785feabcd123handle: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb
Ve son olarak da characteristics komutu ile karakteristik deerleri grebilirsiniz.
[CB:1A:4D:BA:B1:9D][LE]> characteristicshandle: 0x0002, char properties: 0x20, char value handle: 0x0003, uuid: 00002a05-0000-1000-8000-00805f9b34fbhandle: 0x0006, char properties: 0x4e, char value handle: 0x0007, uuid: 00002a00-0000-1000-8000-00805f9b34fbhandle: 0x0008, char properties: 0x4e, char value handle: 0x0009, uuid: 00002a01-0000-1000-8000-00805f9b34fbhandle: 0x000a, char properties: 0x02, char value handle: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fbhandle: 0x000d, char properties: 0x1e, char value handle: 0x000e, uuid: 00001624-1212-efde-1623-785feabcd123
Bir karakteristii okuma yapmak iin o karakteristiin handler'n kullanarak okuma salanabilmektedir.
[CB:1A:4D:BA:B1:9D][LE]> char-read-hnd 0x0005Characteristic value/descriptor: 00 18
Ve tabi cihazn dokmantasyonlar incelerenek aadaki gibi yazma ilemleri de yaplabilmektedir. Bu sayede rnein LEGO HUB zerinden motor altrabilme, hz ayarlayabilme gibi eyler yaplabilmektedir.
[CB:1A:4D:BA:B1:9D][LE]> char-write-req 0x000f 0100Characteristic value was written successfullyNotification handle = 0x000e value: 0f 00 04 00 01 02 00 00 00 00 00 00 00 00 00 Notification handle = 0x000e value: 0f 00 04 32 01 17 00 00 00 00 10 00 00 00 10 Notification handle = 0x000e value: 0f 00 04 3b 01 15 00 02 00 00 00 02 00 00 00 Notification handle = 0x000e value: 0f 00 04 3c 01 14 00 02 00 00 00 02 00 00 00
nteraktif mode'tan k iin exit komutu uygulanmas yeterlidir.
Komut zerinden interaktif mod kullanmadan eriim
Yukarda anlatlan fonksiyonlarn bir benzeri interaktif olarak almadan CLI zerinden altrlabilmesi de salanabilmektedir.
gatttool -b CB:1A:4D:BA:B1:9D --char-write-req --handle 0x000e --value 0a0081000060007f0000gatttool -b CB:1A:4D:BA:B1:9D --char-read-hnd --handle 0x000e
Original Link: https://dev.to/aliorhun/bluetooth-le-cihazlarla-calisma-3jb1
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To