![物聯(lián)網(wǎng)長(zhǎng)距離無(wú)線通信技術(shù)應(yīng)用與開(kāi)發(fā)4.3LTE協(xié)議棧解析與應(yīng)用開(kāi)發(fā)課件_第1頁(yè)](http://file4.renrendoc.com/view/775495af4ce399a065756917240a7b49/775495af4ce399a065756917240a7b491.gif)
![物聯(lián)網(wǎng)長(zhǎng)距離無(wú)線通信技術(shù)應(yīng)用與開(kāi)發(fā)4.3LTE協(xié)議棧解析與應(yīng)用開(kāi)發(fā)課件_第2頁(yè)](http://file4.renrendoc.com/view/775495af4ce399a065756917240a7b49/775495af4ce399a065756917240a7b492.gif)
![物聯(lián)網(wǎng)長(zhǎng)距離無(wú)線通信技術(shù)應(yīng)用與開(kāi)發(fā)4.3LTE協(xié)議棧解析與應(yīng)用開(kāi)發(fā)課件_第3頁(yè)](http://file4.renrendoc.com/view/775495af4ce399a065756917240a7b49/775495af4ce399a065756917240a7b493.gif)
![物聯(lián)網(wǎng)長(zhǎng)距離無(wú)線通信技術(shù)應(yīng)用與開(kāi)發(fā)4.3LTE協(xié)議棧解析與應(yīng)用開(kāi)發(fā)課件_第4頁(yè)](http://file4.renrendoc.com/view/775495af4ce399a065756917240a7b49/775495af4ce399a065756917240a7b494.gif)
![物聯(lián)網(wǎng)長(zhǎng)距離無(wú)線通信技術(shù)應(yīng)用與開(kāi)發(fā)4.3LTE協(xié)議棧解析與應(yīng)用開(kāi)發(fā)課件_第5頁(yè)](http://file4.renrendoc.com/view/775495af4ce399a065756917240a7b49/775495af4ce399a065756917240a7b495.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第4章 LTE無(wú)線通信技術(shù)開(kāi)發(fā)4.3 LTE協(xié)議棧解析與應(yīng)用開(kāi)發(fā)協(xié)議棧工作流程協(xié)議棧執(zhí)行原理協(xié)議棧關(guān)鍵接口函數(shù)開(kāi)發(fā)場(chǎng)景智慧交通是一個(gè)綜合性的城市服務(wù)項(xiàng)目,項(xiàng)目中蘊(yùn)含著多種使用場(chǎng)景,如交通關(guān)鍵節(jié)點(diǎn)的數(shù)據(jù)信息采集,采集后的數(shù)據(jù)需要通過(guò)LTE網(wǎng)絡(luò)發(fā)送到遠(yuǎn)程控制中心;如城市交通路障管理,當(dāng)城市路障節(jié)點(diǎn)接收到控制指令時(shí)可以執(zhí)行相應(yīng)的控制操作;這些復(fù)雜的功能操作都需要一個(gè)強(qiáng)大的軟件系統(tǒng)。任務(wù)目標(biāo)通過(guò)基于LTE無(wú)線網(wǎng)的城市空氣質(zhì)量采集和調(diào)節(jié)項(xiàng)目實(shí)例了解LTE的網(wǎng)絡(luò)協(xié)議棧的工作原理和協(xié)議棧的關(guān)鍵接口,學(xué)習(xí)和掌握企業(yè)協(xié)議棧接口的使用,掌握應(yīng)用接口的使用,通過(guò)使用應(yīng)用接口能夠?qū)崿F(xiàn)快速的LTE無(wú)線傳感網(wǎng)絡(luò)開(kāi)發(fā)。co
2、ntiki操作系統(tǒng)Contiki 是一個(gè)開(kāi)源的、高度可移植的多任務(wù)操作系統(tǒng),適用于聯(lián)網(wǎng)嵌入式系統(tǒng)和無(wú)線傳感器網(wǎng)絡(luò)。Contiki 適用于存儲(chǔ)器資源十分受限的嵌入式單片機(jī)系統(tǒng),典型的配置下 Contiki 只占用約 2Kbytes 的 RAM 以及 40Kbytes 的 Flash 存儲(chǔ)器。Contiki 操作系統(tǒng)是基于事件驅(qū)動(dòng)(Event-driven)內(nèi)核的操作系統(tǒng)。Contiki 系統(tǒng)內(nèi)部集成了兩種類型的無(wú)線傳感器網(wǎng)絡(luò)協(xié)議棧:uIP 和 Rime。事件驅(qū)動(dòng)Contiki 兩個(gè)主要機(jī)制:事件驅(qū)動(dòng)和 protothread 機(jī)制,前者是為了降低功耗,后者是為了節(jié)省內(nèi)存。在 Contiki 系統(tǒng)
3、中,事件被分為以下三種類型:定時(shí)器事件(timer events)進(jìn)程可以設(shè)置一個(gè)定時(shí)器,在給定的時(shí)間完成之后生成一個(gè)事件,進(jìn)程一直阻塞直到定時(shí)器終止,才繼續(xù)執(zhí)行。外部事件(external events)外圍設(shè)備連接到具有中斷功能的微處理器 IO 引腳, 觸發(fā)中斷時(shí)可能生成事件。內(nèi)部事件(internal events)任何進(jìn)程都可以為自身或其它進(jìn)程指定事件。protothread 機(jī)制傳統(tǒng)的操作系統(tǒng)使用棧保存進(jìn)程上下文,每個(gè)進(jìn)程需要一個(gè)棧,這對(duì)于內(nèi)存極度受限的傳感器設(shè)備將難以忍受。protothread 機(jī)制恰解決了這個(gè)問(wèn)題,通過(guò)保存進(jìn)程被阻塞處的行數(shù)(進(jìn)程結(jié)構(gòu)體的一個(gè)變量,unsiged
4、 short 類型,只需兩個(gè)字節(jié)),從而實(shí)現(xiàn)進(jìn)程切換,當(dāng)該進(jìn)程下一次被調(diào)度時(shí),通過(guò) switch(_LINE_)跳轉(zhuǎn)到剛才保存的點(diǎn),恢復(fù)執(zhí)行。整個(gè) Contiki 只用一個(gè)棧,當(dāng)進(jìn)程切換時(shí)清空,大大節(jié)省內(nèi)存。Contiki的系統(tǒng)運(yùn)行分析Contiki內(nèi)核是基于事件驅(qū)動(dòng)的,系統(tǒng)運(yùn)行可以視為不斷處理事件的過(guò)程。Contiki運(yùn)行通過(guò)事件觸發(fā)完成,一個(gè)事件綁定相應(yīng)的進(jìn)程。contiki用戶進(jìn)程與程序Contiki的用戶進(jìn)程建立較為簡(jiǎn)單。用戶進(jìn)程的建立有三個(gè)步驟,分別是定義用戶進(jìn)程,在進(jìn)程列表中添加進(jìn)程信息,編寫進(jìn)程實(shí)體。定義用戶進(jìn)程PROCESS(hello, hello); 進(jìn)程列表中添加進(jìn)程信息
5、struct process * const autostart_processes = &hello,NULL;autostart_start(autostart_processes);編寫進(jìn)程實(shí)體PROCESS_THREAD(hello, ev, data) . 進(jìn)程實(shí)體編寫進(jìn)程實(shí)體/hello進(jìn)程主體PROCESS_THREAD(hello, ev, data) PROCESS_BEGIN(); /進(jìn)程啟動(dòng)while(1) /進(jìn)程循環(huán)體printf(HelloWorld!rn); /進(jìn)程打印信息etimer_set(&hello_timer, CLOCK_SECOND); /進(jìn)程定時(shí)進(jìn)入
6、執(zhí)行設(shè)置process_status = 2; PROCESS_YIELD(); /進(jìn)程跳轉(zhuǎn)PROCESS_END(); /進(jìn)程結(jié)束Contiki的多種定時(shí)器Contiki包含一個(gè)時(shí)鐘模型和5個(gè)定時(shí)器模型(timer, stimer, ctimer, etimer, and rtimer) 5種timer簡(jiǎn)述如下:timer、stimer提供了最簡(jiǎn)單的時(shí)鐘操作,即檢查時(shí)鐘周期是否已經(jīng)結(jié)束。程序從timer中讀出狀態(tài),判斷時(shí)鐘是否過(guò)期。tmiers 是使用的系統(tǒng)時(shí)鐘的ticks,而stimers是使用的秒。Ctimer回調(diào)定時(shí)器,驅(qū)動(dòng)某一個(gè)回調(diào)函數(shù)。etimer事件定時(shí)器,驅(qū)動(dòng)某一個(gè)事件。Rti
7、mer實(shí)時(shí)時(shí)鐘。LTE無(wú)線函數(shù)接口分析EC20協(xié)議棧文件結(jié)構(gòu)EC20協(xié)議棧工程目錄結(jié)構(gòu)協(xié)議棧的工程目錄比較簡(jiǎn)單,總的目錄下只有三個(gè)文件分組,分別是app、core、zonesion。app是系統(tǒng)的contiki的腳本文件。Core是contiki-3.0微操作系統(tǒng)的系統(tǒng)文件。zonesion是和NB-IOT相關(guān)的驅(qū)動(dòng)文件以及相關(guān)的協(xié)議文件。EC20的項(xiàng)目開(kāi)發(fā)目錄LTE appLTE無(wú)線應(yīng)用層api at-uart.c調(diào)試串口初始化 at.c提供給串口調(diào)試的AT交互協(xié)議 zhiyun.c智云平臺(tái)LTE通信接口 zxbee-sys-command.c處理下行的用戶命令 zxbee.c無(wú)線數(shù)據(jù)包封包
8、、解包 devLTE射頻驅(qū)動(dòng)及部分硬件驅(qū)動(dòng) lte-ec20.cEC20模塊的AT指令操作文件 lte-inf.cEC20模塊的接口操作文件 lte-tcp.cEC20的TCP連接配置文件 sensorNB-IoT節(jié)點(diǎn)傳感器驅(qū)動(dòng) autoapps.cContiki操作系統(tǒng)進(jìn)程列表 sensor.c傳感器進(jìn)程、驅(qū)動(dòng)及應(yīng)用 contiki-conf.hLTE網(wǎng)絡(luò)參數(shù)配置 contiki-conf.cContiki操作系統(tǒng)入口EC20無(wú)線關(guān)鍵函數(shù)解析了方便操作,企業(yè)將EC20模塊的操作通過(guò)AT指令進(jìn)行了封裝,通過(guò)contiki協(xié)議棧實(shí)現(xiàn)了EC20模塊的高效利用。EC20的AT指令封裝代碼放置在協(xié)議棧
9、工程目錄的zonesion/LTE/dev目錄下.編號(hào)文件名說(shuō)明1lte-ec20.cEC20模塊的AT指令操作文件2lte-inf.cEC20模塊的接口操作文件3lte-tcp.cEC20的TCP連接配置文件4config.cSTM32F103系列內(nèi)部Flash讀寫操作 5debug.c調(diào)試信息處理文件6key.c按鍵處理7leds-arch.cLED數(shù)據(jù)收發(fā)提示文件8relay.c繼電器驅(qū)動(dòng)代碼EC20無(wú)線關(guān)鍵函數(shù)解析協(xié)議棧中真正涉及到EC20模塊的操作的文件時(shí)Lte-ec20.c、Lte-inf.c和Lte-tcp.c文件,根據(jù)從底層到上層的程序設(shè)計(jì)流程,文件的操作順序?yàn)長(zhǎng)te-inf.
10、c(初始化EC20模塊的串口接口操作)、Lte-ec20.c(AT指令操作及執(zhí)行文件)、Lte-tcp.c(TCP連接與數(shù)據(jù)收發(fā)操作)。傳感器應(yīng)用接口分析智云傳感器框架智云框架是在應(yīng)用接口和無(wú)線協(xié)議接口上搭建起來(lái)的,通過(guò)合理調(diào)用這些接口,使項(xiàng)目的開(kāi)發(fā)形成一套系統(tǒng)的開(kāi)發(fā)邏輯。函數(shù)名稱函數(shù)說(shuō)明sensorInit()傳感器硬件初始化sensorUpdate()傳感器數(shù)據(jù)定時(shí)上報(bào)sensorControl()傳感器/執(zhí)行器控制函數(shù)sensorCheck ()傳感器預(yù)警監(jiān)測(cè)及處理函數(shù)ZXBeeInfRecv()解析接收到的傳感器控制命令函數(shù)PROCESS_THREAD(sensor, ev, data
11、)傳感器進(jìn)程(處理傳感器上報(bào)、傳感器預(yù)警監(jiān)測(cè))智云傳感器程序解析智云框架下LTE無(wú)線節(jié)點(diǎn)示例程序基于Contiki系統(tǒng)框架開(kāi)發(fā),詳細(xì)程序流程圖如下:智云框架硬件API節(jié)點(diǎn)傳感器初始化函數(shù)與數(shù)據(jù)更新函數(shù):void sensor_init(void) /執(zhí)行傳感器設(shè)備初始化操作代碼段 void sensorUpdate(void)char pData16;/獲取系統(tǒng)傳感器數(shù)據(jù)/更新更新數(shù)值并上報(bào)if (pData != NULL) ZXBeeInfSend(pData, strlen(pData); / 上傳數(shù)據(jù)到智云平臺(tái)開(kāi)發(fā)實(shí)踐硬件功能設(shè)計(jì)從上圖中可以得知,大氣壓力傳感器使用內(nèi)部隨機(jī)數(shù)發(fā)生器產(chǎn)生
12、虛擬數(shù)據(jù),而繼電器使用I/O進(jìn)行控制。繼電器原理圖如下:開(kāi)發(fā)實(shí)踐軟件邏輯設(shè)計(jì)開(kāi)發(fā)實(shí)踐設(shè)計(jì)通信協(xié)議為了實(shí)現(xiàn)LTE節(jié)點(diǎn)的數(shù)據(jù)能夠?qū)崿F(xiàn)遠(yuǎn)程與本地的識(shí)別,需要設(shè)計(jì)一套約定的通訊協(xié)議,約定的通信協(xié)議可以被遠(yuǎn)程設(shè)備和本地節(jié)點(diǎn)識(shí)別。根據(jù)項(xiàng)目特性設(shè)計(jì)通信協(xié)議如下:數(shù)據(jù)方向協(xié)議格式說(shuō)明上行(節(jié)點(diǎn)往應(yīng)用發(fā)送數(shù)據(jù))airPressure=XX表示采集的大氣壓力值下行(應(yīng)用往節(jié)點(diǎn)發(fā)送指令)cmd=XX為0表示關(guān)閉,1表示開(kāi)啟。開(kāi)發(fā)實(shí)踐LTE無(wú)線框架關(guān)鍵函數(shù)理解節(jié)點(diǎn)工程LTEApiTest內(nèi)源碼文件,理解無(wú)線協(xié)議進(jìn)程及無(wú)線數(shù)據(jù)收發(fā)函數(shù)的處理。1)LTE無(wú)線協(xié)議進(jìn)程zhiyun.c-PROCESS_THREAD(u_zh
13、iyun, ev, data)。2)LTE無(wú)線數(shù)據(jù)收發(fā)api接口:void zhiyun_send(char *pkg) package_data_send(pkg);開(kāi)發(fā)實(shí)踐LTE無(wú)線框架關(guān)鍵函數(shù)int package_data_send(char *zxbee) if (tcp_con-status != TCP_STATUS_CONNECTED) return -1; char *pbuf = gsm_tcp_buf(); if (pbuf = NULL) Debug(package_data(): error tcp buffer busy.rn); return -1; int len = sprintf(pbuf, method:sensor,data:%s, zxbee); gsm_tcp_send(tcp_con, len); /*修改心跳包時(shí)間*/ e
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高中化學(xué) 第三章 晶體結(jié)構(gòu)與性質(zhì) 第二節(jié) 第1課時(shí) 分子晶體說(shuō)課稿 新人教版選修3
- 3的倍數(shù)的特征(說(shuō)課稿)-2024-2025學(xué)年數(shù)學(xué)五年級(jí)上冊(cè)北師大版
- 8《燈光》說(shuō)課稿-2024-2025學(xué)年統(tǒng)編版語(yǔ)文六年級(jí)上冊(cè)
- 14《刷子李》(說(shuō)課稿)-2023-2024學(xué)年統(tǒng)編版語(yǔ)文五年級(jí)下冊(cè)001
- 2024-2025學(xué)年高中生物 專題3 課題1 菊花的組織培養(yǎng)說(shuō)課稿 新人教版選修1001
- 7媽媽睡了說(shuō)課稿-2024-2025學(xué)年統(tǒng)編版語(yǔ)文二年級(jí)上冊(cè)
- 2025至2030年巖石工程力學(xué)特性參數(shù)測(cè)定裝置項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年中國(guó)仿蠟染花布數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)電熱交換器市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)塑料風(fēng)窗口市場(chǎng)調(diào)查研究報(bào)告
- 機(jī)構(gòu)編制重要事項(xiàng)的報(bào)告范文(5篇)
- DBJ51-T 188-2022 預(yù)拌流態(tài)固化土工程應(yīng)用技術(shù)標(biāo)準(zhǔn)
- 《長(zhǎng)津湖》電影賞析PPT
- 多維閱讀第10級(jí) who is who 看看都是誰(shuí)
- 滑雪運(yùn)動(dòng)介紹
- 高二下學(xué)期英語(yǔ)閱讀限時(shí)訓(xùn)練(一)
- 半導(dǎo)體制造工藝-13薄膜沉積(下)綜述課件
- 大數(shù)據(jù)和人工智能知識(shí)考試題庫(kù)600題(含答案)
- 2021譯林版高中英語(yǔ)選擇性必修一單詞表
- 幼兒園大班綜合《月亮姑娘做衣裳》微課件
- 顯微外科課件
評(píng)論
0/150
提交評(píng)論