1、引言
隨著物聯網技術的飛速發展,物聯網技術中一個重要的實現就是要將各類傳感器控制節點采集到的數據通過Internet網上傳到用戶手機或者PC機,為了滿足這一需求,需要設計出一種既能作為無線傳感器網絡的協調器,又能實現遠程GPRS傳輸和網絡連接的網關設備。
針對以上需求,本設計采用STM32F417作為主設備控制芯片,片上運行μC/OS-II實時系統作為設備管理系統,使用uIP作為TCP/IP網絡協議棧,主設備同時具有鍵盤操作及顯示功能,可以進行本地設置,也可以使用PC機遠程設置。嵌入式網關中的GPRS模塊通過串口與嵌入式主設備相連,無線協調器通過串口將采集來的數據上傳到嵌入式主設備,主設備也可以將命令下發給無線協調器,無線協調器通過ZigBee無線通信協議將命令發給傳感器。
2、系統硬件設計
嵌入式網關系統主要包括嵌入式主設備、GPRS模塊、無線協調器、路由器。嵌入式網關系統框圖如圖1所示。
圖1 嵌入式網關系統框圖
嵌入式主設備通過網口與路由器相連;通過串口與GPRS模塊相連,用AT指令控制GPRS模塊;通過串口發送指令給無線協調器,間接控制無線傳感器組。
2.1、嵌入式主設備硬件設計
嵌入式設備硬件平臺主要由STM32F417為主控芯片,外圍硬件電路包括液晶顯示電路,網口驅動電路,鍵盤操作和串口驅動電路。硬件電路框圖如圖2所示。
圖2 嵌入式主設備硬件電路框圖
本設計中采用串口液晶,串口液晶無需設計復雜的驅動電路,只需要串口命令對其控制,顯示頁面和控件可以下載到液晶的FLASH中,根據設計需要編寫GUI界面。鍵盤操作主要為用戶提供本地設置網關設備的功能。
STM32F417內置MAC模塊,要實現網絡傳輸需要外擴一片PHY芯片,底層網絡驅動就是對PHY芯片的操作,TCP/IP協議采用uIP協議棧;與GPRS模塊的連接使用串口,通過發送AT指令來實現對GPRS模塊連接網絡,發送短信,開關機等操作;對無線協調器的操作也是通過串口,自定義協議完成控制。
2.2、GPRS模塊硬件設計
GPRS模塊主要實現將傳感器采集來的數據上傳給用戶手機,用戶可以通過手機對傳感器進行遠程控制。GPRS模塊通過串口與嵌入式主設備相連。硬件設計框圖如圖3所示。
圖3 GPRS模塊硬件設計框圖
GPRS模塊主控芯片采用Philips公司的LPC2103,主要實現對GPRS收發器(SIMCOM300)的驅動控制,以及通過串口與嵌入式主設備連接。
2.3、無線協調器硬件設計
無線協調器是將無線傳感器組采集的數據通過ZigBee網絡傳輸給嵌入式主設備,嵌入式主設備通過串口將控制命令發送給無線協調器,再間接發給無線傳感器組。硬件系統框圖如圖4所示。
圖4 無線協調器硬件設計框圖
無線協調器使用TI公司開發的CC2430芯片作為主控芯片,CC2430整合了ZigBee射頻前端、內存和微控制器,支持ZigBee無線通信協議,工作頻段在2.4GHz。
3、系統軟件設計
本設計中的軟件包括運行于STM32F417上的嵌入式主設備軟件、運行于CC2430上ZigBee協議棧與客戶端軟件及運行于LPC2103上的GPRS模塊軟件。
3.1、嵌入式主設備軟件設計
嵌入式主設備軟件以μC/OS-II實時系統作為設備管理主程序框架,同時嵌入了uIP協議棧作為TCP/IP協議,嵌入式主設備的功能是通過網口與以太網連接實現與遠程PC機的通信;外接串口液晶屏和按鍵實現本地參數設置;通過串口控制GPRS模塊及無線協調器。主設備系統軟件設計如圖5所示。
圖5 主設備軟件設計
3.1.1、μC/OS-II系統任務
μC/OS-II系統建立任務,包含系統任務、圖形用戶接口任務、網絡處理任務、存儲數據管理任務、串口任務、空閑任務、統計時間運行任務。
主程序集中在main()入口函數,完成μC/OS-II系統初始化、硬件平臺初始化、建立主任務、設置節拍計數以及啟動μC/OS-II系統等。
開始任務建立通過App_TaskStart()函數完成,再由該函數調用App_TaskCreat()建立其他任務,一共創建了主任務、串口通信任務、圖形界面任務、按鍵任務、I2C總線讀寫EEPROM任務、SPI讀寫FLASH任務、網絡處理任務以及空閑任務和時間片任務。建立任務流程圖如圖6所示。
圖6 系統任務建立流程圖
3.1.2、網絡管理軟件設計
系統網絡協議棧采用uIP協議,相關硬件平臺初始化是STM32F417內部以太網模塊的初始化和對DP83848PHY芯片的初始化設置,硬件初始化在BSP_Init()函數中調用,并嵌套一個NetInit_Config()用來初始化uIP協議棧、配置本機IP地址及端口號。
IP協議是簡化的TCP/IP協議,主要包含IP、TCP、UDP、ICMP、ARP這些網絡層和傳輸層協議,應用層協議涉及HTTP、Telnet、WEB等服務。uIP協議棧構架如圖7所示,uIP協議與底層驅動的接口函數為uip_input(),與上層應用程序的函數為UIP_APPCALL()。在系統開始任務建立函數App_TaskStart()中增加了從網絡設備讀取一個IP數據包,返回數據長度;定時查詢TCP連接收發狀態,ARP表更新,網絡接收完成傳遞信號量。具體代碼如下:
while(1)
{
uip_len=tapdev_read();
if(uip_len》0)OSSemPost(ETH_SEM);
eth_poll();
OSTimeDlyHMSM(0,0,0,10);
}
圖7 uIP協議棧接口架構圖
M32F417內部中斷實現。程序中設備作為服務器使用,設置本地IP為192.168.100.222,端口號為8011,網絡調試時,PC機上使用TCP/UDP測試工具,設置PC機為客戶端,連接方式為TCP方式,網絡連接成功如圖8所示。
圖8 PC機客戶端連接設備服務器
3.2、GPRS模塊軟件設計
GPRS模塊主要功能,如圖3所示,主控芯片通過串口1與主設備通信,通信協議為自定義的串口協議,串口2通過AT指令控制GPRS收發器,AT指令具體實現開關機,連網,短信接收與發送等功能。GPRS模塊程序流程如圖9所示。
圖9 GPRS模塊軟件流程圖
3.3、無線協調器軟件設計
無線協調器的軟件包括ZigBee協議棧與客戶端程序兩部分,協調器上電后首先掃描信道,選擇一個合適的信道即合適的網絡標識符,然后啟動網絡,允許傳感器設備連接。然后網關中的主設備通過串口與無線協調器連接,間接通過無線協調器與無線傳感器組連接。
ZigBee協議將2.4GHz的射頻頻段分為16個獨立的信道,每個設備都有一個默認信道集,協調器掃描自己的默認信道集并選擇一個噪聲最小的信道作為自己所建網絡的信道。程序流程如圖10所示。
圖10 協調器軟件流程圖
4、實驗結果
將以上設計網關應用于電流功率監測平臺,實驗中監測對象為電源的電流和電壓,最后要計算出電源的功耗,監測模塊的主控芯片通過模數轉換通道對電流和電壓進行采集,模數轉換即AD采集的對象一般是電壓值,所以對電源的輸出電流需要轉換為電壓,監測模塊使用MAX472將電流轉換為電壓,轉換電流電路如圖11所示。
圖11 電流轉換電路
5、結束語
針對物聯網實際應用設計出的嵌入式網關,具有環境搭建簡單容易,便于維護,成本低等特點,廣泛應用于智能家居、溫室控制、機房設備監控、環境監測等物聯網應用中。嵌入式網關的設計理念及模型在對各種物理量的采集傳輸中都可以發揮作用,傳輸媒介也可以根據環境和安全需求更換傳輸媒介,傳輸協議也能夠依據需求發展自定義設計嵌入。
上一篇:基于STM32的直流電機PID調速系統設計與實現
下一篇:STM32F103的貼片機控制系統的設計
推薦閱讀最新更新時間:2025-04-17 05:08






設計資源 培訓 開發板 精華推薦
- 基于IP5306的移動電源控制板
- ATSAM4S-XSTK、SAM4S Xplained Pro 入門套件或使用基于 SAM4S Cortex-M4 處理器的微控制器進行評估和原型設計
- MICS
- 【20200910更新】ESP8266 RGBWW五路調光驅動板Lightning(二創)
- 鳶尾立方->一種基于STM32的USB轉JTAG電路設計
- 愛墓式322號-IP5358迷你單C版,1.5X5CM
- 基于單片機的智能LED臺燈設計_附電路圖、成品演示圖、源程序
- LTC3109 的典型應用 - 自動極性、超低電壓升壓轉換器和電源管理器
- AN2526,STMAV340 評估套件具有 4 通道和一個 2 對 1 視頻開關,非常適合在電視或監視器上切換模擬視頻信號
- DI-123 - 9.65 W,用于住宅供暖控制的雙輸出電源
- 英特爾攜海信發布端側會議領域垂域模型解決方案,讓商務會議更安全更智能
- 英特爾攜手MAXHUB聯合發布企業級AI PC, 加速AI大模型在端側落地
- 助力低碳數字未來 英飛凌攜多款創新成果亮相2025慕尼黑上海電子展
- ?日清紡微電子科技賦能產業升級,亮相慕尼黑上海電子展
- 泰克閃耀 2025 慕尼黑上海電子展,引領測試技術新變革
- 破局AI眼鏡性能、續航、成本“不可能三角”:芯原推出高集成度參考設計方案
- 人形機器人成下一風口,各大車企紛紛入局,比智能汽車潛力更大?
- 業績最高 TDK為汽車應用推出電容值達100V的MLCC
- 微型柔性機器人:開啟智能救援與精準醫療新紀元
- 人工智能加速芯片設計:動態自適應流程引領高效創新