一種基于物聯網的遠程監控系統設計
遠程監控系統現已成為現代化生產、生活中不可缺少的重要組成部分。目前,監控系列產品種類繁多,大部分廣泛應用于交通、醫院、銀行、家居、學校等安防領域。伴隨著對物聯網(Internet of Things)應用研究的不斷深入,使得遠程監控系統的應用領域更為廣泛。本文創新點在于是基于物聯網、以ARM內核芯片的嵌入式系統為核心技術的遠程監控系統設計,其中巧妙地移植移植U-Boot和嵌入式Linux操作系統的編譯內核配置。雖然主要是關于某市幾個重要路口的交通遠程監控管理系統的核心設計內容,但亦可為其他基于物聯網的遠程監控系統所借鑒。
1 系統體系結構及功能
本設計系統主要由控制模塊、ARM中央控制平臺、ZigBee無線傳輸、以太網通信和多個擴展接口等部分組成,實際中可根據需求和使用環境靈活地選用適合的接口進行操作,其體系結構如圖1所示。

該系統主要是利用RS 232接口實現ARM嵌入式系統與Zigbee無線系統的連接進而實現網關設備的功能。通過ARM中央控制平臺和Zigbee芯片的RS 232線路驅動器/接收器MAX3221芯片來實現串行數據的通信。由于采用了常見的串口作為通信媒介,簡化了硬件設計。作為接收命令端的Zigbee芯片由于采用的是8051為內核的CPU,時刻處于等待命令狀態。ARM中央控制平臺植入了Linux操作系統,當運行了串口實現程序后,就可向Zigbee芯片發出采集信息的命令。因此系統主要的軟件實現就是Linux系統下的串口實現程序的設計。
其中檢測控制模塊可以是溫度控制模塊、壓力了控制模塊、流量控制模塊等等實際監控需檢測的參量模塊。各檢測控制模塊通過ZigBee模塊與ARM中央控制平臺實現無線連接,組成了一個星型無線智能控制網絡。同時ARM中央控制平臺通過以太網實現與外部遠程連接。從而實現遠程監控。
1.1 ARM中央控制平臺
在本設計中,ARM中央控制平臺是系統的核心,主要負責數據采集判斷處理。為了提高系統工作效率,設計中采用了ATMEL公司生產的ARM9芯片AT91RM9200。由于AT91RM9200處理器具有豐富的系統與應用外設及標準的接口,因此根據應用的需要很容易就可實現功能模塊的擴展。該芯片融合了ARM920T ARM Thumb處理器特性:工作于180 MHz時性能高達200 MIPS,存儲器管理單元,16 KB的數據緩存,16 KB的指令緩存,寫緩沖器,含有調試信道的內部仿真器,中等規模的嵌入式宏單元結構(僅針對256 BGA封裝);低功耗:VDDCORE電流為30.4 mA,待[FS:PAGE]機模式電流為3.1 mA;附加的嵌入式存儲器:SRAM為16 KB;ROM為128 KB;外部總線接口(EBI):支持SDRAM,靜態存儲器,Burst FLASH,無縫連接的CompactFlash Smart Media及NAND FLASH;提高性能而使用的系統外設:2個有雙PLL的片上振蕩器,低速的時鐘操作模式與軟件功耗優化能力,4個可編程的外部時鐘信號,調試單元、兩線UART并支持調試信道,有8個優先級的高級中斷控制器,獨立的可屏蔽中斷源,偽中斷保護,7個外部中斷源及1個快速中斷源,有122個可編程I/O口線的4個32位PIO控制器,各線均有輸入變化中斷及開漏能,20通道的外設數據控制器(DMA);10/100 Base-T型以太網卡接口:獨立的媒體接口(MII)或簡化的獨立媒體接口(RMII),對于接收與發送有集成的28 B FIFO及專用的DMA通道;USB 2.0全速(12 Mb/s)主機雙端口:雙片上收發器(208引腳PQFP封裝中僅為一個):集成的FIFO及專用的DMA通道;USB 2.0全速(12 Mb/s)器件端口:片上收發器,2 KB可配置的集成FIFO;多媒體卡接口(MCI):自動協議控制及快速自動數據傳輸,與MMC及SD存儲器卡兼容,支持2個SD存儲器;主機/從機串行外設接口(SPI):8~16位可編程數據長度,可連接4個外設;兩線接口(TWI):主機模式支持,所有兩線Atmel EEPRoM支持;所有數字引腳的IEEE 1149.1JTAG邊界掃描。
正是由于AT91RM9200芯片具有以上特性,所以它完全滿足了本設計系統必須具備的3個條件:高速處理能力、高速數據通道、網絡接口。
1.2 ZigBee芯片
本設計中ZigBee芯片選用Chipcon公司的無線收發芯片CC2430。CC2430是一個真正片上系統芯片,內部集成一個高性能2.4 GHz直接序列擴頻(DSSS)射頻收發器核心和一個工業級加強型8051內核,無需再選另外的處理器,使設計簡化。
1.3 以太網控制器
本設計中以太網控制器采用是DAVICOM公司的DM9000,這是具有10/100 M自適應以太網芯片。其特點是:支持8位、16位、32位數據總線寬度;寄存器操作簡單有效,有成熟的Linux驅動程序支持;3.3 V接口電平;成本相當低廉;還可以使用MII接口和PHY芯片連接。DM9000還提供了介質無關的接口,以連接所有提供支持介質無關接口功能的家用電話線網絡設10 Mb/s下3類、4類、5類非屏蔽雙絞線和100Mb/s下5類非屏蔽雙絞線。這是完全符合IEEE 802.3u規格。它的自動協調功能將自動完成配置以最大限度地適合其線路帶寬,還支持IEEE 802.3x全雙工流量控制。
2 軟件設計
2.1 移植U-Boot
&[FS:PAGE]nbsp; 通用Bootloader(UniversaI Boot Loader,U-Boot)遵循GPL條款的開放源代碼項目。U-Boot支持大多CPU。U-Boot可以燒寫EXT2,JFFS2文件系統映象,支持串口下載、網絡下載,并提供了大量的命令。系統引導支持NFS掛載、RAMDISK(壓縮或非壓縮)形式的根文件系統;支持NFS掛載,從FLASH中引導壓縮或非壓縮系統內核。
2.1.1 U-Boot的下載
可以從http://sourceforge.net/projects/U-Boot獲得U-Boot的最新版本,如果使用過程中碰到問題或是發現Bug,可以通過郵件列表網站http://lists.sourcef orge.net/lists/listinfo/U-Bootusers/獲得幫助。選擇1.1.2,文件名稱u-boot-1.1.2.tar.bz2。
2.1.2 修改U-Boot配置文件
進入存放u-boot-1.1.2.tar.bz的目錄,運行tar-jxvfu-boot-1.1.2.tar.bz進行解壓,進入解壓后生成的文件夾u-boot-1.1. 2,它是按Atmel推薦的標準系統的配置SDRAM:32Mbytes NCS1;FLASH:8 MB NCS0來配置的,若系統的配置和推薦的不同,則需要修改。需要修改文件主要是下面幾個:./board/at91rm9200dk/config.mk,include/configs/+ at91rm9200dk.h,./board/at91rm9200dk /flash.c,flash.h在修改好U-Boot配置后,編譯運行即可。
2.2 嵌入式Linux操作系統移植
AT91R1M9200芯片支持多種嵌入式操作系統,但考慮到AT91RM9200支持從內部的BOOTROM啟動或從外部的DATAFLASH、二線EEPROM或8位并行存儲器引導啟動,因此,本設計中,主要將Linux在AT91RM9200上進行移植。
2.2.1 嵌入式Linux操作系統
嵌入式Linux操作系統由一個Kernel(內核)及一些根據需要進行定制的系統模塊組成。其Kernel很小,一般只有幾百KB左右,即使加上其他必要的模塊和應用程序,所需的存儲空間也很小。它具有多任務、多進程的系統特征,有些還有具有實時性。一個小型的嵌入式Linux系統只需要引導程序、Linux微內核(由內存管理、進程管理和事務處理構成)、初始化進程3個基本元素組成。當然,實際應用中還需要讓它有更多的功能且繼續保持小型化,如加上文件系統(可以在ROM,RAM,FLASH或Disk Onchip中)、TCP/IP網絡支持、存儲更多數據用的磁盤、提供設計精簡的應用程序等。
2.2.2 內核下載及編譯工具獲取


2.2.3 編譯內核的配置
編譯內核最好使用root權限,參考linux-2.6.20/Documentation下相關說明即可。

&nb[FS:PAGE]sp; 由于2.6.15-at91.patch.gz是標準的文本文件,所以這里直接用cat,這個命令后會出現一些patch文件信息,若出錯,則需要考慮patch版本是否匹配和linux源碼是否完整。然后修改Makefile將以下2行:

于是會出現一些配置信息,由于是AT91RM9200系統,所以用make at91rm9200dk-defconfig,用makehelp可以查看其他的make選項。
make menuconfig
在選擇System type->Atmel AT91 System-On-Chip后,檢查配置是否成功。
如果確認上述配置成功,就可在menuconfig里面修改CONFIG_CMDLINE中的啟動參數,把RAM盤大小從缺省值3 145 728 B(3 MB)修改成4 194 304 B(4 MB),注意這些參數是在啟動加載時用的,尤其是整合成的內核時啟動要用到,不可以隨便修改,本統最后的參數為:

經過編譯,可在linux-2.6.20/arch/arm/boot下面獲得zlmage。
2.3 BusyBox的交叉編譯
BusyBox最初是由Bruce Perens在1996年為Debian GNU/Linux安裝盤編寫的。其目標是在一張軟盤上創建一個可引導的GNU/Linux系統,這可以用作安裝盤和急救盤,是很多標準Linux?工具的一個單個可執行實現。BusyBox包含了一些簡單的工具,例如cat和echo等。由于很多標準Linux工具都可以共享很多共同的元素,當這些工具被合并到一個可執行程序中時,它們就可以共享這些相同的元素,這樣可以產生更小的可執行程序,這就為可引導的磁盤和使用Linux的嵌入式設備提供了更多功能。
2.3.1 下載BusyBox
BusyBox是按照GNU General Public License(GPL)許可證發行的。目前可使用的、穩定的版本BusyBox-1.3.0.bz2可以從網站http://www.husybox.net/下載。
2.3.2 配置編譯BusyBox

如果這里不選擇成靜態的二進制文件,那么在以后面做ramdisk時就需要把arm-linux下的一些動態庫復制到ramdisk的/lib里面去;不選擇Don’t use/usr,make install時busybox就不會安裝到本目錄的_install下,會覆蓋原來的usr/bin中內容。由于Linux是開放源代碼(Open Source)的,不存在黑箱技術,遍布全球的眾多Linux愛好者又是Linux開發者的強大技術支持,所以其他需要程序的讀者按照自己的需要選擇下載后編譯整合Linux內核和initrd成bootplmage,再下載bootpImage啟動Linux就可以了。
2.4 串口設計
因為Zigbee CC24[FS:PAGE]30為本設計的下位機,因此軟件設計主要集中在對ARM中央控制平臺的實現和Linux操作系統串口程序的實現上。因為目前Linux2.6x系列內核對串口有很好的支持性,所以在Linux對串口驅動上的實現就很簡單,也可極大的簡化后期的維護,有利于推廣。Li nux串口實現程序主要是對串口包括波特率和停止位設置。串口的設置主要是設置struct termios結構體的各成員值。在Linux下串口文件位于/dev下,一般在內核中串口1為/dev/ttySO,串口二為/dev/ttyS1,打開串口是通過標準的文件打開函數來實現的。當設置好后即可發送初始化的命令和等待接收命令。串口流程如圖2所示。

在應用層面的設計中還包括WEB的設計實現,遠程監控系統的實現,這里就不一一贅述。
3 結語
本文論述的遠程監控系統設計與以往的監控系統不同,不僅采用了高性能的處理器芯片大大提高了系統的性能、還融入了物聯網技術。使這種遠程監控能夠領域更加廣泛。并且在設計上充分考慮到了系統的可擴展性和兼容性問題,實現了本系統與其他系統的無縫連接,以滿足不同工作環境的需要。
相關文章
快速成功地連接物聯網產品的5個技巧
對于物聯網設備制造商來說,蜂窩物聯網是實現互聯網連接的最可靠和最容易獲得的方式之一。根據ABIResearch的數據,到2026年,全球蜂窩物聯網設備總數將達到57億。蜂窩物聯網的采用正在增長,因為它易于部署和擴展。您只需要一...
江西:到2023年底物聯網產業規模突破2000億元
5月19日,記者從江西省工信廳獲悉,為深入實施數字經濟做優做強“一號發展工程”,加快江西物聯網新型基礎設施建設,江西省工信廳、省委網信辦、省科技廳等9部門聯合出臺《江西省加快推進物聯網新型基礎設施建設實施方案》(以下簡稱《方案...
物聯網加速融入生活場景,智能家居設備能做什么?
智能設備和物聯網已經進入現代家庭生活的幾乎所有方面。從您的安全系統到冰箱,“智能”電器已成為新常態。但它們真的能讓你的家變得更好嗎?或者所有這些智能家電只是另一種時尚,從長遠來看,您最終會后悔花額外的錢?讓我們來看看在家里裝滿...
京東方:物聯網創新業務打開更多增長空間
從北京大興國際機場,到莫斯科城鐵列車,再到紐約商超門店,如今,物聯網創新解決方案已覆蓋全球眾多地區、涉及生活的方方面面,帶給人們全新的體驗。而這一改變的背后,正是京東方在物聯網領域取得的豐碩成果。夯實全球半導體顯示霸主地位...
5G如何改善物聯網部署的6個示例
隨著數字化轉型如火如荼地進行,連接的設備數量正在快速增長。IDC數據預測,到2025年,每分鐘連接的物聯網設備將達到152,200臺。雖然這將轉化為更多的數據,從而有更多的途徑來提高效率,但對于這種數據交換來說,一個強大的網絡...