物聯(lián)網(wǎng)長距離無線通信技術(shù)應(yīng)用與開發(fā)2.6LoRa電子圍欄系統(tǒng)開發(fā)與實(shí)現(xiàn)課件_第1頁
物聯(lián)網(wǎng)長距離無線通信技術(shù)應(yīng)用與開發(fā)2.6LoRa電子圍欄系統(tǒng)開發(fā)與實(shí)現(xiàn)課件_第2頁
物聯(lián)網(wǎng)長距離無線通信技術(shù)應(yīng)用與開發(fā)2.6LoRa電子圍欄系統(tǒng)開發(fā)與實(shí)現(xiàn)課件_第3頁
物聯(lián)網(wǎng)長距離無線通信技術(shù)應(yīng)用與開發(fā)2.6LoRa電子圍欄系統(tǒng)開發(fā)與實(shí)現(xiàn)課件_第4頁
物聯(lián)網(wǎng)長距離無線通信技術(shù)應(yīng)用與開發(fā)2.6LoRa電子圍欄系統(tǒng)開發(fā)與實(shí)現(xiàn)課件_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第2章 LoRa無線通信技術(shù)開發(fā)2.6 LoRa電子圍欄系統(tǒng)開發(fā)與實(shí)現(xiàn)項(xiàng)目場景安防程序邏輯分析安防類程序接口分析項(xiàng)目實(shí)踐項(xiàng)目場景畜牧牲畜對于農(nóng)戶來說是高價(jià)值產(chǎn)品,同時(shí)是保證收益的重要來源,因此為了保證牲畜在放養(yǎng)過程中不走失,需要為牲畜建立一個(gè)電子?xùn)艡冢?dāng)牲畜觸發(fā)電子?xùn)艡跁r(shí),電子?xùn)艡谙到y(tǒng)能夠立即觸發(fā)報(bào)警并通知農(nóng)戶及時(shí)處理牲畜走遠(yuǎn)的緊急情況,以方式造成不必要的經(jīng)濟(jì)損失。因此在智慧畜牧系統(tǒng)中使用電子?xùn)艡趯ι笤竭^設(shè)定范圍進(jìn)行報(bào)警能夠保證農(nóng)戶財(cái)產(chǎn)的安全,因此電子?xùn)艡跁r(shí)智慧畜牧系統(tǒng)中的重要組成部分。電子圍欄下圖所示:任務(wù)目標(biāo)智慧畜牧系統(tǒng)中的牲畜安全監(jiān)測系統(tǒng)是保障農(nóng)戶財(cái)產(chǎn)的重要環(huán)節(jié),本節(jié)以道電子?xùn)艡谙到y(tǒng)為

2、例學(xué)習(xí)在應(yīng)用接口下的報(bào)警節(jié)點(diǎn)的程序開發(fā),學(xué)習(xí)并掌握控制節(jié)點(diǎn)的操作邏輯和應(yīng)用接口的使用。安防類程序邏輯分析遠(yuǎn)程信息預(yù)警可以歸納為四種邏輯事件,邏輯事件歸納如下:節(jié)點(diǎn)安全信息定時(shí)獲取并上報(bào)。當(dāng)節(jié)點(diǎn)監(jiān)測到危險(xiǎn)信息時(shí)系統(tǒng)能迅速上報(bào)危險(xiǎn)信息。當(dāng)危險(xiǎn)信息解除時(shí)系統(tǒng)能夠恢復(fù)正常。當(dāng)監(jiān)測到查詢信息時(shí)節(jié)點(diǎn)能夠響應(yīng)指令并反饋安全信息。安防類程序邏輯分析安防類程序流程如圖所示:安防類程序邏輯分析1)每條數(shù)據(jù)以“”作為起始字符;2)“”內(nèi)參數(shù)多個(gè)條目以“,”分隔;3)數(shù)據(jù)上行格式參考:status=14)數(shù)據(jù)下行查詢命令參考:status=?,程序返回:status=1此處以LoRa畜牧電子圍欄系統(tǒng)為例定義了協(xié)議內(nèi)容

3、。約定協(xié)議如下:數(shù)據(jù)方向協(xié)議格式說明上行(節(jié)點(diǎn)往應(yīng)用發(fā)送數(shù)據(jù))sensorStatus=XX表示安防報(bào)警狀態(tài)值下行(應(yīng)用往節(jié)點(diǎn)發(fā)送指令)sensorStatus=?查詢安防報(bào)警狀態(tài)值,返回:sensorStatus=X,X為1表示報(bào)警,Y為0表示正常安防類程序接口分析智云傳感器應(yīng)用接口函數(shù)函數(shù)名稱函數(shù)說明sensorInit()硬件設(shè)備初始化sensoUpdate()上傳傳感器實(shí)時(shí)數(shù)據(jù)和報(bào)警狀態(tài)sensorCheck()實(shí)時(shí)監(jiān)測傳感器報(bào)警狀態(tài),并實(shí)時(shí)預(yù)警上報(bào)ZXBeeUserProcess()解析接收到的下行控制命令PROCESS_THREAD(sensor, ev, data)傳感器進(jìn)程安防

4、類程序接口分析安防傳感器程序邏輯流程設(shè)計(jì)如下:安防類應(yīng)用接口分析無線數(shù)據(jù)包收發(fā)函數(shù):無線數(shù)據(jù)包解析函數(shù):函數(shù)名稱函數(shù)說明ZXBeeInfSend()節(jié)點(diǎn)發(fā)送無線數(shù)據(jù)包給匯集節(jié)點(diǎn)ZXBeeInfRecv()處理節(jié)點(diǎn)收到無線數(shù)據(jù)包函數(shù)名稱函數(shù)說明ZXBeeBegin()增加ZXBee通信協(xié)議的幀頭“”ZXBeeEnd()增加ZXBee通信協(xié)議的幀尾“” ,并返回封包后的數(shù)據(jù)包指針ZXBeeAdd()ZXBee通信協(xié)議的數(shù)據(jù)包中添加數(shù)據(jù)ZXBeeDecodePackage()對接收到的無線數(shù)據(jù)包進(jìn)行解包安防類應(yīng)用接口分析電子圍欄系統(tǒng)設(shè)計(jì)如下所示:項(xiàng)目實(shí)踐電子?xùn)艡谙到y(tǒng)硬件框圖設(shè)計(jì)如下,安全狀態(tài)監(jiān)測使用

5、了外接光柵傳感器,通過IO接口與芯片進(jìn)行通信:項(xiàng)目實(shí)踐氣體傳感器節(jié)點(diǎn)LoRaGas工程實(shí)現(xiàn)了畜牧氣體采集系統(tǒng),該程序?qū)崿F(xiàn)了以下功能:1)節(jié)點(diǎn)入網(wǎng)后,每隔20s上行上傳一次氣體傳感器數(shù)值。2)應(yīng)用層可以下行發(fā)送查詢命令讀取最新的氣體傳感器數(shù)值。LoRaGas工程采用類josn格式的通信協(xié)議(參數(shù)=值,參數(shù)=值,),具體如下:數(shù)據(jù)方向協(xié)議格式說明上行(節(jié)點(diǎn)往應(yīng)用發(fā)送數(shù)據(jù))gratingStatus=XX表示采集的光柵狀態(tài)值下行(應(yīng)用往節(jié)點(diǎn)發(fā)送指令)gratingStatus=?查詢光柵狀態(tài)值,返回:gratingStatus=X,X表示采集的光柵狀態(tài)值。項(xiàng)目實(shí)踐傳感器初始化光柵傳感器初始化代碼如下

6、:void sensorInit(void)printf(sensor-sensorInit(): Sensor init!rn);/ 初始化傳感器代碼grating_init(); / 光柵傳感器初始化項(xiàng)目實(shí)踐void sensorUpdate(void) char pData16;char *p = pData;updateGrating();ZXBeeBegin(); / 智云數(shù)據(jù)幀格式包頭sprintf(char*)p, %u, gratingStatus); ZXBeeAdd(gratingStatus, p); p = ZXBeeEnd(); / 智云數(shù)據(jù)幀格式包尾if (p !=

7、 NULL) ZXBeeInfSend(p, strlen(p); / 將需要上傳的數(shù)據(jù)上傳到智云平臺(tái)printf(sensor-sensorUpdate(): gratingStatus=%urn, gratingStatus); 傳感器主動(dòng)上報(bào)傳感器數(shù)據(jù)項(xiàng)目實(shí)踐光柵傳感器實(shí)時(shí)監(jiān)測及預(yù)警處理void sensorCheck(void)static char lastgratingStatus = 0;static uint32_t ct0=0; char pData16;char *p = pData;updateGrating();ZXBeeBegin();if (lastgratingS

8、tatus != gratingStatus | (ct0 != 0 & clock_time() (ct0+3000) sprintf(p, %u, gratingStatus);ZXBeeAdd(gratingStatus, p);ct0 = clock_time();if (gratingStatus = 0) ct0 = 0;lastgratingStatus = gratingStatus;p = ZXBeeEnd();if (p != NULL) int len = strlen(p); ZXBeeInfSend(p, len);printf(sensor-sensorCheck:

9、 Grating alarm!rn);項(xiàng)目實(shí)踐無線數(shù)據(jù)包命令解析int ZXBeeUserProcess(char *ptag, char *pval) int ret = 0;char pData16;char *p = pData;printf(sensor-ZXBeeUserProcess(): Receive LoRa Data!rn);if (0 = strcmp(gratingStatus, ptag) / 查詢執(zhí)行器命令編碼if (0 = strcmp(?, pval)updateGrating();ret = sprintf(p, %u, gratingStatus);ZXBeeAdd(gratingStatus, p); return ret;項(xiàng)目實(shí)踐傳感器驅(qū)動(dòng)函數(shù)函數(shù)名稱函數(shù)說明grating_init()光柵傳感器初始化get_grating_status()獲取光柵傳感器狀態(tài)項(xiàng)目實(shí)踐根據(jù)程序設(shè)定,光柵傳感器節(jié)點(diǎn)每隔20s會(huì)上傳一次光柵數(shù)值到應(yīng)用層。同時(shí)通過ZCloudTools工具發(fā)送氣體查詢指令(gratingStatus=?),程序接收到響應(yīng)后將會(huì)返回實(shí)時(shí)光柵數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論