最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

樹莓派 3B+ 原生藍牙與手機通訊(BlueTooth SPP)方法和步驟

2021-07-30 11:20 作者:javaisone  | 我要投稿

本筆記基于樹莓派 3B+(同事買的,拿來玩玩的)的原生藍牙,實現(xiàn)與手機之間的SPP服務(wù)的通訊功能,截至本筆記,未發(fā)現(xiàn)同類的筆記/文章。本人主要參考了后面的兩個鏈接,經(jīng)過大半天(嚴格說不到一周,主要一開始一直使用蘋果手機的藍牙,蘋果比較封閉,耽誤了太多的時間)的摸索鏈路上基本OK,草做個筆記以備查閱。


調(diào)試的手機也是借同事的 嘿嘿


**主要參考鏈接:**

https://www.raspberrypi.org/forums/viewtopic.php?p=919420

http://jasiek.me/2014/10/04/bluetooth-console-on-a-raspberry-pi-using-a-usb-adapter.html

主要相關(guān)的依賴庫庫,網(wǎng)上的介紹的方法還是比較多,就不記錄在此列;另外,樹莓派和手機(android)上的調(diào)試助手/工具,請自行安裝/下載,都比較簡單。


下面是本人的詳細的操作記錄,希望對大家有所幫助。


**啟動/增加SPP:**

修改在文件內(nèi)修改如下:

圖1

第二句有錯,懶的再截圖啦,正確的應(yīng)該如下:


```

ExecStartPost=/usr/bin/sdptool add SP

```


重啟樹莓派



**查看藍牙服務(wù):**

#hciconfig

結(jié)果如下:

圖2

# Sdptool browse local

**結(jié)果如下:**


```

Browsing FF:FF:FF:00:00:00 ...

Service RecHandle: 0x10000

Service Class ID List:

? "PnP Information" (0x1200)

Profile Descriptor List:

? "PnP Information" (0x1200)

? ? Version: 0x0103


Browsing FF:FF:FF:00:00:00 ...

Service Search failed: Invalid argument

Service Name: Generic Access Profile

Service Provider: BlueZ

Service RecHandle: 0x10001

Service Class ID List:

? "Generic Access" (0x1800)

Protocol Descriptor List:

? "L2CAP" (0x0100)

? ? PSM: 31

? "ATT" (0x0007)

? ? uint16: 0x0001

? ? uint16: 0x0008


Service Name: Generic Attribute Profile

Service Provider: BlueZ

Service RecHandle: 0x10002

Service Class ID List:

? "Generic Attribute" (0x1801)

Protocol Descriptor List:

? "L2CAP" (0x0100)

? ? PSM: 31

? "ATT" (0x0007)

? ? uint16: 0x0010

? ? uint16: 0x0010


Service Name: AVRCP CT

Service RecHandle: 0x10003

Service Class ID List:

? "AV Remote" (0x110e)

? "AV Remote Controller" (0x110f)

Protocol Descriptor List:

? "L2CAP" (0x0100)

? ? PSM: 23

? "AVCTP" (0x0017)

? ? uint16: 0x0103

Profile Descriptor List:

? "AV Remote" (0x110e)

? ? Version: 0x0105


Service Name: AVRCP TG

Service RecHandle: 0x10004

Service Class ID List:

? "AV Remote Target" (0x110c)

Protocol Descriptor List:

? "L2CAP" (0x0100)

? ? PSM: 23

? "AVCTP" (0x0017)

? ? uint16: 0x0103

Profile Descriptor List:

? "AV Remote" (0x110e)

? ? Version: 0x0104


Service Name: Serial Port

Service Description: COM Port

Service Provider: BlueZ

Service RecHandle: 0x10005

Service Class ID List:

? "Serial Port" (0x1101)

Protocol Descriptor List:

? "L2CAP" (0x0100)

? "RFCOMM" (0x0003)

? ? Channel: 1

Language Base Attr List:

? code_ISO639: 0x656e

? encoding:? ? 0x6a

? base_offset: 0x100

Profile Descriptor List:

? "Serial Port" (0x1101)

? ? Version: 0x0100


Service Name: Serial Port

Service Description: COM Port

Service Provider: BlueZ

Service RecHandle: 0x10006

Service Class ID List:

? "Serial Port" (0x1101)

Protocol Descriptor List:

? "L2CAP" (0x0100)

? "RFCOMM" (0x0003)

? ? Channel: 1

Language Base Attr List:

? code_ISO639: 0x656e

? encoding:? ? 0x6a

? base_offset: 0x100

Profile Descriptor List:

? "Serial Port" (0x1101)

? ? Version: 0x0100


Service Name: Serial Port

Service Description: COM Port

Service Provider: BlueZ

Service RecHandle: 0x10007

Service Class ID List:

? "Serial Port" (0x1101)

Protocol Descriptor List:

? "L2CAP" (0x0100)

? "RFCOMM" (0x0003)

? ? Channel: 1

Language Base Attr List:

? code_ISO639: 0x656e

? encoding:? ? 0x6a

? base_offset: 0x100

Profile Descriptor List:

? "Serial Port" (0x1101)

? ? Version: 0x0100


Service Name: Serial Port

Service Description: COM Port

Service Provider: BlueZ

Service RecHandle: 0x10008

Service Class ID List:

? "Serial Port" (0x1101)

Protocol Descriptor List:

? "L2CAP" (0x0100)

? "RFCOMM" (0x0003)

? ? Channel: 3

Language Base Attr List:

? code_ISO639: 0x656e

? encoding:? ? 0x6a

? base_offset: 0x100

Profile Descriptor List:

? "Serial Port" (0x1101)

? ? Version: 0x0100

```


# rfcomm watch hci0

**結(jié)果如下:**

圖3

至此,可以用串口調(diào)試工具進行測試,手機上的SPP測試工具也可以通過藍牙連接樹莓派板子了。


首先,樹莓派上啟動調(diào)試串口助手,該工具可以參考其安裝方法的筆記。

新打開一個控制臺,并做如下操作:

查看虛擬藍牙串口:

#ls /dev

**結(jié)果如下:**

圖4

注:在手機和樹莓派建立連接后,才能查看到虛擬串口的標識”rfcomm0”,后續(xù)用串口調(diào)試助手打開上圖中紅圈里的rfcomm0即可,看后面的詳細# xgcom開一個圖形界面的調(diào)試窗口,如下所示:

圖5

配置參數(shù):

點擊配置,彈出一個配置參數(shù)對話框,在對話框輸入樹莓派藍牙虛擬出來的串口,即:


```

/dev/rfcomm0

```


圖6

保存,對話框關(guān)閉。


**打開串口:**

接上一步,點擊”open com“(該按鈕功能復(fù)用),即可看到最下面的狀態(tài)欄提示的相關(guān)信息。

圖7


**數(shù)據(jù)雙向收發(fā):**

樹莓派發(fā)數(shù)據(jù)到手機,如上圖所示,在發(fā)送文本框輸入”2222“,輸入內(nèi)容隨意。

然后點擊”send Data“

此時手機上的助手軟件就可以收到樹莓派發(fā)出的數(shù)據(jù)啦,手機端內(nèi)容如下:

圖8

注:手機是同事淘汰的ANDROID機,主要蘋果手機應(yīng)用的圈相對封閉,嘗試了建立連接,但是一直未成功連接;調(diào)試助手是安卓應(yīng)用市場下的,調(diào)試助手里面還帶了廣告...



同樣,手機端發(fā)送數(shù)據(jù)”hello\r\n“,此時樹莓派的串口助手截圖如下:

圖9

手機端發(fā)送界面如下所示:

圖10


至此,樹莓派和手機之家通過藍牙建立通訊的功能基本完成,都是用的第三方的調(diào)試工具,物理鏈路上打通了,在開發(fā)、調(diào)試軟件時,就可以用第三方的工具來助力排查bug。

首發(fā)地址:https://blog.csdn.net/wanyeye/article/details/52909869,截圖不顯示的話可以到這里瀏覽。

樹莓派 3B+ 原生藍牙與手機通訊(BlueTooth SPP)方法和步驟的評論 (共 條)

使用qq登录你需要登录后才可以评论。
安龙县| 宜春市| 丰镇市| 禄劝| 南汇区| 吴桥县| 乐陵市| 山丹县| 枣强县| 调兵山市| 洛宁县| 湘潭市| 巴塘县| 盈江县| 木里| 尼勒克县| 武清区| 翁牛特旗| 洛阳市| 芦山县| 睢宁县| 波密县| 长武县| 九寨沟县| 邵阳市| 西华县| 淮南市| 会理县| 古蔺县| 浦县| 杭州市| 大渡口区| 临邑县| 关岭| 崇州市| 德清县| 连州市| 泰和县| 柳林县| 镇原县| 大田县|