Linux 端藍芽除錯工具
Linux 端藍芽除錯
@(嵌入式)[BLE]
畢業大半年一直從事Ble外設開發,發現linux上可以使用bluez進行藍芽開發,更加便捷的是,有一個python模組對bluez介面進行封裝,叫bluepy,給開發測試帶來更多便捷。
獲取 & 安裝
開發平臺 ubunt 14.04
$ sudo apt-get install git build-essential libglib2.0-dev
$ git clone https://github.com/IanHarvey/bluepy.git
$ cd bluepy
$ python setup.py build
$ python setup.py install
個人測試指令碼庫mybluepy, 沒怎麼寫過python,供參考。
使用 hcitool & gatttool
安裝了bluez協議棧後提供的工具,簡單操作如下。
- 檢視藍芽pc的裝置
hcitool dev
- 掃描ble
hcitool lescan
- 設定gatttool
gatttool -b 76:66:44:33:22:72 -I
-I : 進入互動模式
在gatttool下,
開始連線裝置 : connect
輸入 : help檢視其他指令輸入characteristics 檢視特徵值資訊,結果大概如下
handle: 0x0022, char properties: 0x1a, char value handle: 0x0023, uuid: 0000a802-0000-1000-8000-00805f9b34fb
如上, handle 0x0023 寫資料, 向0x0023+1 寫 0x0100
,設定監聽,寫0取消監聽
bluepy 指令碼
模組文件
提供一個簡單的例子:
#!/usr/bin/python
from __future__ import print_function
import sys
import binascii
import btle
import os
ble_conn = None
class MyDelegate(btle.DefaultDelegate):
def __init__(self, conn):
btle.DefaultDelegate.__init__(self)
self.conn = conn
def handleNotification(self, cHandle, data):
data = binascii.b2a_hex(data)
print("Notification:", str(cHandle), " data ", data)
def handleDiscovery(self, dev, isNewDev, isNewData):
if isNewDev:
pass
elif isNewData:
print("\\nDiscovery:", "MAC:", dev.addr, " Rssi ", str(dev.rssi))
def ble_connect(devAddr):
global ble_conn
if not devAddr is None and ble_conn is None:
ble_conn = btle.Peripheral(devAddr, btle.ADDR_TYPE_PUBLIC)
ble_conn.setDelegate(MyDelegate(ble_conn))
print("connected")
def ble_disconnect():
global ble_conn
ble_conn = None
print("disconnected")
if __name__ == '__main__':
ble_mac == "66:55:44:33:22:11"
# scan
scanner = btle.Scanner().withDelegate(MyDelegate(None))
timeout = 10.0
devices = scanner.scan(timeout)
for dev in devices:
if dev.addr == ble_mac:
print("\\nDiscovery:", "MAC:", dev.addr, " Rssi ", str(dev.rssi))
for (adtype, desc, value) in dev.getScanData():
print (" %s(0x%x) = %s" % (desc, int(adtype), value))
break
# connect
ble_connect(ble_mac)
# write , set listen
snd_content_str = """\\x01\\x00"""
ble_conn.writeCharacteristic(handle, snd_content_str)
# wait notification
ble_conn.waitForNotifications(2.0)
# disconnect
ble_disconnect()
參考
相關文章
- Linux下的除錯工具Linux除錯
- 藍芽解鎖Mac工具 - BLEUnlock藍芽Mac
- 【linux學習--工具篇】串列埠除錯工具Linux串列埠除錯
- 藍芽解鎖AutoLock 1.0.2 Mac中文版 (藍芽WiFi解鎖工具)藍芽MacWiFi
- 安利:移動端除錯小工具除錯
- vscode配置遠端linux系統除錯VSCodeLinux除錯
- 藍芽藍芽
- win10藍芽裝置被刪除怎麼恢復_win10藍芽裝置刪除如何還原Win10藍芽
- Linux除錯Linux除錯
- Android藍芽使用詳解(普通藍芽)Android藍芽
- 手機藍芽搜尋不到裝置怎麼辦 藍芽裝置刪除後搜尋不到藍芽
- windows上通過IDA遠端除錯linux程式Windows除錯Linux
- iOS藍芽開發 Bluetooth藍芽CoreBluetooth 藍芽中心裝置的實現 藍芽外設的實現 有DemoiOS藍芽
- 遠端除錯在Linux車機中的應用除錯Linux
- Linux soft lockup時遠端除錯的可能性Linux除錯
- ESP32藍芽學習--藍芽概念學習藍芽
- Pycharm遠端除錯PyCharm除錯
- PHPSTROM遠端除錯PHP除錯
- java+藍芽Java藍芽
- 藍芽模組藍芽模組
- vscode 除錯linux程式VSCode除錯Linux
- win10藍芽驅動程式錯誤如何解決_win10電腦藍芽驅動程式錯誤怎麼處理Win10藍芽
- MASA MAUI Plugin IOS藍芽低功耗(三)藍芽掃描UIPluginiOS藍芽
- 開源文件工具 showdoc 推出除錯介面的客戶端除錯客戶端
- Linux除錯檢視搜尋工具集-緩慢增加中Linux除錯
- MASA MAUI Plugin 安卓藍芽低功耗(一)藍芽掃描UIPlugin安卓藍芽
- 前端手機端除錯前端除錯
- IDEA、ECLIPSE遠端除錯IdeaEclipse除錯
- Windows 除錯工具課程Windows除錯
- react19.0.0 除錯工具React除錯
- iOS藍芽開發iOS藍芽
- 白色藍芽耳機藍芽
- BLE低功耗藍芽藍芽
- Linux核心使用gdb除錯Linux除錯
- windows 遠端連線Linux進行開發與除錯MySQLWindowsLinux除錯MySql
- Windows 使用VSCode遠端連線到Linux開發除錯MySQLWindowsVSCodeLinux除錯MySql
- VS - 打斷點/本地除錯/遠端除錯 問題斷點除錯
- pycharm 遠端除錯之二PyCharm除錯
- Xdebug+PhpStorm 遠端除錯PHPORM除錯