久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: arduino連接NB-IOT模塊M5310-A,app實(shí)時(shí)控制 [打印本頁]

作者: youngda    時(shí)間: 2020-7-31 17:25
標(biāo)題: arduino連接NB-IOT模塊M5310-A,app實(shí)時(shí)控制
第一 、先上效果圖
第二、原理講解
原理簡述:利用發(fā)布訂閱模式。第一步,新建主題,第二步,arduino通過nb-iot模塊訂閱這個(gè)主題。第三步、通過app往這個(gè)主題發(fā)消息。由于單片機(jī)訂閱了這個(gè)主題,所以可以實(shí)時(shí)收到發(fā)往這個(gè)主題的消息。從而達(dá)到通過app或者小程序控制arduino單片機(jī)的目的。
關(guān)于發(fā)布訂閱:
訂閱(訂閱):訂閱給定的一個(gè)主題。
發(fā)布(發(fā)布)將信息發(fā)送到指定的主題。
只有訂閱該主題的設(shè)備才可以收到發(fā)往該主題的消息。
通俗的來講:就是像博客訂閱的場景,什么意思呢,也就是說100個(gè)人訂閱了你的博客,如果博主發(fā)表了文章,那么100個(gè)人就會同時(shí)收到通知郵件,訂閱/發(fā)布模式就是這樣的原理。
如果還不理解的話再通俗講一下,就像生活中聽收音機(jī),要想聽收音機(jī),肯定就是調(diào)頻啦,只有在正確的頻道上面,我們才能聽得到好聽的節(jié)目,所以說訂閱首先要訂閱一個(gè)頻道/主題,只有訂閱了該主題,我們才能收到發(fā)往該頻道/主題的消息。
在本例程中,arduino借助nb-iot網(wǎng)絡(luò)訂閱主題,app或者小程序發(fā)布消息,arduino會實(shí)時(shí)收到消息,就可以實(shí)時(shí)控制arduino了。
第三、下載程序到arduino
開發(fā)環(huán)境:arduino IDE
M5310不需要編程。
arduino 示例程序下載(“點(diǎn)”換成符號點(diǎn)) bemfa點(diǎn)com/5/
程序說明,波特率9600
具體連接:
M5310 ----------arduino
5v-------------5V
GND-----------GND
TX-------------pin13
RX----------------pin12
用arduino打開程序,需要修改用戶私鑰等信息

  1. /***********************需要修改的地方************************/
  2. String uid ="4d9ec352e0376f2110a0c601a2857225";    //用戶私鑰,巴法云控制臺獲取
  3. String myTopic ="light002";                      //用戶主題,巴法云控制臺創(chuàng)建
  4. const int LED_Pin = 2;       //需要控制的LED引腳值
  5. //***********************************************************/
復(fù)制代碼


巴法創(chuàng)客云控制臺 新建一個(gè)主題,主題名字隨意,例如light002,本實(shí)例用用light002,使用示例代碼時(shí)應(yīng)修改為自己的主題名字,字母或數(shù)字或字母加數(shù)字組合。UID為用戶私鑰,在 巴法創(chuàng)客云控制臺 注冊登陸后可獲得。
登陸完成后,可在控制臺看到自己的私鑰UID,如圖所示:
創(chuàng)建主題,在控制臺,可創(chuàng)建主題。
重要代碼講解:
  1. /*
  2. * 檢查收到的信息
  3. * 字符串匹配,匹配到開燈指令,進(jìn)行開燈,匹配到關(guān)燈指令,進(jìn)行關(guān)燈
  4. * 匹配到錯(cuò)誤信息,進(jìn)行重啟啟動(一般為網(wǎng)絡(luò)情況的故障)
  5. */
  6. void check_msg(String myMsg){
  7.   if((myMsg.indexOf("&msg=on") >= 0)) {   //如果檢測到開燈指令
  8.     turnOnLed();  //執(zhí)行開燈函數(shù)
  9.   }else if((myMsg.indexOf("&msg=off") >= 0)) { //如果檢測到關(guān)燈指令
  10.     turnOffLed(); //執(zhí)行關(guān)燈函數(shù)
  11.   }else if(myMsg.indexOf("SOCLI") >= 0){  //檢測到斷開服務(wù)器連接,重新連接
  12.        InitNBIOT();//創(chuàng)建TCP連接,并且訂閱巴法云
  13.     }
  14. }
復(fù)制代碼
對收到的消息,進(jìn)行字符串匹配,收到帶on的消息,把pin2引腳置高,收到帶off的消息,把Pin2口置低電平。
具體接口可參考:巴法云官方文檔
如果所在區(qū)域有NB網(wǎng)絡(luò)的話,nbiot會自動連接服務(wù)器,可在巴法創(chuàng)客云控制臺 刷新網(wǎng)頁,查看訂閱設(shè)備是否在線。如果在線的話,可以在控制臺推送on或許off消息,可以在串口調(diào)試助手查看單片機(jī)是否收到指令。波特率9600。
當(dāng)檢測到消息為on 時(shí),執(zhí)行開燈,當(dāng)檢測到消息為off 時(shí),執(zhí)行關(guān)燈。開發(fā)者可在控制臺推送on或者off,然后檢測arduino是否收到,如果收到,說明正常可進(jìn)行下一步app編寫。
說明:消息不單單局限于on或off,開發(fā)者可以張大腦洞隨意定義的,你推送什么消息,在單片機(jī)處做什么消息檢測就可以了。
第四 app inventor 開發(fā)
原理:同樣通過TCP 長連接,連接到服務(wù)器,當(dāng)按下按鈕,就向服務(wù)器該主題推送個(gè)消息,arduino就可以收到該消息了。
簡介:Google App Inventor是一個(gè)完全在線開發(fā)的Android編程環(huán)境,拋棄復(fù)雜的程式代碼而使用積木式的堆疊法來完成您的Android程式。 而且這款編程軟件不一定非要是專業(yè)的研發(fā)人員,甚至根本不需要掌握任何的程序編制知識。因?yàn)檫@款軟件已經(jīng)事先將軟件的代碼全部編寫完畢,用戶只需要根據(jù)自己的需求向其中添加服務(wù)選項(xiàng)即可。也就是我們所要做的只是寫簡單的代碼拼裝程序。
在app Inventor廣州站創(chuàng)建賬號,并登陸。
本操作只提供一個(gè)app的demo,界面過于丑陋,大家可自由發(fā)揮更改界面。
demo 下載地址:bemfa點(diǎn)com/4/
頂部導(dǎo)航欄,依次點(diǎn)擊(項(xiàng)目-->導(dǎo)入項(xiàng)目aia),選擇上一步驟下載的aia文件導(dǎo)入即可。點(diǎn)擊導(dǎo)入的項(xiàng)目,即可看到控制面板,面板主要分為在組建設(shè)計(jì)和邏輯設(shè)計(jì),用戶可在右上角進(jìn)行模式切換。
(組建設(shè)計(jì))面板可以向屏幕添加組建以進(jìn)行二次開發(fā)。(邏輯面板)則進(jìn)行相關(guān)邏輯編寫。

導(dǎo)入aia文件后,如果只是簡單使用,只需要修改兩個(gè)地方,一個(gè)是主題名字,一個(gè)是UID,均需開發(fā)者置換成自己的topic(主題名字)和UID(用戶私鑰),均可在創(chuàng)客云控制臺獲。
此處的主題topic應(yīng)該和arduino程序里面設(shè)定的主題修改為一樣,不然會收不到消息。UID修改為自己的私鑰。
控制邏輯
當(dāng)按鈕'打開'被點(diǎn)擊,發(fā)送on,arduino即可收到on消息
具體發(fā)送的消息,開發(fā)者可自定義,例程中只是發(fā)送簡單的字符串,開發(fā)者也可發(fā)送json之類的,
不過在arduino端要對json消息體進(jìn)行解析。更多指令格式說明參考接入文檔。
如果想控制家里的燈具,加個(gè)繼電器即可,通過引腳輸出高低電平控制繼電器的開和關(guān),從而達(dá)到控制220v交流電的效果。繼電器需要用3.3V繼電器。
第五、小程序開發(fā)
點(diǎn)開頭像,查看歷史帖主題,有教程


作者: wudku    時(shí)間: 2020-8-2 16:54
不錯(cuò)

1.png (53.23 KB, 下載次數(shù): 74)

1.png





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 中文字幕在线看人 | 中国三级黄色录像 | 欧美激情区 | 成人国产精品一级毛片视频毛片 | 美女久久| 91在线综合| 日韩精品视频在线免费观看 | 亚洲网站在线观看 | 亚洲欧美一区二区三区国产精品 | 欧美精品在线免费 | 国产视频第一页 | 国产色片| 亚洲成av片人久久久 | 天天色天天射天天干 | av片在线观看 | 日韩电影一区二区三区 | 天天躁日日躁狠狠很躁 | 天天操天天摸天天爽 | 涩涩视频在线看 | 亚洲毛片 | 精品国产精品一区二区夜夜嗨 | 九九热在线视频观看这里只有精品 | 国产福利91精品一区二区三区 | 欧美一区二区三区视频 | 色免费视频 | 国产成人精品区一区二区不卡 | 精品国产伦一区二区三区观看方式 | 精品日韩欧美一区二区 | 亚洲不卡在线观看 | 九九热精品视频 | 免费a级毛片在线播放 | 欧美精品中文字幕久久二区 | 亚洲精品久久久久中文字幕二区 | 国产一区免费 | 精品一区二区久久 | 午夜网| 九九在线视频 | 久久久久久亚洲 | 成人久久网 | 国产综合一区二区 | 日韩一区二区三区四区五区六区 |