ble python 成功的例子 創建GATT服務 BLUEZ 5.47


發現是偶然事件,正確的做法可能要修改bluez里面服務的注冊方式,把ble的服務發現注冊到sdp。具體做法不清楚。但是肯定要修改源碼。

工欲善其事,必先利其器

使用未知的工具,現在一個良好的平台上走通了整條道路.
然后建設新的道路的時候,心如明鏡... ...
未來不再迷茫.

廢話不多說,首先買一塊raspberry Pi.
raspberry Pi.是可以在上面編譯程序的東西.
軟件十分完善.

以pi而不是以root運行

在家目錄運行

sudo bluetoothd -n -d --compat --plugin=time --experimental

在test的目錄下.執行

./example-gatt-server

在家目錄運行

sudo hciconfig hci0 up

在家目錄運行

sudo hciconfig hci0 leadv

測試的androidapp

https://pan.baidu.com/s/1c1ZD80g

解決 Failed to obtain handles for "Service Changed" characteristic
-E 應該能解決問題
https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=f558fca8d64e3795b0654a90d343af1dd1d8b33c
可能有幫助
https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/1490349
https://bbs.archlinux.org/viewtopic.php?id=195886&p=2
sudo bluetoothd -E -d --noplugin=sap,network --experimental --compat -n

sudo bluetoothd -E -d --noplugin=sap --experimental --compat -n

抱歉有問題... ...

12-12更新

問題初步解決.
是手機的問題.或者說是android手機的問題.
用同事的iPhone手機測試沒有問題.python 調用的GATT服務都出來了.
測試過程. rpi3b 通過 bluetoothctl 連接 OPENWRT 的bluetooth ble服務
首先在 openwrt 上
第一步:bluetoothd -n -d --compat --experimental -------- -n -d 好像是和調試信息相關的參數. --compat 適合 sdptool 相關的參數 否則會報一個錯誤. --experimental 是 bluez 的ble相關一定要加入的參數.而且在編譯
bluez的時候參數也要參考README寫下 experimental 的相關參數.
第二步:bluetoothctl
2.1步:power on
2.2步:agent on
2.3步:default-agent
2.4步:list ----------顯示自己的系統下掛在的設備.
2.5步:advertise on -------啟用ble 模式猜想 😃
2.6步:``
第三步: 進入bluez目錄test目錄python example-gatt-server

rpi3B步驟
第一步: bluetoothctl
1.1步: connect EC:3D:FD:3E:30:91
1.2步:list-attributes ------ 顯示所有的GATT服務.
1.3步:select-attribute 0000180f-0000-1000-8000-00805f9b34fb
1.4步:select-attribute /org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service0022/char0023
1.5步:read

初步完結撒花... ...
一般問題解析
Failed to connect: org.bluez.Error.InProgress
這個問題,應該是作為連接機器,因為運行着程序關閉這個程序就可以了.

rpi3b顯示的所有的服務信息

[NEW] Primary Service
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service0006
	00001801-0000-1000-8000-00805f9b34fb
	Generic Attribute Profile
[NEW] Characteristic
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service0006/char0007
	00002a05-0000-1000-8000-00805f9b34fb
	Service Changed
[NEW] Descriptor
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service0006/char0007/desc0009
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[NEW] Primary Service
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a
	12345678-1234-5678-1234-56789abcdef0
	Vendor specific
[NEW] Characteristic
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char000b
	12345678-1234-5678-1234-56789abcdef5
	Vendor specific
[NEW] Descriptor
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char000b/desc000d
	00002900-0000-1000-8000-00805f9b34fb
	Characteristic Extended Properties
[NEW] Descriptor
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char000b/desc000e
	00002901-0000-1000-8000-00805f9b34fb
	Characteristic User Description
[NEW] Descriptor
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char000b/desc000f
	12345678-1234-5678-1234-56789abcdef6
	Vendor specific
[NEW] Characteristic
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0010
	12345678-1234-5678-1234-56789abcdef3
	Vendor specific
[NEW] Descriptor
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0010/desc0012
	00002900-0000-1000-8000-00805f9b34fb
	Characteristic Extended Properties
[NEW] Descriptor
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0010/desc0013
	12345678-1234-5678-1234-56789abcdef4
	Vendor specific
[NEW] Descriptor
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0010/desc0014
	00002901-0000-1000-8000-00805f9b34fb
	Characteristic User Description
[NEW] Characteristic
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0015
	12345678-1234-5678-1234-56789abcdef1
	Vendor specific
[NEW] Descriptor
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0015/desc0017
	00002900-0000-1000-8000-00805f9b34fb
	Characteristic Extended Properties
[NEW] Descriptor
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0015/desc0018
	00002901-0000-1000-8000-00805f9b34fb
	Characteristic User Description
[NEW] Descriptor
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service000a/char0015/desc0019
	12345678-1234-5678-1234-56789abcdef2
	Vendor specific
[NEW] Primary Service
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service001a
	0000180d-0000-1000-8000-00805f9b34fb
	Heart Rate
[NEW] Characteristic
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service001a/char001b
	00002a38-0000-1000-8000-00805f9b34fb
	Body Sensor Location
[NEW] Characteristic
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service001a/char001d
	00002a37-0000-1000-8000-00805f9b34fb
	Heart Rate Measurement
[NEW] Descriptor
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service001a/char001d/desc001f
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration
[NEW] Characteristic
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service001a/char0020
	00002a39-0000-1000-8000-00805f9b34fb
	Heart Rate Control Point
[NEW] Primary Service
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service0022
	0000180f-0000-1000-8000-00805f9b34fb
	Battery Service
[NEW] Characteristic
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service0022/char0023
	00002a19-0000-1000-8000-00805f9b34fb
	Battery Level
[NEW] Descriptor
	/org/bluez/hci0/dev_EC_3D_FD_3E_30_91/service0022/char0023/desc0025
	00002902-0000-1000-8000-00805f9b34fb
	Client Characteristic Configuration


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM