日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

microbit编程_使用图形化编程实现主控板与手机蓝牙通讯(2019.3.25)

發(fā)布時(shí)間:2025/3/8 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 microbit编程_使用图形化编程实现主控板与手机蓝牙通讯(2019.3.25) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文轉(zhuǎn)自:DFRobot創(chuàng)客社區(qū)

原文鏈接:

[Mind+]使用圖形化編程實(shí)現(xiàn)主控板與手機(jī)藍(lán)牙通訊-Mind+論壇-DF創(chuàng)客社區(qū)?mc.dfrobot.com.cn

本帖最后由 Forgotten 于 2019-3-25 12:58 編輯

做項(xiàng)目時(shí)我們經(jīng)常會遇到藍(lán)牙的問題,例如使用appinventor制作一個(gè)app控制板子,或者將板子的數(shù)據(jù)通過藍(lán)牙傳到手機(jī)上。

遂決定研究一下手機(jī)與主控板的藍(lán)牙通訊。

材料選擇:

1、我們選擇的是藍(lán)牙通訊,藍(lán)牙通訊的好處是可以很方便的跟手機(jī)進(jìn)行通訊,缺點(diǎn)是點(diǎn)對點(diǎn)通訊(最新的藍(lán)牙會支持多點(diǎn)通訊,不在我們討論范圍內(nèi)),傳輸速度比較低(無法傳視頻圖像等)。

2、藍(lán)牙有不同的代數(shù),有不同的功能(類比最開始手機(jī)都是大哥大,后面有2G、3G、4G、5G等等),我們當(dāng)前最常見的是藍(lán)牙2.0(bluetooth)和低功耗藍(lán)牙4.0(BLE,Bluetooth Low Energy),但是兩者都可以實(shí)現(xiàn)通訊功能。

4、由于BLE無需密碼配對,兩個(gè)設(shè)備靠近就可以,安卓和蘋果都支持,因此我選擇兼容性更好也是更方便的BLE進(jìn)行操作。一般我們常見的HC-05,HC-06是藍(lán)牙2.0,使用方法略有不同(appinventor界面的程序不同),本教程我們選擇DFRobot出品的BLE-Link藍(lán)牙模塊作為樣例,同時(shí)為了接線方便兼容各種不同的主控板,我們需要一個(gè)轉(zhuǎn)接模塊。

鏈接:BLE-Link藍(lán)牙模塊xbee io擴(kuò)展板

本篇我們首先了解一下基礎(chǔ)知識。

BLE-Link通訊的接口是串口,因此只要是支持串口的主控板均支持,不管是Arduino還是microbit又或是掌控,同樣的板或者不同的板之間,只要支持串口,板子連接一個(gè)BLE-Link就可以實(shí)現(xiàn)通訊,因此在本教程中不區(qū)分板子,以使用最為廣泛的arduino uno板進(jìn)行通訊為例。

(注:盡管microbit、esp32等板子自帶了藍(lán)牙,但是由于占用空間大,或是使用不穩(wěn)定,因此外接一個(gè)藍(lán)牙模塊也是一個(gè)不錯(cuò)的選擇)

示意圖:

接下來我們進(jìn)入實(shí)操環(huán)節(jié):

實(shí)現(xiàn)效果:手機(jī)app發(fā)送一個(gè)消息給主控板,主控板收到消息后把這個(gè)消息返回給手機(jī)app顯示。

1、手機(jī)app準(zhǔn)備:

我使用appinventor制作了一個(gè)手機(jī)app方便進(jìn)行調(diào)試,可以直接下載附件apk文件在安卓手機(jī)上進(jìn)行安裝,也可以在appinventor里面打開我的aia文件進(jìn)行修改編輯。

app inventor 2:mit開發(fā)的安卓手機(jī)端圖形化編程軟件,目前國內(nèi)已經(jīng)有中文服務(wù)器了,可以在線編程,手機(jī)直接掃描二維碼或者使用ai伴侶即可運(yùn)行,比較方便,推薦兩個(gè)網(wǎng)址任選:廣州電教館服務(wù)器,17coding,基本使用功能可以參考17coding的教程。

appinventor的aia文件點(diǎn)擊下載

安卓端app軟件點(diǎn)擊下載

編程界面:

手機(jī)app界面:

2、BLE-Link準(zhǔn)備:

首先需要將BLE-Link設(shè)置為從機(jī),這樣手機(jī)才能搜索到,還可以改個(gè)名字方便識別。

使用usb線連接BLE-Link上的usb口,打開Mind+上傳模式,選擇BLE-Link對應(yīng)的端口,波特率選擇115200,打開串口監(jiān)視器,如下圖:

選擇“沒有結(jié)束符”,輸入+++ 發(fā)送,此時(shí)會顯示 Enter AT Mode,極為進(jìn)入了BLE-Link設(shè)置模式

接下來將“沒有結(jié)束符”切換成“回車加換行”,依次發(fā)送以下三條命令:

AT+SETTING=DEFAULT

AT+NAME=BLE-Link1

AT+RESTART

注:第一條是恢復(fù)出廠設(shè)置成從機(jī),第二條是將此模塊名字設(shè)置為BLE-Link1,第三條是重啟模塊使設(shè)置生效。更多AT命令見wiki。

接下來我們將BLE-Link插到io擴(kuò)展板上,并使用四根杜邦線引出5V RX TX GND

3、對主控板進(jìn)行編程:

我們要實(shí)現(xiàn)將手機(jī)app發(fā)送的消息返回給手機(jī)app,因此就是從串口把收到的數(shù)據(jù)再通過串口輸出即可,程序如下圖:

程序上傳到uno之后,連接BLE-Link與Uno板(BLE-Link的TX接uno的D0,RX接uno的D1,5V接VCC,GND接GND),手機(jī)app搜素連接BLE-Link,Link燈亮,發(fā)送hello,情況如下:

發(fā)現(xiàn)返回了5個(gè)數(shù)字,為什么會這樣呢?我們就看一下ASCII字符編碼表,發(fā)現(xiàn)這5個(gè)數(shù)字對應(yīng)的是5個(gè)字符的十進(jìn)制編碼,因?yàn)閿?shù)據(jù)在收發(fā)的過程中都是以101010形式的二進(jìn)制傳輸?shù)?#xff0c;接收到的時(shí)候如果不做轉(zhuǎn)換就是數(shù)字了。

因此我們?nèi)绻@示字符的形式,那么我們就進(jìn)行一下轉(zhuǎn)換,Mind+的“運(yùn)算符”中有對應(yīng)的模塊轉(zhuǎn)成ASCII字符,修改程序如下:

再次上傳,注意因?yàn)锽LE-Link占用的串口和上傳程序是一個(gè)串口,因此在每次上傳的時(shí)候需要拔下D0上的線,否則會報(bào)錯(cuò)。

再次發(fā)送hello,這次正常顯示了數(shù)據(jù),至于為什么換行了,就是程序發(fā)送的情況了,串口發(fā)送是每次一個(gè)字符的,所以執(zhí)行下來就換行了5次。

未完待續(xù)。。。

總結(jié)

以上是生活随笔為你收集整理的microbit编程_使用图形化编程实现主控板与手机蓝牙通讯(2019.3.25)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。