![物聯(lián)網(wǎng)Demo代碼解析_第1頁](http://file4.renrendoc.com/view10/M03/23/34/wKhkGWWkc72AIXaNAAHRzKvJLVY515.jpg)
![物聯(lián)網(wǎng)Demo代碼解析_第2頁](http://file4.renrendoc.com/view10/M03/23/34/wKhkGWWkc72AIXaNAAHRzKvJLVY5152.jpg)
![物聯(lián)網(wǎng)Demo代碼解析_第3頁](http://file4.renrendoc.com/view10/M03/23/34/wKhkGWWkc72AIXaNAAHRzKvJLVY5153.jpg)
![物聯(lián)網(wǎng)Demo代碼解析_第4頁](http://file4.renrendoc.com/view10/M03/23/34/wKhkGWWkc72AIXaNAAHRzKvJLVY5154.jpg)
![物聯(lián)網(wǎng)Demo代碼解析_第5頁](http://file4.renrendoc.com/view10/M03/23/34/wKhkGWWkc72AIXaNAAHRzKvJLVY5155.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
中智訊代碼解析主要內(nèi)容常見問題框架分析實(shí)例講解內(nèi)容一常見問題常見問題程序的框架是怎樣的?解析協(xié)議的時機(jī)?數(shù)據(jù)幀最基本包含哪些內(nèi)容?有哪些節(jié)點(diǎn)類型?有沒有數(shù)據(jù)存儲?程序的框架服務(wù)端客戶端1客戶端2客戶端3客戶端4……解析協(xié)議的方式取決于接收數(shù)據(jù)的方式,有輪詢,有應(yīng)答式,這里使用的是應(yīng)答式,也就是說只有當(dāng)你請求了,才會獲得信息,而不是循環(huán)讀取。既然是應(yīng)答式,那么接收幀解析的方式跟請求幀的解析方式需要保持一致。數(shù)據(jù)幀最基本包含內(nèi)容請求幀應(yīng)答幀請求幀請求的種類分為3種:請求搜尋網(wǎng)絡(luò)(SEARCH_NETWORK)請求終端節(jié)點(diǎn)(另外2種是協(xié)調(diào)器和路由節(jié)點(diǎn))信息(NODE_ENDPOINT)請求應(yīng)用(APP_MSG)消息請求搜尋網(wǎng)絡(luò)(SEARCH_NETWORK)SOPCMD1lengthADDRCMD2數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)3……FCS0x00010x00020x00050x00140x0015軟件版本硬件版本設(shè)備類型MAC地址鄰接表個數(shù)及地址讀0x00010x2900應(yīng)答幀的格式1個Byte2個Byte返回信息…….FCSADDRCMD狀態(tài)碼(1byte)參數(shù)標(biāo)識(2byte)參數(shù)值……請求終端節(jié)點(diǎn)信息(NODE_ENDPOINT)SOPCMD1lengthFCS0x0A06目的地址(2byte)Addressofinterest(2byte)Ep?(1byte)0?(1byte)回復(fù)幀格式?沒有這個處理例程-.-請求應(yīng)用(APP_MSG)消息SOPReq(2byte)Length(1byte)netAddr(2byte)CMD(2byte)數(shù)據(jù)……FCS節(jié)點(diǎn)類型溫度傳感器濕度傳感器光照傳感器燈光傳感器人體傳感器Co2傳感器三軸加速度傳感器Rfid傳感器指紋傳感器距離傳感器數(shù)據(jù)存儲指紋傳感器氣壓傳感器RFID傳感器3軸加速度傳感器內(nèi)容二框架分析應(yīng)用程序服務(wù)端2點(diǎn)擊,觸摸,等動作1請求和響應(yīng)Zigbee協(xié)議溫度傳感器濕度傳感器光照傳感器燈光傳感器人體傳感器Co2傳感器三軸加速度Rfid、指紋、距離……程序流程1.連接服務(wù)端。2.請求查找網(wǎng)絡(luò)。3.根據(jù)返回的信息組織程序界面。4.如果返回信息表明找不到信息,跳到2。5.如果返回信息找到了網(wǎng)絡(luò),則組織信息,形成拓?fù)鋱D。6.如果用戶點(diǎn)擊了拓?fù)鋱D上的某個節(jié)點(diǎn),則跳轉(zhuǎn)至對應(yīng)節(jié)點(diǎn)的界面。在那個界面中顯示用戶選擇的節(jié)點(diǎn)信息。7.如果用戶點(diǎn)擊返回,則退出。內(nèi)容三實(shí)例講解19查找網(wǎng)絡(luò)privatevoidconnect2server()
{
mConnectStatus=1;
mZbThread.requestConnect(mZigBeeGetWay,8320);//
setTitle("正在連接到ZigBee網(wǎng)關(guān)--"
+this.mZigBeeGetWay);
setProgressBarIndeterminateVisibility(true);
}voidrequestConnect(Stringhost,intport){mProx.connect(host,port);}publicvoidconnect(Stringhost,intport){mLink.requestConnect(host,port);}publicint
requestConnect(Stringhost,intport)//應(yīng)答鏈接
{Messagemsg;
intret;synchronized(mLockConn){if(mConnectStatus==CONNECT_DISCONNECT){
msg=Message.obtain();
msg.what=REQUEST_CONNECT;msg.arg1=port;msg.obj=host;
mConnectStatus=CONNECT_CONNECTING;
mWorkerHandler.sendMessage(msg);
ret=0;}elseret=1;
}returnret;
}publicvoidhandleMessage(Messagemsg)
{
switch(msg.what)
{caseREQUEST_CONNECT:
doRequestConnect(msg);break;privatevoiddoRequestConnect(Messagemsg)
{Stringhost=(String)msg.obj;
intport=msg.arg1;
intret;
ret=linkOpen(host,port);
msg=Message.obtain();if(ret<0){
mConnectStatus=CONNECT_DISCONNECT;/*notifymainthread*/
msg.what=NOTIFY_CONNECT_FAIL;}else{
mConnectStatus
=CONNECT_CONNECTED;
mReceiver=newReceiver();
msg.what=NOTIFY_CONNECT_ON;
}/*notifymainthread*/
mWorkerHandler.sendMessage(msg);
}privateint
linkOpen(Stringhost,intport)//建立連接
{try{//mSocket=newSocket(host,port);
mSocket=newSocket();
mSocket.connect(newInetSocketAddress(host,port)/*,30*1000*/);
}catch(Exceptione){//e.printStackTrace();Log.e(TAG,"connecthost:"+host+":"+port);return-1;}try{mReader=mSocket.getInputStream();mWriter=mSocket.getOutputStream();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();return-2;}return0;}rlen=mReader.read(dat);byte[]d=newbyte[rlen];for(inti=0;i<rlen;i++)d[i]=dat[i];//msg=Message.obtain();//msg.what=NOTIFY_CONNECT_DATA;//msg.obj=d;//mWorkerHandler.sendMessage(msg);mConnectListener.onConnectData(d);}}else{/*connecton*/mConnectStatus=2;setTitle("正在搜索ZigBee網(wǎng)絡(luò)...");setProgressBarIndeterminateVisibility(true);mSearchingZbNet=1;mZbThread.requestSerachNetWrok();}voidrequestSerachNetWrok(){Messagemsg=Message.obtain();msg.what=REQUEST_SEARCH_NETWORK;mMyHandler.sendMessage(msg);}publicvoidhandleMessage(Messagemsg)
{switch(msg.what){caseREQUEST_SEARCH_NETWORK:
doSearchNetWork();break;privatevoiddoSearchNetWork(){Top.DistroyTree(mTree);//devinfo=mProx.syncRequestSYS_GET_DEVICE_INFO();byte[]ninfo=mProx.syncRequestSYS_APP_MSG(2,newbyte[]{(byte)(0>>8),(byte)0,//addr0x00,0x01,//cmd0x00,0x01,0x00,0x02,0x00,0x05,0x00,0x14,0x00,0x15});if(ninfo==null||ninfo.length<29){/*getdevinfofail*/Log.e(TAG,"Can'tgettherootdeviceinfo.");Messagemsg=Message.obtain();msg.what=MSG_NEW_NETWORK;msg.arg1=-1;mMainHandler.sendMessage(msg);return;}/*notifyui*/Top.DrawTop(mTree);Messagemsg=Message.obtain();msg.what=MSG_NEW_NETWORK;msg.arg1=1;mMainHandler.sendMessage(msg);buildNetWork(mTree,childs);/*notifyui*/Top.DrawTop(mTree);msg=Message.obtain();msg.what=MSG_NEW_NETWORK;msg.arg1=0;mMainHandler.sendMessage(msg);}privatevoidbuildNetWork(Nodepa,int[]cli)//建立ZigBee{for(inti=0;i<cli.length;i++){/*getchildiinfo*/try{Thread.currentThread().sleep(500);}catch(InterruptedExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}byte[]ninfo=mProx.syncRequestSYS_APP_MSG(2,newbyte[]{(byte)(cli[i]>>8),(byte)cli[i],//addr0x00,0x01,//cmd0x00,0x01,0x00,0x02,0x00,0x05,0x00,0x1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- PB-22-7-Hydroxyquinoline-isomer-生命科學(xué)試劑-MCE-6693
- 9-Keto-tafluprost-生命科學(xué)試劑-MCE-9653
- 二零二五年度未簽勞動合同員工勞動仲裁應(yīng)對與勞動權(quán)益保障協(xié)議
- 2025年度文化創(chuàng)意產(chǎn)業(yè)計(jì)件工資與創(chuàng)意成果量化勞動合同
- 2025年度二零二五年度化妝品銷售提成獎勵合同
- 科技孵化器創(chuàng)新創(chuàng)業(yè)者的搖籃
- 跨學(xué)科視角下的小學(xué)生音樂素養(yǎng)培養(yǎng)研究
- 小學(xué)心理健康教育的實(shí)踐與思考
- 校園體育活動安全與防護(hù)措施
- 產(chǎn)品銷售合同補(bǔ)充協(xié)議
- 《愛麗絲漫游奇境》
- 全面解讀新能源法律風(fēng)險(xiǎn)與應(yīng)對措施
- 民法學(xué)詳細(xì)教案
- 浙江省杭州市2023年中考一模語文試題及答案
- 上海市楊浦區(qū)2022屆初三中考二模英語試卷+答案
- 高中英語原版小說整書閱讀指導(dǎo)《奇跡男孩》(wonder)-Part one 講義
- GB/T 4745-2012紡織品防水性能的檢測和評價(jià)沾水法
- 國家綜合性消防救援隊(duì)伍消防員管理規(guī)定
- 2023年全國各地高考英語試卷:完形填空匯編(9篇-含解析)
- 五年級上冊數(shù)學(xué)習(xí)題課件 簡便計(jì)算專項(xiàng)整理 蘇教版 共21張
- 疼痛科的建立和建設(shè)
評論
0/150
提交評論