基于STM32F417的物聯(lián)網(wǎng)嵌入式網(wǎng)關的設計
出處:維庫電子市場網(wǎng) 發(fā)布于:2017-12-25 15:30:30
1、引言
隨著物聯(lián)網(wǎng)技術的飛速發(fā)展,物聯(lián)網(wǎng)技術中一個重要的實現(xiàn)就是要將各類傳感器控制節(jié)點采集到的數(shù)據(jù)通過Internet網(wǎng)上傳到用戶手機或者PC機,為了滿足這一需求,需要設計出一種既能作為無線傳感器網(wǎng)絡的協(xié)調(diào)器,又能實現(xiàn)遠程GPRS傳輸和網(wǎng)絡連接的網(wǎng)關設備。
針對以上需求,本設計采用STM32F417作為主設備控制芯片,片上運行μC/OS-II實時系統(tǒng)作為設備管理系統(tǒng),使用uIP作為TCP/IP網(wǎng)絡協(xié)議棧,主設備同時具有鍵盤操作及顯示功能,可以進行本地設置,也可以使用PC機遠程設置。嵌入式網(wǎng)關中的GPRS模塊通過串口與嵌入式主設備相連,無線協(xié)調(diào)器通過串口將采集來的數(shù)據(jù)上傳到嵌入式主設備,主設備也可以將命令下發(fā)給無線協(xié)調(diào)器,無線協(xié)調(diào)器通過ZigBee無線通信協(xié)議將命令發(fā)給傳感器。
2、系統(tǒng)硬件設計
嵌入式網(wǎng)關系統(tǒng)主要包括嵌入式主設備、GPRS模塊、無線協(xié)調(diào)器、路由器。嵌入式網(wǎng)關系統(tǒng)框圖如圖1所示。

圖1 嵌入式網(wǎng)關系統(tǒng)框圖
嵌入式主設備通過網(wǎng)口與路由器相連;通過串口與GPRS模塊相連,用AT指令控制GPRS模塊;通過串口發(fā)送指令給無線協(xié)調(diào)器,間接控制無線傳感器組。
2.1、嵌入式主設備硬件設計
嵌入式設備硬件平臺主要由STM32F417為主控芯片,外圍硬件電路包括液晶顯示電路,網(wǎng)口驅(qū)動電路,鍵盤操作和串口驅(qū)動電路。硬件電路框圖如圖2所示。

圖2 嵌入式主設備硬件電路框圖
本設計中采用串口液晶,串口液晶無需設計復雜的驅(qū)動電路,只需要串口命令對其控制,顯示頁面和控件可以到液晶的FLASH中,根據(jù)設計需要編寫GUI界面。鍵盤操作主要為用戶提供本地設置網(wǎng)關設備的功能。
STM32F417內(nèi)置MAC模塊,要實現(xiàn)網(wǎng)絡傳輸需要外擴一片PHY芯片,底層網(wǎng)絡驅(qū)動就是對PHY芯片的操作,TCP/IP協(xié)議采用uIP協(xié)議棧;與GPRS模塊的連接使用串口,通過發(fā)送AT指令來實現(xiàn)對GPRS模塊連接網(wǎng)絡,發(fā)送短信,開關機等操作;對無線協(xié)調(diào)器的操作也是通過串口,自定義協(xié)議完成控制。
2.2、GPRS模塊硬件設計
GPRS模塊主要實現(xiàn)將傳感器采集來的數(shù)據(jù)上傳給用戶手機,用戶可以通過手機對傳感器進行遠程控制。GPRS模塊通過串口與嵌入式主設備相連。硬件設計框圖如圖3所示。

圖3 GPRS模塊硬件設計框圖
GPRS模塊主控芯片采用Philips公司的LPC2103,主要實現(xiàn)對GPRS收發(fā)器(SIMCOM300)的驅(qū)動控制,以及通過串口與嵌入式主設備連接。
2.3、無線協(xié)調(diào)器硬件設計
無線協(xié)調(diào)器是將無線傳感器組采集的數(shù)據(jù)通過ZigBee網(wǎng)絡傳輸給嵌入式主設備,嵌入式主設備通過串口將控制命令發(fā)送給無線協(xié)調(diào)器,再間接發(fā)給無線傳感器組。硬件系統(tǒng)框圖如圖4所示。

圖4 無線協(xié)調(diào)器硬件設計框圖
無線協(xié)調(diào)器使用TI公司開發(fā)的CC2430芯片作為主控芯片,CC2430整合了ZigBee射頻前端、內(nèi)存和微控制器,支持ZigBee無線通信協(xié)議,工作頻段在2.4GHz。
3、系統(tǒng)軟件設計
本設計中的軟件包括運行于STM32F417上的嵌入式主設備軟件、運行于CC2430上ZigBee協(xié)議棧與客戶端軟件及運行于LPC2103上的GPRS模塊軟件。
3.1、嵌入式主設備軟件設計
嵌入式主設備軟件以μC/OS-II實時系統(tǒng)作為設備管理主程序框架,同時嵌入了uIP協(xié)議棧作為TCP/IP協(xié)議,嵌入式主設備的功能是通過網(wǎng)口與以太網(wǎng)連接實現(xiàn)與遠程PC機的通信;外接串口液晶屏和按鍵實現(xiàn)本地參數(shù)設置;通過串口控制GPRS模塊及無線協(xié)調(diào)器。主設備系統(tǒng)軟件設計如圖5所示。

圖5 主設備軟件設計
3.1.1、μC/OS-II系統(tǒng)任務
μC/OS-II系統(tǒng)建立任務,包含系統(tǒng)任務、圖形用戶接口任務、網(wǎng)絡處理任務、存儲數(shù)據(jù)管理任務、串口任務、空閑任務、統(tǒng)計時間運行任務。
主程序集中在main()入口函數(shù),完成μC/OS-II系統(tǒng)初始化、硬件平臺初始化、建立主任務、設置節(jié)拍計數(shù)以及啟動μC/OS-II系統(tǒng)等。
開始任務建立通過App_TaskStart()函數(shù)完成,再由該函數(shù)調(diào)用App_TaskCreat()建立其他任務,一共創(chuàng)建了主任務、串口通信任務、圖形界面任務、按鍵任務、I2C總線讀寫EEPROM任務、SPI讀寫FLASH任務、網(wǎng)絡處理任務以及空閑任務和時間片任務。建立任務流程圖如圖6所示。

圖6 系統(tǒng)任務建立流程圖
3.1.2、網(wǎng)絡管理軟件設計
系統(tǒng)網(wǎng)絡協(xié)議棧采用uIP協(xié)議,相關硬件平臺初始化是STM32F417內(nèi)部以太網(wǎng)模塊的初始化和對DP83848PHY芯片的初始化設置,硬件初始化在BSP_Init()函數(shù)中調(diào)用,并嵌套一個NetInit_Config()用來初始化uIP協(xié)議棧、配置本機IP地址及端口號。
IP協(xié)議是簡化的TCP/IP協(xié)議,主要包含IP、TCP、UDP、ICMP、ARP這些網(wǎng)絡層和傳輸層協(xié)議,應用層協(xié)議涉及HTTP、Telnet、WEB等服務。uIP協(xié)議棧構(gòu)架如圖7所示,uIP協(xié)議與底層驅(qū)動的接口函數(shù)為uip_input(),與上層應用程序的函數(shù)為UIP_APPCALL()。在系統(tǒng)開始任務建立函數(shù)App_TaskStart()中增加了從網(wǎng)絡設備讀取一個IP數(shù)據(jù)包,返回數(shù)據(jù)長度;定時查詢TCP連接收發(fā)狀態(tài),ARP表更新,網(wǎng)絡接收完成傳遞信號量。具體代碼如下:
while(1)
{
uip_len=tapdev_read();
if(uip_len》0)OSSemPost(ETH_SEM);
eth_poll();
OSTImeDlyHMSM(0,0,0,10);
}

圖7 uIP協(xié)議棧接口架構(gòu)圖
M32F417內(nèi)部中斷實現(xiàn)。程序中設備作為服務器使用,設置本地IP為192.168.100.222,端口號為8011,網(wǎng)絡調(diào)試時,PC機上使用TCP/UDP測試工具,設置PC機為客戶端,連接方式為TCP方式,網(wǎng)絡連接成功如圖8所示。

圖8 PC機客戶端連接設備服務器
3.2、GPRS模塊軟件設計
GPRS模塊主要功能,如圖3所示,主控芯片通過串口1與主設備通信,通信協(xié)議為自定義的串口協(xié)議,串口2通過AT指令控制GPRS收發(fā)器,AT指令具體實現(xiàn)開關機,連網(wǎng),短信接收與發(fā)送等功能。GPRS模塊程序流程如圖9所示。

圖9 GPRS模塊軟件流程圖
3.3、無線協(xié)調(diào)器軟件設計
無線協(xié)調(diào)器的軟件包括ZigBee協(xié)議棧與客戶端程序兩部分,協(xié)調(diào)器上電后首先掃描信道,選擇一個合適的信道即合適的網(wǎng)絡標識符,然后啟動網(wǎng)絡,允許傳感器設備連接。然后網(wǎng)關中的主設備通過串口與無線協(xié)調(diào)器連接,間接通過無線協(xié)調(diào)器與無線傳感器組連接。
ZigBee協(xié)議將2.4GHz的射頻頻段分為16個獨立的信道,每個設備都有一個默認信道集,協(xié)調(diào)器掃描自己的默認信道集并選擇一個噪聲的信道作為自己所建網(wǎng)絡的信道。程序流程如圖10所示。

圖10 協(xié)調(diào)器軟件流程圖
4、實驗結(jié)果
將以上設計網(wǎng)關應用于電流功率監(jiān)測平臺,實驗中監(jiān)測對象為電源的電流和電壓,要計算出電源的功耗,監(jiān)測模塊的主控芯片通過模數(shù)轉(zhuǎn)換通道對電流和電壓進行采集,模數(shù)轉(zhuǎn)換即AD采集的對象一般是電壓值,所以對電源的輸出電流需要轉(zhuǎn)換為電壓,監(jiān)測模塊使用MAX472將電流轉(zhuǎn)換為電壓,轉(zhuǎn)換電流電路如圖11所示。

圖11 電流轉(zhuǎn)換電路
5、結(jié)束語
針對物聯(lián)網(wǎng)實際應用設計出的嵌入式網(wǎng)關,具有環(huán)境搭建簡單容易,便于維護,成本低等特點,廣泛應用于智能家居、溫室控制、機房設備監(jiān)控、環(huán)境監(jiān)測等物聯(lián)網(wǎng)應用中。嵌入式網(wǎng)關的設計理念及模型在對各種物理量的采集傳輸中都可以發(fā)揮作用,傳輸媒介也可以根據(jù)環(huán)境和安全需求更換傳輸媒介,傳輸協(xié)議也能夠依據(jù)需求發(fā)展自定義設計嵌入。
版權與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。
如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。
- 物聯(lián)網(wǎng)邊緣計算網(wǎng)關技術特性與部署運維指南2026/1/6 10:44:20
- 物聯(lián)網(wǎng)云平臺技術架構(gòu)與選型運維指南2025/12/30 10:05:07
- 工業(yè)級物聯(lián)網(wǎng)網(wǎng)關技術參數(shù)與選型及運維指南2025/12/23 9:51:05
- 什么是IIoT,IIoT的知識介紹2025/6/3 17:22:31
- 物聯(lián)網(wǎng)領域:新興薄膜技術的潛力與挑戰(zhàn)2025/5/12 15:18:17









