




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本文格式為Word版,下載可任意編輯 初嘗物聯(lián)網(wǎng)“掌控板遠(yuǎn)控樹莓派LED燈陣” 牟曉東 我們?cè)陂_發(fā)開源硬件涉及到物聯(lián)網(wǎng)應(yīng)用工程時(shí),會(huì)用到一種為連接遠(yuǎn)程設(shè)備供給實(shí)時(shí)穩(wěn)當(dāng)消息服務(wù)的MQTT(Message Queuing Telemetry Transport)協(xié)議,即“消息隊(duì)列遙測(cè)傳輸協(xié)議”。這是一種基于“客戶端-服務(wù)器”的“消息發(fā)布與訂閱”式即時(shí)通訊協(xié)議,開銷較小且占用的網(wǎng)絡(luò)帶寬也較低,分外適合舉行物聯(lián)網(wǎng)創(chuàng)客工程的實(shí)施。譬如我們來制作一個(gè)利用掌控板遠(yuǎn)控樹莓派LED燈陣的工程,通過對(duì)掌控板的A、B鍵按下和晃動(dòng)掌控板三種動(dòng)作,遠(yuǎn)程觸發(fā)樹莓派上的LED燈陣發(fā)光、熄滅和流水閃爍效果。1.在mPytho
2、n X中為掌控板編程實(shí)現(xiàn)消息發(fā)送 將掌控板通過數(shù)據(jù)線與電腦USB接口連接,運(yùn)行mPython X,登錄告成后舉行程序的編寫。 首先設(shè)置網(wǎng)絡(luò)的連接,分別填寫好WiFi名稱和密碼;接著從“物聯(lián)網(wǎng)”-“MQTT”中選擇第一個(gè)MQTT模塊,客戶端“client_id”的內(nèi)容設(shè)置為“l(fā)uke007”,這是樹莓派的古德微機(jī)器人網(wǎng)站登錄賬號(hào)名稱;服務(wù)器“server”的內(nèi)容設(shè)置為古德微機(jī)器人網(wǎng)站的“.gdwrobot.top”;下方的“user”和“password”保持為空,“keepalive”也保持默認(rèn)的“30”不變;然后添加一個(gè)“連接MQTT”模塊,作用是根據(jù)上方的參數(shù)設(shè)置模塊與對(duì)應(yīng)的服務(wù)器舉行MQ
3、TT連接;接著,使用“顯示”區(qū)域中的“OLED顯示清空”“OLED第1行顯示”和“OLED顯示生效”三個(gè)模塊,操縱掌控板的OLED顯示屏輸出提示信息:“MQTT連接告成!”(如圖1)。 以按下掌控板的A鍵為例,先從“事情”區(qū)域中選擇第一個(gè)“當(dāng)按鍵A被按下時(shí)執(zhí)行”,再從“MQTT”中選擇“發(fā)布至主題”,分別輸入“ON”(留神大寫)和“l(fā)uke007/KeyA”,作為按鍵A被按下時(shí)觸發(fā)的第一個(gè)動(dòng)作:向樹莓派賬號(hào)luke007發(fā)送主題為“KeyA”的消息,其值為“ON”;然后,添加一個(gè)0.5秒的等待語句。同理,再設(shè)置按鍵B被按下時(shí)觸發(fā)“發(fā)布ON至主題luke007/KeyB”;當(dāng)掌控板檢測(cè)到“被晃動(dòng)
4、”的動(dòng)作發(fā)生時(shí),觸發(fā)“發(fā)布ON至主題luke007/Shaking”(如圖2)。 2.在古德微機(jī)器人網(wǎng)站中為樹莓派編程實(shí)現(xiàn)消息接收 在欣賞器中訪問古德微機(jī)器人網(wǎng)站,登錄賬號(hào)luke007后開頭舉行“積木”編程: 第一, 從左側(cè)“物聯(lián)網(wǎng)”-“常用”中選擇“設(shè)置物聯(lián)網(wǎng)服務(wù)器”,保持服務(wù)器“.gdwrobot.top”和端口號(hào)“1883”默認(rèn)不變,用戶名和密碼保持為空;接著使用一條輸出調(diào)試信息,內(nèi)容為“開頭監(jiān)聽掌控板傳來的消息:”,作為程序運(yùn)行的提示信息。 其次, 是三個(gè)監(jiān)聽主題語句(無先后次序),監(jiān)聽的主題為“KeyA”、“KeyB”和“Shaking”,分別對(duì)應(yīng)掌控板的按鍵A、按鍵B和晃動(dòng)動(dòng)作所
5、觸發(fā)的消息主題。 第三, 從“線程”中添加三個(gè)子線程,同樣也是不分先后次序,線程函數(shù)名分別為“ListenKeyA”、“ListenKeyB”和“ListenShake”,分別對(duì)應(yīng)監(jiān)聽掌控板三個(gè)動(dòng)作消息后舉行調(diào)用對(duì)應(yīng)同名的函數(shù)(如圖3)。 以函數(shù)“ListenKeyA”為例,外層的“假設(shè)執(zhí)行”條件分支對(duì)“物聯(lián)網(wǎng)是否收到新數(shù)據(jù)”舉行判斷,條件成立的話那么對(duì)變量“A鍵”舉行賦值,其值為“獲取主題KeyA的數(shù)據(jù)”;接著輸出調(diào)試信息“收到掌控板A鍵消息!”,表示已經(jīng)收到了掌控板按鍵A的動(dòng)作消息;然后再用內(nèi)層“假設(shè)執(zhí)行”條件分支對(duì)“A鍵的值是否為ON”舉行判斷,條件成立,說明掌控板的A鍵已經(jīng)被按下,于是
6、調(diào)用“LED_ON”函數(shù)(如圖4),執(zhí)行由5、6、12和16四支LED所組成的燈陣全部發(fā)光的動(dòng)作(如圖5);結(jié)果的0.1秒等待語句,作用依舊是防止程序過多占用系統(tǒng)資源。 與此類似,函數(shù)“ListenKeyB”和“ListenShake”是用來監(jiān)聽掌控板按鍵B是否被按下和整個(gè)掌控板是否被晃動(dòng)兩個(gè)動(dòng)作的(如圖6),條件成立那么分別調(diào)用“LED_OFF”和“LED_Water”函數(shù),前者是熄滅LED燈陣,后者那么是循環(huán)點(diǎn)亮和熄滅燈陣,效果類似于流水燈(如圖7)。 3.安裝并測(cè)試“掌控板遠(yuǎn)控樹莓派LED燈陣” 返回mPython X界面,點(diǎn)擊“刷入運(yùn)行”按鈕,將程序代碼寫入掌控板(稍候,右下角會(huì)有“刷
7、入告成”、連接WiFi:“Connection WiFi”的提示),掌控板顯示屏的第一行會(huì)顯示出“MQTT連接告成!”;在古德微機(jī)器人平臺(tái)先點(diǎn)擊“連接設(shè)備”,然后點(diǎn)擊“運(yùn)行”按鈕,LOG調(diào)試信息區(qū)會(huì)顯示提示信息:“開頭監(jiān)聽掌控板傳來的消息:”。 此時(shí),嘗試輕輕按下掌控板的A鍵,樹莓派的LED燈陣就會(huì)亮起(LOG調(diào)試信息提示:“收到掌控板A鍵消息!”);輕輕按下B鍵,樹莓派的LED燈陣就會(huì)熄滅(LOG調(diào)試信息提示:“收到掌控板B鍵消息!”);假設(shè)晃動(dòng)掌控板的話,樹莓派的LED燈陣就會(huì)展現(xiàn)流水燈效果(LOG調(diào)試信息提示:“收到掌控板晃動(dòng)消息!”)。假設(shè)屢屢測(cè)試無問題,就說明我們實(shí)現(xiàn)了掌控板遠(yuǎn)控樹莓派LED燈陣舉行開、關(guān)燈和流水燈的目標(biāo)(如圖8),大家不妨一試。 猜你熱愛 樹莓監(jiān)聽按鍵 非觸勿動(dòng)秒治鍵盤誤觸電腦愛好者(2022年11期)2022-07-29熟諳的犬文學(xué)港(2022年5期)2022-05-24黃金水果紅樹莓農(nóng)產(chǎn)品市場(chǎng)周刊(2022年43期)2022-12-23樹莓紅了 游人醉了農(nóng)產(chǎn)品市場(chǎng)周刊(2022年43期)2022-12-23e絡(luò)盟領(lǐng)先推出第三代樹莓派電腦愛好者(2022年6期)2022-04-01年度睡姿大盤點(diǎn)(下)中學(xué)生博覽(2022年18期)2022-11-06計(jì)算器爆笑(2022年3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年麗水道路貨運(yùn)從業(yè)資格證模擬考試官方題下載
- 2025年石家莊貨運(yùn)資格證題庫在線練習(xí)
- 終止協(xié)議書范本范文6篇
- 《寶島臺(tái)灣》說課稿
- 營(yíng)養(yǎng)強(qiáng)化劑競(jìng)爭(zhēng)策略分析報(bào)告
- 受托審計(jì)合同范本
- 原料冷庫租賃合同范例
- 衛(wèi)生間維修合同范本
- 臺(tái)球廳租賃合同范本
- 個(gè)人辭職申請(qǐng)書簡(jiǎn)短
- 四年級(jí)下冊(cè)勞動(dòng)《小小快遞站》課件
- 籃球教練職業(yè)生涯規(guī)劃
- 機(jī)器人手術(shù)后期護(hù)理
- 食品抽檢核查處置重點(diǎn)安全性指標(biāo)不合格原因分析排查手冊(cè)
- 自力式調(diào)節(jié)閥閥門
- 《學(xué)生檔案信息管理系統(tǒng)的開發(fā)》6500字(論文)
- GB/T 44904-2024售后服務(wù)無理由退貨服務(wù)規(guī)范
- 《股市的基礎(chǔ)常識(shí)》課件
- 部編版二年級(jí)下冊(cè)語文教材分析、學(xué)情分析(每一課都有-全)
- 行測(cè)圖形推理1000題庫帶答案
- 500萬立方米地下水封洞庫項(xiàng)目施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論