国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

APP Invertor編程讓Micro:bit板連接手機(jī)

2020-07-15 06:12白二娃
電腦報 2020年24期
關(guān)鍵詞:列表藍(lán)牙編程

白二娃

我們已經(jīng)用Micro:bit做過不少編程試驗(yàn),也用APP Invertor編寫過手機(jī)APP。今天我們將兩者結(jié)合起來,編寫一個APP,讓安卓手機(jī)和Micro:bit通過藍(lán)牙連接起來。由于實(shí)現(xiàn)兩個設(shè)備連接后進(jìn)行基礎(chǔ)交互的代碼量較多,篇幅所限我們僅實(shí)現(xiàn)兩設(shè)備通過藍(lán)牙掃描和連接。后續(xù)實(shí)現(xiàn)交互的代碼您可以在掃碼下載源代碼后自行分析學(xué)習(xí)。

一、 器材列表

1. 安卓手機(jī)

2. Micro:bit板及數(shù)據(jù)線

3. APP Inventor編程平臺app.gzjkw.net或ai2.17coding.net

4. 擴(kuò)展下載網(wǎng)站iot.appinventor.mit.edu

5. Micro:bit編程平臺makecode.microbit.org

二、 下載項(xiàng)目擴(kuò)展

為了更好兼容Micro:bit的低功耗藍(lán)牙,我們沒有使用APP Invertor自帶的藍(lán)牙連接組件,而是添加了新的藍(lán)牙擴(kuò)展。

打開APP Invertor的支持網(wǎng)站(iot.appinventor.mit.edu)。在左邊Internet of Things菜單中可以找到BluetoothLE和BBC Micro:bit頁面。

1. BluetoothLE是APP Invertor專用的低功耗藍(lán)牙擴(kuò)展。在BluetoothLE頁面中點(diǎn)擊“Download the BluetoothLE extension ”把.aix擴(kuò)展文件下載到本地備用,也可以復(fù)制aix文件的網(wǎng)絡(luò)地址(http://iot.appinventor.mit.edu/assets/resourc

es/edu.mit.appinventor.ble-201907

01.aix)在導(dǎo)入項(xiàng)目擴(kuò)展時填入。

安裝該擴(kuò)展后可以讓APP Invertor編寫的程序通過手機(jī)藍(lán)牙搜索和連接低功耗藍(lán)牙設(shè)備,并進(jìn)行通信。

2. 在BBC Micro:bit頁面中,點(diǎn)擊“Download the BBC Micro:bit extension”可以下載到Micro:bit的專用擴(kuò)展。或在導(dǎo)入擴(kuò)展時直接填寫下載網(wǎng)址(http://iot.appinventor.mit.edu/assets/resources/SimpleMicrobit.aix)。APP Invertor安裝該擴(kuò)展后可以在手機(jī)連接后與Micro:bit板上的按鈕、引腳、LED等設(shè)備交互。

本例中我們僅需要實(shí)現(xiàn)兩個設(shè)備的藍(lán)牙連接,無需用手機(jī)與Micro:bit板做更多交互,因此只有需要測試有交互功能的源代碼MicrobitLED.aia時才需要安裝。

三、 組件設(shè)計(jì)

我們需要APP有搜索、連接、斷開等按鈕,有顯示周圍藍(lán)牙設(shè)備的列表,有顯示當(dāng)前狀態(tài)的文字。選擇搜索到的Micro:bit設(shè)備后點(diǎn)連接可以通過藍(lán)牙實(shí)現(xiàn)連接,點(diǎn)斷開可以斷開藍(lán)牙(如圖1)。

1. 登錄app.gzjkw.net,新建項(xiàng)目lanya,在APP Invertor組件面板的最后一項(xiàng)Extension——擴(kuò)展中導(dǎo)入下載的項(xiàng)目擴(kuò)展文件edu.mit.appinventor.ble-20190701.aix,也可直接填入網(wǎng)址安裝擴(kuò)展包。

2. 將BluetoothLE拖入工作面板。

3. 界面布局→水平布局,水平對齊→居中,寬度→充滿;從用戶界面拖入3個按鈕,組件列表中改名為“掃描、連接、斷開”,并修改按鈕文本為相應(yīng)名稱。

4. 用戶界面→標(biāo)簽,修改標(biāo)簽名和標(biāo)簽文本為“狀態(tài)”,用于顯示當(dāng)前藍(lán)牙狀態(tài)。

5. 用戶界面→列表顯示框,改名為“藍(lán)牙列表”,用于顯示和選擇搜索到的藍(lán)牙設(shè)備列表。

四、 掃描按鈕邏輯設(shè)計(jì)

我們希望APP可以掃描可用的藍(lán)牙設(shè)備。當(dāng)點(diǎn)擊掃描按鈕,調(diào)用藍(lán)牙組件開始掃描,并更改狀態(tài)標(biāo)簽,顯示列表。

1. 切換至邏輯設(shè)計(jì)界面。

2. 組合模塊。掃描按鈕→當(dāng)掃描被點(diǎn)擊執(zhí)行。

3. BluetoothLE1→調(diào)用BluetoothLE1.StartScanning。組合積木:狀態(tài)→設(shè)置狀態(tài).文本為和文本→文本中填入“狀態(tài):掃描”。

4. 組合積木:藍(lán)牙列表→設(shè)置藍(lán)牙列表.可見性為和邏輯→真。設(shè)計(jì)這個可見性邏輯判斷是為了連接成功后可以隱藏列表,因?yàn)槿绻浇泻芏嗨{(lán)牙設(shè)備,列表會很長(如圖2)。

五、 藍(lán)牙列表邏輯設(shè)計(jì)

我們需要在列表中列出周圍所有可用的藍(lán)牙設(shè)備。

1. 組合模塊。BluetoothLE1→BluetoothLE1.DeviceFound,當(dāng)掃描到可用藍(lán)牙設(shè)備時。

2. 組合積木:藍(lán)牙列表→設(shè)置藍(lán)牙列表.元素字串為和BluetoothLE1→BluetoothLE1.DeviceList(如圖3)。

六、 連接按鈕邏輯設(shè)計(jì)

我們希望實(shí)現(xiàn)在列表中選中設(shè)備名稱后,點(diǎn)擊“連接”按鈕后通過藍(lán)牙連接Micro:bit。

1. 組合模塊。連接按鈕→當(dāng)“連接”被點(diǎn)擊。

2. 調(diào)用BluetoothLE1→Bluetoo

thLE1.StopScanning,停止掃描設(shè)備。

3. 組合積木:調(diào)用BluetoothLE1

→BluetoothLE1.連接,藍(lán)牙列表→選中項(xiàng)索引。通過藍(lán)牙連接選中的設(shè)備。

4. 設(shè)置狀態(tài).文本為“狀態(tài):連接中”。在手機(jī)中標(biāo)明當(dāng)前連接狀態(tài)(如圖4)。

七、 表示成功連接

當(dāng)成功連接設(shè)備時,我們希望通過狀態(tài)文本獲知連接已經(jīng)成功,并關(guān)閉藍(lán)牙設(shè)備列表。

1. 組合模塊。BluetoothLE1→當(dāng)BluetoothLE1.Connected。

2. 設(shè)置狀態(tài).文本為“狀態(tài):已連接”。

3. 設(shè)置藍(lán)牙列表可見性為“假”,關(guān)閉藍(lán)牙設(shè)備列表(如圖5)。

八、 斷開按鈕邏輯設(shè)計(jì)

點(diǎn)擊斷開按鈕后,我們希望手機(jī)斷開設(shè)備連接,并通過顯示當(dāng)前狀態(tài)確認(rèn)斷開按鈕有效。

1. 組合模塊。斷開按鈕→當(dāng)“斷開”被點(diǎn)擊。

2. BluetoothLE1→調(diào)用Bluetoot

hLE1.斷開連接。

3. 組合模塊。BluetoothLE1→BluetoothLE1.Disconnected。

4. 設(shè)置狀態(tài)文本為“狀態(tài):已斷開”(如圖6)。

九、 出錯時邏輯設(shè)計(jì)

程序運(yùn)行中可能會遇到各種錯誤,如果程序沒有閃退的情況下我們希望能知道報錯信息。

1. 組合模塊。Screen1→當(dāng)“Screen1”出現(xiàn)錯誤。

2. 設(shè)置狀態(tài)文本為和文本→合并字符串,連接文本“錯誤:”和出現(xiàn)錯誤模塊本身的“消息”→“取消息”(如圖7)。

十、 給Micro:bit編程

手機(jī)中的程序還需要Micro:bit中的程序配合。當(dāng)藍(lán)牙連接和斷開時在LED屏幕上顯示圖像作為連接成功的標(biāo)示。

1. 在https://makecode.microbit.org/中編寫程序。新建項(xiàng)目。

2. 設(shè)置Micro:bit藍(lán)牙連接方式為免配對連接,這樣任何設(shè)備都可以連接Micro:bit板且無需輸入密碼,這樣可以節(jié)約調(diào)試時間,而且APP中我們也沒有寫配對相關(guān)的語句。

點(diǎn)擊右上角齒輪圖標(biāo)→項(xiàng)目設(shè)定→打開No Pairing Required: Anyone can connect via Bluetooth選項(xiàng)。

3. 添加藍(lán)牙擴(kuò)展。

4. 編程當(dāng)藍(lán)牙連接時和斷開時顯示不同圖標(biāo)(如圖8)。

十一、 連接調(diào)試

現(xiàn)在,在APP Invertor中將程序打包APK,手機(jī)掃二維碼下載安裝,給APP啟動藍(lán)牙授權(quán)。將Micro:bit程序刷入Micro:bit板中。

手機(jī)打開APP,點(diǎn)擊掃描,看藍(lán)牙列表是否正常。在藍(lán)牙列表中選擇Micro:bit,點(diǎn)擊連接按鈕。開始Micro:bit與手機(jī)藍(lán)牙連接。通過手機(jī)上狀態(tài)顯示和Micro:bit的LED顯示圖標(biāo)判斷連接是否成功。

根據(jù)我的試驗(yàn),程序可能出現(xiàn)連接易斷開或在部分手機(jī)上出現(xiàn)閃退等問題。這可能是因?yàn)镸icro:bit本身運(yùn)算處理能力不足造成藍(lán)牙斷開,或是APP Invertor擴(kuò)展對一些型號的手機(jī)兼容性不好導(dǎo)致閃退。你可以更換其他品牌手機(jī),或者根據(jù)iot.appinventor.mit.edu對擴(kuò)展包的詳細(xì)說明來優(yōu)化程序。

如果經(jīng)過努力連接成功后你還有興趣,可以繼續(xù)添加拓展功能,比如點(diǎn)擊按鈕發(fā)送文本或預(yù)設(shè)的圖標(biāo)到設(shè)備中顯示等。

掃描本版二維碼后你可以下載到實(shí)現(xiàn)基礎(chǔ)連接的源代碼lanya.aia和有交互的源代碼MicrobitLED.aia。

猜你喜歡
列表藍(lán)牙編程
玩游戲?qū)W編程,Blockly Games上手玩
擴(kuò)列吧
紡織機(jī)上誕生的編程
幫你輕松找到AirPods的神奇工具
編程屋完成數(shù)百元萬天使輪融資
學(xué)編程,先畫畫
列表法解分式方程問題探索
無線連接的飛躍 藍(lán)牙技術(shù)4.2揭密
列表畫樹狀圖各有所長
2011年《小說月刊》轉(zhuǎn)載列表
德江县| 息烽县| 凤阳县| 长宁县| 南澳县| 宁陵县| 白城市| 澜沧| 鹿邑县| 乌鲁木齐县| 平武县| 苏尼特右旗| 庄浪县| 许昌市| 阿瓦提县| 军事| 怀远县| 邹城市| 邵东县| 鲁甸县| 延长县| 巴南区| 连云港市| 新巴尔虎右旗| 车险| 丰顺县| 绥芬河市| 民丰县| 西昌市| 浮山县| 江油市| 西丰县| 桃园市| 义马市| 松桃| 肇州县| 洪湖市| 安岳县| 芦山县| 谢通门县| 靖边县|