白鐵成 孟洪兵
摘要:針對傳統倉儲管理效率低下的問題,設計了一種基于物聯網技術的農產品倉儲智能管理系統。給出了系統的總體硬件和軟件設計方案。以ARM Cortex-M0和CC2430構成系統的無線傳感器采集節點,實現倉庫溫度、濕度、光照度、物品刷卡信息的采集和發送,以ARM Cortex-A8、CC2430和GPRS模塊構成數據處理中心,負責接收環境參數和物品信息,激活數據庫線程對數據進行處理,構建嵌入式Web服務器,使用戶通過網絡利用PC機進行監控,當環境參數超過閾值時可通過GPRS短信息功能向用戶報警。實踐證明,該系統能夠增強庫房作業的準確性和快捷性、降低儲存成本、保障農產品倉庫物資的安全。
關鍵詞:物聯網; 嵌入式; 無線傳感器; 倉儲管理系統
中圖分類號:TP399 文獻標識碼:A 文章編號:0439-8114(2014)05-1173-05
隨著農產品倉庫大量的增加,倉庫物品越來越多,其管理難度也越來越大,倉庫的管理問題也就提上了日程,如何優化倉庫的日常管理成為了一個重要的研究課題[1]。傳統的人工倉庫作業模式和數據采集方式已難以滿足倉庫管理快速、準確的要求,嚴重影響了倉庫的管理效率[2,3]。近幾年,物聯網技術在環境監測和倉庫管理方面得到了廣泛的應用[4-6]。尤其是射頻識別(RFID)和無線傳感器技術的發展為倉庫管理帶來了一場巨大的變革,簡化繁雜的工作流程,有效改善供應鏈的效率和透明度[7],可以對倉庫環境監控、入庫、出庫、調撥、移庫移位、庫存盤點等各個作業環節的數據進行自動化的數據采集,保證倉庫管理各個環節數據輸入的速度和準確性,確保管理人員及時準確地掌握庫存的真實數據,合理保持和控制倉庫庫存,提高倉庫管理的工作效率[8,9]。
在上述背景下,設計一種基于ZigBee無線傳感器網絡技術、嵌入式技術和計算機技術的農產品倉儲管理系統,該系統能夠實時監控農產品倉庫的環境信息、進出庫信息,改善傳統的倉庫管理模式,增強庫房作業的準確性和快捷性、減少整個倉庫物資出入庫中由于管理不到位造成的非法出入庫、誤置、偷竊和庫存、出貨錯誤等損失,并最大限度地降低儲存成本、保障倉庫物資的安全。
1 系統總體設計
系統基于PC(可以是筆記本電腦、手機)、嵌入式設備A8及嵌入式設備M0等,依托在各項互聯網、物聯網、傳感器等技術的基礎上完成,以實現倉庫信息遠程監控和智能化管理,體現信息獲取的實時性和分布性,使用戶更方便地管理倉庫內的信息及其特殊情況。
1.1 系統架構
系統主要分為3個模塊:數據采集中心、前端數據處理中心和客戶端(PC、筆記本電腦和手機等)。系統總體架構見圖1。
1.2 功能描述
具體功能描述如下。
1)通過數據采集中心(定義為M0)實時采集環境參數,例如溫度、濕度、光感數據,進行物品刷卡,每個倉庫構成一個節點;
2)通過ZigBee模塊把采集到的環境參數或物品信息發送給A8設備;
3)由A8的線程負責接收環境參數或物品信息,激活數據庫線程對數據庫進行相應的處理,如果是環境參數則對環境參數進行判斷處理,超過設定值報警并進行控制調節;
4)構建嵌入式Web服務器,使用戶通過網絡利用PC機進行監控;
5)在Web頁面上設置控制按鈕,監控設備識別用戶指令并進行相應動作;
6)A8通過GPRS短信息功能向用戶報警。
2 系統實現
2.1 數據采集中心的實現
倉庫的環境信息包括溫度、濕度、光照、三軸信息和出入庫信息,M0在硬件上選擇以ARM架構的Cortex-M0微控制器,外接溫濕度傳感器DHT11、光照傳感器ISL29003、三軸加速傳感器MMA7455L、RFID射頻模塊CY14443-P、ZigBee無線通信模塊(CC2430)。軟件方面依靠Cortex-M0處理器強大的指令系統并配合Keil公司的Real View MDK裸機開發平臺(支持自動配置啟動代碼,并且實現了一些基本的裸機函數)實現采集部分的裸機程序。數據采集中心軟件實現流程圖如圖2。
數據采集中心(終端)對必須的環境信息(溫度、濕度、光照)進行采集,每5 s采集一次,一些輔助信息(電池電量、Axis_3三軸加速度)采集也同步進行,對以上數據采集后經過處理打包發送給數據處理中心(Cortex-A8),由信息處理中心產生相應的指令發回給終端(Cortex-M0)。對于基本信息除了供數據處理中心查看之外,還在終端上做了簡單的數據顯示、運行狀態顯示,考慮到數據處理中心與終端的交互安全性問題,正常情況下終端是由數據處理中心全部控制的,當可能的意外出現,數據處理中心無法控制終端進行環境異常報警時,終端30 s之后自動切換到自制模式,這時終端進行自我環境異常檢測,環境出現異常時打開報警器報警,如遇溫度過高時風扇設備會自行啟動,以調節溫度值,直至溫度正常時風扇設備才會停止。該管理系統另外加了一個Axis_3三軸加速度報警,當地震時,由于不平衡而觸發了Axis_3三軸加速度報警器報警。
2.2 數據處理中心實現
數據處理中心(定義為A8),硬件上選擇基于三星S5PC100片上系統(以ARM架構的cortex-A8為核),移植Linux嵌入式操作系統。該部分一方面要接收由數據采集中心發送過來的倉庫信息,判斷接收到的倉庫信息是環境信息還是貨物信息,并對不同類型的倉庫信息進行不同的處理。對于環境信息,數據處理中心需要做如下3個方面的處理:①檢測相關參數是否超標,若超標則應該向執行中心發送控制信息以便將環境參數調節到正常范圍,例如在溫度過高時開起電風扇同時報警器報警;②提供一種將這些環境信息反饋給系統使用者的機制;③將這些環境信息存放到數據庫中。對于貨物信息數據處理中心需要做如下3個方面的處理:①提供一種將這些貨物信息反饋給系統使用者的機制;②將這些貨物信息存放到數據庫中;③數據處理中心還要接收來自系統使用者的控制信息(用戶的控制信息主要是針對倉庫環境上下限值的控制),并將這些控制信息處理之后以一定的格式發送給數據采集中心和執行單元。另外作為優化,當數據處理中心檢測到有環境參數超標時可以讓其驅動GPRS模塊發送短信告知用戶。
數據處理中心軟件系統的架構包括3大部分:操作系統、系統服務和應用程序。操作系統移植Linux 2.635內核,系統服務處于操作系統和應用程序之間,系統服務架構在操作系統之上,利用操作系統提供的接口來實現一些應用程序需要使用的通用、核心的功能,并以接口的形式向上提供給應用程序供應用程序調用[10]。通過對需求的分析在這里需要使用的系統服務有Web服務器、WIFI WPA系統服務、SQlite3嵌入式數據庫管理系統、網絡視頻服務器。應用程序是針對系統需求所設計出的實現特定功能的程序,根據對系統需求的分析,這里所設計的應用程序實現的功能是對數據的處理。M0(采集單元)采用裸機程序開發,這里不再具體說明。其他程序(線程)均運行在A8設備上,它們并不是裸機程序而是運行在Linux操作系統之上的,這里從應用層的角度給出了各個線程之間的關系,軟件構架如圖3。
運行在A8設備上的線程簡介如下:
thread_client_request():處理消息隊列里請求的線程;
pthread_refresh():更新共享內存里的實時數據;
pthread_sqlite():數據庫線程;
pthread_transfer():接收M0數據線程;
pthread_analysis():M0數據分析線程;
pthread_uart_cmd():M0控制命令發送線程;
pthread_sms():短信模塊控制線程;
pthread_buzzer():A8報警器控制線程;
pthread_infrared():紅外(按鍵模擬)監測線程;
pthread_led():A8 LED模塊線程;
pthread_camera():攝像頭模塊控制線程。
2.3 客戶端應用程序實現
采用B/S模式的服務器架構將Web服務器安裝在作為數據處理中心的A8設備上,然后系統使用者通過瀏覽器訪問數據處理中心的Web服務器,在這種情況下經過數據處理中心處理后的數據就會被Web服務器的CGI進程讀取然后生成html文件,并被瀏覽訪問解析成網頁最終展現在系統使用者面前。下面介紹主要線程的實現流程。
2.3.1 軟件環境 系統采用ASP.NET 2.0和C#語言進行開發、服務器采用Windows 2003 Serber/IIS 6.0,數據庫管理系統采用SQL Sever 2005,在Visual Studio 2005集成開發環境下完成開發、集成和測試工作。
2.3.2 數據庫線程的實現 SQlite3 提供了一些C函數接口,可以用這些函數操作數據庫。通過使用這些接口,以char*類型傳遞一些標準SQL語句給SQlite函數,SQlite就可以操作數據庫。SQlite數據庫線程流程如圖4(左)所示,SQlite_task線程結構如圖4(右)所示。
主程序開始運行之后,各任務線程開始運行,其中就包括數據庫的pthread_sqlite。pthread_sqlite線程開始創建一個用于存儲對數據庫操作的鏈表,鏈表創建之后進入while循環。循環中,用pthread_cond_wait函數語句進行睡眠等待,等待其他線程的喚醒函數pthread_cond_signal發來的信號,喚醒之后再次進入一個while的循環語句,在這個循環中,進行對鏈表頭的判空工作。如果鏈表頭不為空,則讀取第一個節點的內容,把節點中的內容解析出來,把解析出來的內容作為參數傳到sqlite_task函數中,完成相應的數據庫操作并釋放節點空間,如此循環;如果鏈表頭為空,則直接跳出while循環,再回到外部循環的pthread_cond_wait函數進行睡眠等待,等待下一次被其他線程喚醒。
2.3.3 數據接收線程的實現 數據接收線程主要負責從前端數據處理中心接收倉庫信息,流程圖如圖5所示。
2.3.4 數據處理線程的實現 數據處理線程主要用來處理接收到的信息,因為接收到的信息是按一定規律進行編碼的,所以進行解碼后,激活數據庫線程,保存數據,激活內存刷新數據,更新實時環境信息,判斷數據是否越界,若越界則激活設備控制線程進行相應的控制。流程圖如圖6所示。
2.3.5 處理客戶請求線程的實現 主要用于接收CGI、QT以及別的線程檢測到異常發送設備控制請求的線程,流程圖如圖7所示。1L、2L、3L等代表不同的信息判定類型。
3 系統測試
3.1 采集中心與數據處理中心通信測試
啟動M0(采集中心)與A8(處理中心),系統上電,連接成功后如圖8所示。顯示器中顯示實時的溫度、濕度、光照和三軸等信息,表明M0與A8通信正常。
3.2 倉庫管理系統主界面
在PC機瀏覽器中輸入Web服務器地址(這里為:192.168.1.200)進入系統界面如圖9所示。經過測試,數據采集中心與數據處理中心的ZigBee模塊通信穩定。數據通過客戶端的系統主界面,可以對最高溫度、最低溫度、最高濕度、最低濕度、最高光照、最低光照等上下限信息進行設置;可查看倉庫貨物信息,貨物刷卡進倉時可隨時記錄進倉貨物信息;填寫正確IP、網關后點擊“開啟WIFI”,實現了數據采集中心與手機或筆記本電腦之間的通信;設置報警短信接收號碼、中心號碼,填寫要接收短信的中心號碼和手機號碼提交,在任意手機上可接收到報警信息;可以開啟或關閉A8上的LED燈及報警器;點擊倉庫主界面的“歷史照片”,可以查看以前拍照的一些倉庫照片等。
4 小結
針對傳統農產品倉庫管理效率低的問題,利用無線傳感器技術、嵌入式技術為核心的物聯網技術和計算機技術設計了一個智能農產品倉庫管理系統,實現倉庫環境信息的監控、物品信息的管理和各模塊之間的通信,系統可增強庫房作業的準確性和快捷性、減少整個倉庫物資出入庫中由于管理不到位造成的非法出入庫、誤置、偷竊和庫存、出貨錯誤等損失,并最大限度地降低儲存成本、保障倉庫物資的安全。測試表明,系統運行穩定、可靠性高,具有廣闊的應用前景。
參考文獻:
[1] 李學明,吳海燕,楊浩敏,等.基于物聯網技術的倉庫監控系統的設計與實現[J].數字通信,2013,40(2):19-23.
[2] 張仁彬,李玉民.基于物聯網技術倉儲管理系統研究[J].物流科技,2011(6):35-38.
[3] 唐昱佳.基于物聯網的能源管理系統設計[J].計算機應用與軟件,2011,28(12):161-164.
[4] 王希杰.基于物聯網技術的生態環境監測應用研究[J].傳感器與微系統,2011,30(7):149-152.
[5] 劉向舉,劉麗娜.基于物聯網的室內環境監測系統的研究[J].傳感器與微系統,2013,32(3):37-40.
[6] 張增林,韓文霆,陳永社,等.基于WEB的糧倉信息采集遠程監控系統[J].農機化研究,2013(6):167-169.
[7] GLIDDEN R,BOCKORICK C,COOPER S,et al. Design of ultra-low-cost UHF RFID tags for supply chain applications[J]. Communications Magazine,IEEE,2004,42(8):140-151.
[8] LIU H, BOLIC M, NAYAK A, et al. Taxonomy and challenges of the integration of RFID and wireless sensor networks[J].Network,IEEE,2008,22(6):26-35.
[9] NICULESCU D S. Communication paradigms for sensor networks[J]. Communications Magazine,IEEE,2005,43(3):116-122.
[10] 聶 濤.基于物聯網的數字化倉庫軟件架構研究與實現[D].合肥:合肥工業大學,2012.
數據處理中心軟件系統的架構包括3大部分:操作系統、系統服務和應用程序。操作系統移植Linux 2.635內核,系統服務處于操作系統和應用程序之間,系統服務架構在操作系統之上,利用操作系統提供的接口來實現一些應用程序需要使用的通用、核心的功能,并以接口的形式向上提供給應用程序供應用程序調用[10]。通過對需求的分析在這里需要使用的系統服務有Web服務器、WIFI WPA系統服務、SQlite3嵌入式數據庫管理系統、網絡視頻服務器。應用程序是針對系統需求所設計出的實現特定功能的程序,根據對系統需求的分析,這里所設計的應用程序實現的功能是對數據的處理。M0(采集單元)采用裸機程序開發,這里不再具體說明。其他程序(線程)均運行在A8設備上,它們并不是裸機程序而是運行在Linux操作系統之上的,這里從應用層的角度給出了各個線程之間的關系,軟件構架如圖3。
運行在A8設備上的線程簡介如下:
thread_client_request():處理消息隊列里請求的線程;
pthread_refresh():更新共享內存里的實時數據;
pthread_sqlite():數據庫線程;
pthread_transfer():接收M0數據線程;
pthread_analysis():M0數據分析線程;
pthread_uart_cmd():M0控制命令發送線程;
pthread_sms():短信模塊控制線程;
pthread_buzzer():A8報警器控制線程;
pthread_infrared():紅外(按鍵模擬)監測線程;
pthread_led():A8 LED模塊線程;
pthread_camera():攝像頭模塊控制線程。
2.3 客戶端應用程序實現
采用B/S模式的服務器架構將Web服務器安裝在作為數據處理中心的A8設備上,然后系統使用者通過瀏覽器訪問數據處理中心的Web服務器,在這種情況下經過數據處理中心處理后的數據就會被Web服務器的CGI進程讀取然后生成html文件,并被瀏覽訪問解析成網頁最終展現在系統使用者面前。下面介紹主要線程的實現流程。
2.3.1 軟件環境 系統采用ASP.NET 2.0和C#語言進行開發、服務器采用Windows 2003 Serber/IIS 6.0,數據庫管理系統采用SQL Sever 2005,在Visual Studio 2005集成開發環境下完成開發、集成和測試工作。
2.3.2 數據庫線程的實現 SQlite3 提供了一些C函數接口,可以用這些函數操作數據庫。通過使用這些接口,以char*類型傳遞一些標準SQL語句給SQlite函數,SQlite就可以操作數據庫。SQlite數據庫線程流程如圖4(左)所示,SQlite_task線程結構如圖4(右)所示。
主程序開始運行之后,各任務線程開始運行,其中就包括數據庫的pthread_sqlite。pthread_sqlite線程開始創建一個用于存儲對數據庫操作的鏈表,鏈表創建之后進入while循環。循環中,用pthread_cond_wait函數語句進行睡眠等待,等待其他線程的喚醒函數pthread_cond_signal發來的信號,喚醒之后再次進入一個while的循環語句,在這個循環中,進行對鏈表頭的判空工作。如果鏈表頭不為空,則讀取第一個節點的內容,把節點中的內容解析出來,把解析出來的內容作為參數傳到sqlite_task函數中,完成相應的數據庫操作并釋放節點空間,如此循環;如果鏈表頭為空,則直接跳出while循環,再回到外部循環的pthread_cond_wait函數進行睡眠等待,等待下一次被其他線程喚醒。
2.3.3 數據接收線程的實現 數據接收線程主要負責從前端數據處理中心接收倉庫信息,流程圖如圖5所示。
2.3.4 數據處理線程的實現 數據處理線程主要用來處理接收到的信息,因為接收到的信息是按一定規律進行編碼的,所以進行解碼后,激活數據庫線程,保存數據,激活內存刷新數據,更新實時環境信息,判斷數據是否越界,若越界則激活設備控制線程進行相應的控制。流程圖如圖6所示。
2.3.5 處理客戶請求線程的實現 主要用于接收CGI、QT以及別的線程檢測到異常發送設備控制請求的線程,流程圖如圖7所示。1L、2L、3L等代表不同的信息判定類型。
3 系統測試
3.1 采集中心與數據處理中心通信測試
啟動M0(采集中心)與A8(處理中心),系統上電,連接成功后如圖8所示。顯示器中顯示實時的溫度、濕度、光照和三軸等信息,表明M0與A8通信正常。
3.2 倉庫管理系統主界面
在PC機瀏覽器中輸入Web服務器地址(這里為:192.168.1.200)進入系統界面如圖9所示。經過測試,數據采集中心與數據處理中心的ZigBee模塊通信穩定。數據通過客戶端的系統主界面,可以對最高溫度、最低溫度、最高濕度、最低濕度、最高光照、最低光照等上下限信息進行設置;可查看倉庫貨物信息,貨物刷卡進倉時可隨時記錄進倉貨物信息;填寫正確IP、網關后點擊“開啟WIFI”,實現了數據采集中心與手機或筆記本電腦之間的通信;設置報警短信接收號碼、中心號碼,填寫要接收短信的中心號碼和手機號碼提交,在任意手機上可接收到報警信息;可以開啟或關閉A8上的LED燈及報警器;點擊倉庫主界面的“歷史照片”,可以查看以前拍照的一些倉庫照片等。
4 小結
針對傳統農產品倉庫管理效率低的問題,利用無線傳感器技術、嵌入式技術為核心的物聯網技術和計算機技術設計了一個智能農產品倉庫管理系統,實現倉庫環境信息的監控、物品信息的管理和各模塊之間的通信,系統可增強庫房作業的準確性和快捷性、減少整個倉庫物資出入庫中由于管理不到位造成的非法出入庫、誤置、偷竊和庫存、出貨錯誤等損失,并最大限度地降低儲存成本、保障倉庫物資的安全。測試表明,系統運行穩定、可靠性高,具有廣闊的應用前景。
參考文獻:
[1] 李學明,吳海燕,楊浩敏,等.基于物聯網技術的倉庫監控系統的設計與實現[J].數字通信,2013,40(2):19-23.
[2] 張仁彬,李玉民.基于物聯網技術倉儲管理系統研究[J].物流科技,2011(6):35-38.
[3] 唐昱佳.基于物聯網的能源管理系統設計[J].計算機應用與軟件,2011,28(12):161-164.
[4] 王希杰.基于物聯網技術的生態環境監測應用研究[J].傳感器與微系統,2011,30(7):149-152.
[5] 劉向舉,劉麗娜.基于物聯網的室內環境監測系統的研究[J].傳感器與微系統,2013,32(3):37-40.
[6] 張增林,韓文霆,陳永社,等.基于WEB的糧倉信息采集遠程監控系統[J].農機化研究,2013(6):167-169.
[7] GLIDDEN R,BOCKORICK C,COOPER S,et al. Design of ultra-low-cost UHF RFID tags for supply chain applications[J]. Communications Magazine,IEEE,2004,42(8):140-151.
[8] LIU H, BOLIC M, NAYAK A, et al. Taxonomy and challenges of the integration of RFID and wireless sensor networks[J].Network,IEEE,2008,22(6):26-35.
[9] NICULESCU D S. Communication paradigms for sensor networks[J]. Communications Magazine,IEEE,2005,43(3):116-122.
[10] 聶 濤.基于物聯網的數字化倉庫軟件架構研究與實現[D].合肥:合肥工業大學,2012.
數據處理中心軟件系統的架構包括3大部分:操作系統、系統服務和應用程序。操作系統移植Linux 2.635內核,系統服務處于操作系統和應用程序之間,系統服務架構在操作系統之上,利用操作系統提供的接口來實現一些應用程序需要使用的通用、核心的功能,并以接口的形式向上提供給應用程序供應用程序調用[10]。通過對需求的分析在這里需要使用的系統服務有Web服務器、WIFI WPA系統服務、SQlite3嵌入式數據庫管理系統、網絡視頻服務器。應用程序是針對系統需求所設計出的實現特定功能的程序,根據對系統需求的分析,這里所設計的應用程序實現的功能是對數據的處理。M0(采集單元)采用裸機程序開發,這里不再具體說明。其他程序(線程)均運行在A8設備上,它們并不是裸機程序而是運行在Linux操作系統之上的,這里從應用層的角度給出了各個線程之間的關系,軟件構架如圖3。
運行在A8設備上的線程簡介如下:
thread_client_request():處理消息隊列里請求的線程;
pthread_refresh():更新共享內存里的實時數據;
pthread_sqlite():數據庫線程;
pthread_transfer():接收M0數據線程;
pthread_analysis():M0數據分析線程;
pthread_uart_cmd():M0控制命令發送線程;
pthread_sms():短信模塊控制線程;
pthread_buzzer():A8報警器控制線程;
pthread_infrared():紅外(按鍵模擬)監測線程;
pthread_led():A8 LED模塊線程;
pthread_camera():攝像頭模塊控制線程。
2.3 客戶端應用程序實現
采用B/S模式的服務器架構將Web服務器安裝在作為數據處理中心的A8設備上,然后系統使用者通過瀏覽器訪問數據處理中心的Web服務器,在這種情況下經過數據處理中心處理后的數據就會被Web服務器的CGI進程讀取然后生成html文件,并被瀏覽訪問解析成網頁最終展現在系統使用者面前。下面介紹主要線程的實現流程。
2.3.1 軟件環境 系統采用ASP.NET 2.0和C#語言進行開發、服務器采用Windows 2003 Serber/IIS 6.0,數據庫管理系統采用SQL Sever 2005,在Visual Studio 2005集成開發環境下完成開發、集成和測試工作。
2.3.2 數據庫線程的實現 SQlite3 提供了一些C函數接口,可以用這些函數操作數據庫。通過使用這些接口,以char*類型傳遞一些標準SQL語句給SQlite函數,SQlite就可以操作數據庫。SQlite數據庫線程流程如圖4(左)所示,SQlite_task線程結構如圖4(右)所示。
主程序開始運行之后,各任務線程開始運行,其中就包括數據庫的pthread_sqlite。pthread_sqlite線程開始創建一個用于存儲對數據庫操作的鏈表,鏈表創建之后進入while循環。循環中,用pthread_cond_wait函數語句進行睡眠等待,等待其他線程的喚醒函數pthread_cond_signal發來的信號,喚醒之后再次進入一個while的循環語句,在這個循環中,進行對鏈表頭的判空工作。如果鏈表頭不為空,則讀取第一個節點的內容,把節點中的內容解析出來,把解析出來的內容作為參數傳到sqlite_task函數中,完成相應的數據庫操作并釋放節點空間,如此循環;如果鏈表頭為空,則直接跳出while循環,再回到外部循環的pthread_cond_wait函數進行睡眠等待,等待下一次被其他線程喚醒。
2.3.3 數據接收線程的實現 數據接收線程主要負責從前端數據處理中心接收倉庫信息,流程圖如圖5所示。
2.3.4 數據處理線程的實現 數據處理線程主要用來處理接收到的信息,因為接收到的信息是按一定規律進行編碼的,所以進行解碼后,激活數據庫線程,保存數據,激活內存刷新數據,更新實時環境信息,判斷數據是否越界,若越界則激活設備控制線程進行相應的控制。流程圖如圖6所示。
2.3.5 處理客戶請求線程的實現 主要用于接收CGI、QT以及別的線程檢測到異常發送設備控制請求的線程,流程圖如圖7所示。1L、2L、3L等代表不同的信息判定類型。
3 系統測試
3.1 采集中心與數據處理中心通信測試
啟動M0(采集中心)與A8(處理中心),系統上電,連接成功后如圖8所示。顯示器中顯示實時的溫度、濕度、光照和三軸等信息,表明M0與A8通信正常。
3.2 倉庫管理系統主界面
在PC機瀏覽器中輸入Web服務器地址(這里為:192.168.1.200)進入系統界面如圖9所示。經過測試,數據采集中心與數據處理中心的ZigBee模塊通信穩定。數據通過客戶端的系統主界面,可以對最高溫度、最低溫度、最高濕度、最低濕度、最高光照、最低光照等上下限信息進行設置;可查看倉庫貨物信息,貨物刷卡進倉時可隨時記錄進倉貨物信息;填寫正確IP、網關后點擊“開啟WIFI”,實現了數據采集中心與手機或筆記本電腦之間的通信;設置報警短信接收號碼、中心號碼,填寫要接收短信的中心號碼和手機號碼提交,在任意手機上可接收到報警信息;可以開啟或關閉A8上的LED燈及報警器;點擊倉庫主界面的“歷史照片”,可以查看以前拍照的一些倉庫照片等。
4 小結
針對傳統農產品倉庫管理效率低的問題,利用無線傳感器技術、嵌入式技術為核心的物聯網技術和計算機技術設計了一個智能農產品倉庫管理系統,實現倉庫環境信息的監控、物品信息的管理和各模塊之間的通信,系統可增強庫房作業的準確性和快捷性、減少整個倉庫物資出入庫中由于管理不到位造成的非法出入庫、誤置、偷竊和庫存、出貨錯誤等損失,并最大限度地降低儲存成本、保障倉庫物資的安全。測試表明,系統運行穩定、可靠性高,具有廣闊的應用前景。
參考文獻:
[1] 李學明,吳海燕,楊浩敏,等.基于物聯網技術的倉庫監控系統的設計與實現[J].數字通信,2013,40(2):19-23.
[2] 張仁彬,李玉民.基于物聯網技術倉儲管理系統研究[J].物流科技,2011(6):35-38.
[3] 唐昱佳.基于物聯網的能源管理系統設計[J].計算機應用與軟件,2011,28(12):161-164.
[4] 王希杰.基于物聯網技術的生態環境監測應用研究[J].傳感器與微系統,2011,30(7):149-152.
[5] 劉向舉,劉麗娜.基于物聯網的室內環境監測系統的研究[J].傳感器與微系統,2013,32(3):37-40.
[6] 張增林,韓文霆,陳永社,等.基于WEB的糧倉信息采集遠程監控系統[J].農機化研究,2013(6):167-169.
[7] GLIDDEN R,BOCKORICK C,COOPER S,et al. Design of ultra-low-cost UHF RFID tags for supply chain applications[J]. Communications Magazine,IEEE,2004,42(8):140-151.
[8] LIU H, BOLIC M, NAYAK A, et al. Taxonomy and challenges of the integration of RFID and wireless sensor networks[J].Network,IEEE,2008,22(6):26-35.
[9] NICULESCU D S. Communication paradigms for sensor networks[J]. Communications Magazine,IEEE,2005,43(3):116-122.
[10] 聶 濤.基于物聯網的數字化倉庫軟件架構研究與實現[D].合肥:合肥工業大學,2012.