找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 270|回復(fù): 0
收起左側(cè)

求助,e4a藍(lán)牙串口app

[復(fù)制鏈接]
ID:343102 發(fā)表于 2025-5-20 18:37 | 顯示全部樓層 |閱讀模式
現(xiàn)在的ble藍(lán)牙模塊很便宜,1元一個(gè)還包郵。藍(lán)牙模塊比esp8266省電,更適合連接手機(jī)和單片機(jī)。但是用e4a V7.1.14試用版自帶例程編譯的藍(lán)牙串口app,安裝后可以與藍(lán)牙模塊連接,卻無(wú)法傳遞字符。藍(lán)牙模塊通過(guò)usb串口與電腦連接,電腦也無(wú)法將字符通過(guò)串口助手發(fā)送到手機(jī)上。但是使用商家提供的手機(jī)app是可以互相傳遞的。不知道問(wèn)題在哪里?
e4a V7.1.14試用版自帶的ble藍(lán)牙例程:

事件 主窗口.創(chuàng)建完畢()
        如果 權(quán)限操作1.取系統(tǒng)版本號(hào)()>=23 則
                權(quán)限操作1.申請(qǐng)全部權(quán)限() '必須先申請(qǐng)權(quán)限
        結(jié)束 如果
        變量 結(jié)果 為 邏輯型
        結(jié)果 = BLE藍(lán)牙1.初始化()
        彈出提示("初始化結(jié)果:" & 結(jié)果)       
        BLE藍(lán)牙1.置可被發(fā)現(xiàn)()
結(jié)束 事件

事件 按鈕1.被單擊()
        如果 按鈕1.標(biāo)題 = "開(kāi)始搜索" 則       
                位置傳感器1.開(kāi)始監(jiān)測(cè)() '在某些安卓系統(tǒng)中,必須先進(jìn)行GPS定位才能搜索到藍(lán)牙設(shè)備
                BLE藍(lán)牙1.開(kāi)始搜索()
                時(shí)鐘1.時(shí)鐘周期 = 10 * 1000       
                按鈕1.標(biāo)題 = "停止搜索"
        否則       
                BLE藍(lán)牙1.停止搜索()
                時(shí)鐘1.時(shí)鐘周期 = 0       
                按鈕1.標(biāo)題 = "開(kāi)始搜索"               
        結(jié)束 如果
結(jié)束 事件

事件 時(shí)鐘1.周期事件()
        BLE藍(lán)牙1.停止搜索()
        按鈕1.標(biāo)題 = "開(kāi)始搜索"
        時(shí)鐘1.時(shí)鐘周期 = 0
結(jié)束 事件

事件 BLE藍(lán)牙1.發(fā)現(xiàn)設(shè)備(名稱(chēng) 為 文本型,地址 為 文本型,MajorID 為 整數(shù)型,MinorID 為 整數(shù)型,配對(duì)狀態(tài) 為 整數(shù)型)
        彈出提示("發(fā)現(xiàn)設(shè)備")
        列表框1.添加項(xiàng)目("名稱(chēng):" & 名稱(chēng) & "\n地址:" & 地址)
        列表框1.置項(xiàng)目標(biāo)記(列表框1.取項(xiàng)目數(shù)()-1,地址)
結(jié)束 事件

事件 BLE藍(lán)牙1.信號(hào)強(qiáng)度改變(名稱(chēng) 為 文本型,地址 為 文本型,信號(hào)強(qiáng)度 為 整數(shù)型)
        變量 計(jì)次 為 整數(shù)型
        變量 文本數(shù)組 為 文本型()
        變量循環(huán)首 計(jì)次 = 0 至 列表框1.取項(xiàng)目數(shù)()-1
                文本數(shù)組 = 分割文本(列表框1.取項(xiàng)目?jī)?nèi)容(計(jì)次),"\n")
                如果 文本數(shù)組(1) = "地址:" & 地址 則
                        列表框1.置項(xiàng)目?jī)?nèi)容(計(jì)次,"名稱(chēng):" & 名稱(chēng) & "\n地址:" & 地址 & "\n信號(hào):" & 信號(hào)強(qiáng)度)
                        退出
                結(jié)束 如果
        變量循環(huán)尾
結(jié)束 事件

事件 列表框1.表項(xiàng)被單擊(項(xiàng)目索引 為 整數(shù)型)
        BLE藍(lán)牙1.連接設(shè)備(列表框1.取項(xiàng)目標(biāo)記(項(xiàng)目索引))
        彈出提示("正在連接")
        主窗口.標(biāo)題 = "正在連接"
        分組列表框1.清空所有數(shù)據(jù)()
結(jié)束 事件

事件 BLE藍(lán)牙1.連接狀態(tài)改變(狀態(tài) 為 整數(shù)型)
        如果 狀態(tài) = 1 則
                彈出提示("已連接")
                主窗口.標(biāo)題 = "已連接"
        否則       
                彈出提示("已斷開(kāi)")
                主窗口.標(biāo)題 = "已斷開(kāi)"
        結(jié)束 如果
結(jié)束 事件

事件 BLE藍(lán)牙1.發(fā)現(xiàn)服務(wù)(服務(wù)信息 為 集合)
        如果 服務(wù)信息.取項(xiàng)目總數(shù)() < 0 則
                退出
        結(jié)束 如果

        變量 計(jì)次 為 整數(shù)型
        變量 信息數(shù)組 為 文本型()
        變量 分組索引 為 整數(shù)型
        變量 計(jì)次2 為 整數(shù)型
        變量 通道屬性 為 文本型
        彈出提示("發(fā)現(xiàn)服務(wù)")
        分組列表框1.清空所有數(shù)據(jù)()       
        計(jì)次 = 0
        判斷循環(huán)首 計(jì)次 < 服務(wù)信息.取項(xiàng)目總數(shù)()               
                信息數(shù)組 = 服務(wù)信息.取項(xiàng)目(計(jì)次)
                分組索引 = 分組列表框1.添加分組("服務(wù)" & (計(jì)次 + 1),信息數(shù)組(0)) '信息數(shù)組中的第一個(gè)成員為服務(wù),剩下的其他成員都是通道               
                計(jì)次2 = 0
                判斷循環(huán)首 計(jì)次2 < 取數(shù)組成員數(shù)(信息數(shù)組)
                        如果 計(jì)次2 > 0 則
                                通道屬性 = 取通道屬性(信息數(shù)組(0),信息數(shù)組(計(jì)次2))
                                分組列表框1.添加子項(xiàng)(分組索引,"logo.png","通道" & 計(jì)次2 & "  " & 通道屬性,信息數(shù)組(計(jì)次2),"","")
                        結(jié)束 如果
                        計(jì)次2 = 計(jì)次2 + 1
                判斷循環(huán)尾
                計(jì)次 = 計(jì)次 + 1
        判斷循環(huán)尾
結(jié)束 事件

函數(shù) 取通道屬性(服務(wù)UUID 為 文本型,通道UUID 為 文本型)為 文本型
        變量 a 為 文本型
        變量 b 為 文本型
        變量 c 為 文本型
        如果 BLE藍(lán)牙1.是否可讀(服務(wù)UUID,通道UUID) = 真 則
                a = "可讀、"
        否則       
                a = "不可讀、"
        結(jié)束 如果
        如果 BLE藍(lán)牙1.是否可寫(xiě)(服務(wù)UUID,通道UUID) = 真 則
                b = "可寫(xiě)、"
        否則       
                b = "不可寫(xiě)、"
        結(jié)束 如果
        如果 BLE藍(lán)牙1.是否可讀(服務(wù)UUID,通道UUID) = 真 則
                c = "可通知"
        否則       
                c = "不可通知"
        結(jié)束 如果       
        取通道屬性 = a & b & c
結(jié)束 函數(shù)

事件 分組列表框1.子項(xiàng)被單擊(分組索引 為 整數(shù)型,子項(xiàng)索引 為 整數(shù)型)
        變量 是否輸入 為 邏輯型
        變量 輸入內(nèi)容 為 文本型
        如果 信息框2("選擇","","讀取數(shù)據(jù)","寫(xiě)入數(shù)據(jù)") = 0 則
                BLE藍(lán)牙1.讀取數(shù)據(jù)(分組列表框1.取分組信息(分組索引),分組列表框1.取子項(xiàng)信息(分組索引,子項(xiàng)索引))
        否則       
                輸入內(nèi)容 = 輸入框("輸入16進(jìn)制","2C5B",是否輸入)
                如果 是否輸入 = 真 則
                        BLE藍(lán)牙1.寫(xiě)入數(shù)據(jù)(分組列表框1.取分組信息(分組索引),分組列表框1.取子項(xiàng)信息(分組索引,子項(xiàng)索引),十六進(jìn)制到字節(jié)集(輸入內(nèi)容))
                結(jié)束 如果
        結(jié)束 如果
結(jié)束 事件

事件 BLE藍(lán)牙1.讀取數(shù)據(jù)完畢(結(jié)果 為 整數(shù)型,服務(wù)UUID 為 文本型,通道UUID 為 文本型,數(shù)據(jù) 為 字節(jié)型())
        如果 結(jié)果 = 1 則
                彈出提示("讀取數(shù)據(jù)成功:" & 通道UUID & "\n數(shù)據(jù):" & 字節(jié)集到十六進(jìn)制(數(shù)據(jù)))
        否則       
                彈出提示("讀取數(shù)據(jù)失。" & 通道UUID & "\n數(shù)據(jù):" & 字節(jié)集到十六進(jìn)制(數(shù)據(jù)))
        結(jié)束 如果       
結(jié)束 事件

事件 BLE藍(lán)牙1.通道數(shù)據(jù)改變(服務(wù)UUID 為 文本型,通道UUID 為 文本型,數(shù)據(jù) 為 字節(jié)型())
        彈出提示("通道數(shù)據(jù)改變" & 通道UUID & "\n數(shù)據(jù):" & 字節(jié)集到十六進(jìn)制(數(shù)據(jù)))
結(jié)束 事件

事件 BLE藍(lán)牙1.寫(xiě)入數(shù)據(jù)完畢(結(jié)果 為 整數(shù)型)
        如果 結(jié)果 = 1 則
                彈出提示("寫(xiě)入數(shù)據(jù)成功")
        否則       
                彈出提示("寫(xiě)入數(shù)據(jù)失敗")
        結(jié)束 如果
結(jié)束 事件

事件 主窗口.按下某鍵(鍵代碼 為 整數(shù)型,傳址 屏蔽 為 邏輯型)
        如果 鍵代碼 = 返回鍵 則
                BLE藍(lán)牙1.釋放資源()
                結(jié)束程序()               
        結(jié)束 如果
結(jié)束 事件



350、BLE藍(lán)牙例程.rar

33.7 KB, 下載次數(shù): 0

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表