亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于物聯(lián)網(wǎng)技術(shù)的農(nóng)產(chǎn)品倉儲管理系統(tǒng)設(shè)計

        2014-07-05 11:51:11白鐵成孟洪兵
        湖北農(nóng)業(yè)科學(xué) 2014年5期
        關(guān)鍵詞:無線傳感器物聯(lián)網(wǎng)嵌入式

        白鐵成 孟洪兵

        摘要:針對傳統(tǒng)倉儲管理效率低下的問題,設(shè)計了一種基于物聯(lián)網(wǎng)技術(shù)的農(nóng)產(chǎn)品倉儲智能管理系統(tǒng)。給出了系統(tǒng)的總體硬件和軟件設(shè)計方案。以ARM Cortex-M0和CC2430構(gòu)成系統(tǒng)的無線傳感器采集節(jié)點,實現(xiàn)倉庫溫度、濕度、光照度、物品刷卡信息的采集和發(fā)送,以ARM Cortex-A8、CC2430和GPRS模塊構(gòu)成數(shù)據(jù)處理中心,負責(zé)接收環(huán)境參數(shù)和物品信息,激活數(shù)據(jù)庫線程對數(shù)據(jù)進行處理,構(gòu)建嵌入式Web服務(wù)器,使用戶通過網(wǎng)絡(luò)利用PC機進行監(jiān)控,當環(huán)境參數(shù)超過閾值時可通過GPRS短信息功能向用戶報警。實踐證明,該系統(tǒng)能夠增強庫房作業(yè)的準確性和快捷性、降低儲存成本、保障農(nóng)產(chǎn)品倉庫物資的安全。

        關(guān)鍵詞:物聯(lián)網(wǎng); 嵌入式; 無線傳感器; 倉儲管理系統(tǒng)

        中圖分類號:TP399 文獻標識碼:A 文章編號:0439-8114(2014)05-1173-05

        隨著農(nóng)產(chǎn)品倉庫大量的增加,倉庫物品越來越多,其管理難度也越來越大,倉庫的管理問題也就提上了日程,如何優(yōu)化倉庫的日常管理成為了一個重要的研究課題[1]。傳統(tǒng)的人工倉庫作業(yè)模式和數(shù)據(jù)采集方式已難以滿足倉庫管理快速、準確的要求,嚴重影響了倉庫的管理效率[2,3]。近幾年,物聯(lián)網(wǎng)技術(shù)在環(huán)境監(jiān)測和倉庫管理方面得到了廣泛的應(yīng)用[4-6]。尤其是射頻識別(RFID)和無線傳感器技術(shù)的發(fā)展為倉庫管理帶來了一場巨大的變革,簡化繁雜的工作流程,有效改善供應(yīng)鏈的效率和透明度[7],可以對倉庫環(huán)境監(jiān)控、入庫、出庫、調(diào)撥、移庫移位、庫存盤點等各個作業(yè)環(huán)節(jié)的數(shù)據(jù)進行自動化的數(shù)據(jù)采集,保證倉庫管理各個環(huán)節(jié)數(shù)據(jù)輸入的速度和準確性,確保管理人員及時準確地掌握庫存的真實數(shù)據(jù),合理保持和控制倉庫庫存,提高倉庫管理的工作效率[8,9]。

        在上述背景下,設(shè)計一種基于ZigBee無線傳感器網(wǎng)絡(luò)技術(shù)、嵌入式技術(shù)和計算機技術(shù)的農(nóng)產(chǎn)品倉儲管理系統(tǒng),該系統(tǒng)能夠?qū)崟r監(jiān)控農(nóng)產(chǎn)品倉庫的環(huán)境信息、進出庫信息,改善傳統(tǒng)的倉庫管理模式,增強庫房作業(yè)的準確性和快捷性、減少整個倉庫物資出入庫中由于管理不到位造成的非法出入庫、誤置、偷竊和庫存、出貨錯誤等損失,并最大限度地降低儲存成本、保障倉庫物資的安全。

        1 系統(tǒng)總體設(shè)計

        系統(tǒng)基于PC(可以是筆記本電腦、手機)、嵌入式設(shè)備A8及嵌入式設(shè)備M0等,依托在各項互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、傳感器等技術(shù)的基礎(chǔ)上完成,以實現(xiàn)倉庫信息遠程監(jiān)控和智能化管理,體現(xiàn)信息獲取的實時性和分布性,使用戶更方便地管理倉庫內(nèi)的信息及其特殊情況。

        1.1 系統(tǒng)架構(gòu)

        系統(tǒng)主要分為3個模塊:數(shù)據(jù)采集中心、前端數(shù)據(jù)處理中心和客戶端(PC、筆記本電腦和手機等)。系統(tǒng)總體架構(gòu)見圖1。

        1.2 功能描述

        具體功能描述如下。

        1)通過數(shù)據(jù)采集中心(定義為M0)實時采集環(huán)境參數(shù),例如溫度、濕度、光感數(shù)據(jù),進行物品刷卡,每個倉庫構(gòu)成一個節(jié)點;

        2)通過ZigBee模塊把采集到的環(huán)境參數(shù)或物品信息發(fā)送給A8設(shè)備;

        3)由A8的線程負責(zé)接收環(huán)境參數(shù)或物品信息,激活數(shù)據(jù)庫線程對數(shù)據(jù)庫進行相應(yīng)的處理,如果是環(huán)境參數(shù)則對環(huán)境參數(shù)進行判斷處理,超過設(shè)定值報警并進行控制調(diào)節(jié);

        4)構(gòu)建嵌入式Web服務(wù)器,使用戶通過網(wǎng)絡(luò)利用PC機進行監(jiān)控;

        5)在Web頁面上設(shè)置控制按鈕,監(jiān)控設(shè)備識別用戶指令并進行相應(yīng)動作;

        6)A8通過GPRS短信息功能向用戶報警。

        2 系統(tǒng)實現(xiàn)

        2.1 數(shù)據(jù)采集中心的實現(xiàn)

        倉庫的環(huán)境信息包括溫度、濕度、光照、三軸信息和出入庫信息,M0在硬件上選擇以ARM架構(gòu)的Cortex-M0微控制器,外接溫濕度傳感器DHT11、光照傳感器ISL29003、三軸加速傳感器MMA7455L、RFID射頻模塊CY14443-P、ZigBee無線通信模塊(CC2430)。軟件方面依靠Cortex-M0處理器強大的指令系統(tǒng)并配合Keil公司的Real View MDK裸機開發(fā)平臺(支持自動配置啟動代碼,并且實現(xiàn)了一些基本的裸機函數(shù))實現(xiàn)采集部分的裸機程序。數(shù)據(jù)采集中心軟件實現(xiàn)流程圖如圖2。

        數(shù)據(jù)采集中心(終端)對必須的環(huán)境信息(溫度、濕度、光照)進行采集,每5 s采集一次,一些輔助信息(電池電量、Axis_3三軸加速度)采集也同步進行,對以上數(shù)據(jù)采集后經(jīng)過處理打包發(fā)送給數(shù)據(jù)處理中心(Cortex-A8),由信息處理中心產(chǎn)生相應(yīng)的指令發(fā)回給終端(Cortex-M0)。對于基本信息除了供數(shù)據(jù)處理中心查看之外,還在終端上做了簡單的數(shù)據(jù)顯示、運行狀態(tài)顯示,考慮到數(shù)據(jù)處理中心與終端的交互安全性問題,正常情況下終端是由數(shù)據(jù)處理中心全部控制的,當可能的意外出現(xiàn),數(shù)據(jù)處理中心無法控制終端進行環(huán)境異常報警時,終端30 s之后自動切換到自制模式,這時終端進行自我環(huán)境異常檢測,環(huán)境出現(xiàn)異常時打開報警器報警,如遇溫度過高時風(fēng)扇設(shè)備會自行啟動,以調(diào)節(jié)溫度值,直至溫度正常時風(fēng)扇設(shè)備才會停止。該管理系統(tǒng)另外加了一個Axis_3三軸加速度報警,當?shù)卣饡r,由于不平衡而觸發(fā)了Axis_3三軸加速度報警器報警。

        2.2 數(shù)據(jù)處理中心實現(xiàn)

        數(shù)據(jù)處理中心(定義為A8),硬件上選擇基于三星S5PC100片上系統(tǒng)(以ARM架構(gòu)的cortex-A8為核),移植Linux嵌入式操作系統(tǒng)。該部分一方面要接收由數(shù)據(jù)采集中心發(fā)送過來的倉庫信息,判斷接收到的倉庫信息是環(huán)境信息還是貨物信息,并對不同類型的倉庫信息進行不同的處理。對于環(huán)境信息,數(shù)據(jù)處理中心需要做如下3個方面的處理:①檢測相關(guān)參數(shù)是否超標,若超標則應(yīng)該向執(zhí)行中心發(fā)送控制信息以便將環(huán)境參數(shù)調(diào)節(jié)到正常范圍,例如在溫度過高時開起電風(fēng)扇同時報警器報警;②提供一種將這些環(huán)境信息反饋給系統(tǒng)使用者的機制;③將這些環(huán)境信息存放到數(shù)據(jù)庫中。對于貨物信息數(shù)據(jù)處理中心需要做如下3個方面的處理:①提供一種將這些貨物信息反饋給系統(tǒng)使用者的機制;②將這些貨物信息存放到數(shù)據(jù)庫中;③數(shù)據(jù)處理中心還要接收來自系統(tǒng)使用者的控制信息(用戶的控制信息主要是針對倉庫環(huán)境上下限值的控制),并將這些控制信息處理之后以一定的格式發(fā)送給數(shù)據(jù)采集中心和執(zhí)行單元。另外作為優(yōu)化,當數(shù)據(jù)處理中心檢測到有環(huán)境參數(shù)超標時可以讓其驅(qū)動GPRS模塊發(fā)送短信告知用戶。

        數(shù)據(jù)處理中心軟件系統(tǒng)的架構(gòu)包括3大部分:操作系統(tǒng)、系統(tǒng)服務(wù)和應(yīng)用程序。操作系統(tǒng)移植Linux 2.635內(nèi)核,系統(tǒng)服務(wù)處于操作系統(tǒng)和應(yīng)用程序之間,系統(tǒng)服務(wù)架構(gòu)在操作系統(tǒng)之上,利用操作系統(tǒng)提供的接口來實現(xiàn)一些應(yīng)用程序需要使用的通用、核心的功能,并以接口的形式向上提供給應(yīng)用程序供應(yīng)用程序調(diào)用[10]。通過對需求的分析在這里需要使用的系統(tǒng)服務(wù)有Web服務(wù)器、WIFI WPA系統(tǒng)服務(wù)、SQlite3嵌入式數(shù)據(jù)庫管理系統(tǒng)、網(wǎng)絡(luò)視頻服務(wù)器。應(yīng)用程序是針對系統(tǒng)需求所設(shè)計出的實現(xiàn)特定功能的程序,根據(jù)對系統(tǒng)需求的分析,這里所設(shè)計的應(yīng)用程序?qū)崿F(xiàn)的功能是對數(shù)據(jù)的處理。M0(采集單元)采用裸機程序開發(fā),這里不再具體說明。其他程序(線程)均運行在A8設(shè)備上,它們并不是裸機程序而是運行在Linux操作系統(tǒng)之上的,這里從應(yīng)用層的角度給出了各個線程之間的關(guān)系,軟件構(gòu)架如圖3。

        運行在A8設(shè)備上的線程簡介如下:

        thread_client_request():處理消息隊列里請求的線程;

        pthread_refresh():更新共享內(nèi)存里的實時數(shù)據(jù);

        pthread_sqlite():數(shù)據(jù)庫線程;

        pthread_transfer():接收M0數(shù)據(jù)線程;

        pthread_analysis():M0數(shù)據(jù)分析線程;

        pthread_uart_cmd():M0控制命令發(fā)送線程;

        pthread_sms():短信模塊控制線程;

        pthread_buzzer():A8報警器控制線程;

        pthread_infrared():紅外(按鍵模擬)監(jiān)測線程;

        pthread_led():A8 LED模塊線程;

        pthread_camera():攝像頭模塊控制線程。

        2.3 客戶端應(yīng)用程序?qū)崿F(xiàn)

        采用B/S模式的服務(wù)器架構(gòu)將Web服務(wù)器安裝在作為數(shù)據(jù)處理中心的A8設(shè)備上,然后系統(tǒng)使用者通過瀏覽器訪問數(shù)據(jù)處理中心的Web服務(wù)器,在這種情況下經(jīng)過數(shù)據(jù)處理中心處理后的數(shù)據(jù)就會被Web服務(wù)器的CGI進程讀取然后生成html文件,并被瀏覽訪問解析成網(wǎng)頁最終展現(xiàn)在系統(tǒng)使用者面前。下面介紹主要線程的實現(xiàn)流程。

        2.3.1 軟件環(huán)境 系統(tǒng)采用ASP.NET 2.0和C#語言進行開發(fā)、服務(wù)器采用Windows 2003 Serber/IIS 6.0,數(shù)據(jù)庫管理系統(tǒng)采用SQL Sever 2005,在Visual Studio 2005集成開發(fā)環(huán)境下完成開發(fā)、集成和測試工作。

        2.3.2 數(shù)據(jù)庫線程的實現(xiàn) SQlite3 提供了一些C函數(shù)接口,可以用這些函數(shù)操作數(shù)據(jù)庫。通過使用這些接口,以char*類型傳遞一些標準SQL語句給SQlite函數(shù),SQlite就可以操作數(shù)據(jù)庫。SQlite數(shù)據(jù)庫線程流程如圖4(左)所示,SQlite_task線程結(jié)構(gòu)如圖4(右)所示。

        主程序開始運行之后,各任務(wù)線程開始運行,其中就包括數(shù)據(jù)庫的pthread_sqlite。pthread_sqlite線程開始創(chuàng)建一個用于存儲對數(shù)據(jù)庫操作的鏈表,鏈表創(chuàng)建之后進入while循環(huán)。循環(huán)中,用pthread_cond_wait函數(shù)語句進行睡眠等待,等待其他線程的喚醒函數(shù)pthread_cond_signal發(fā)來的信號,喚醒之后再次進入一個while的循環(huán)語句,在這個循環(huán)中,進行對鏈表頭的判空工作。如果鏈表頭不為空,則讀取第一個節(jié)點的內(nèi)容,把節(jié)點中的內(nèi)容解析出來,把解析出來的內(nèi)容作為參數(shù)傳到sqlite_task函數(shù)中,完成相應(yīng)的數(shù)據(jù)庫操作并釋放節(jié)點空間,如此循環(huán);如果鏈表頭為空,則直接跳出while循環(huán),再回到外部循環(huán)的pthread_cond_wait函數(shù)進行睡眠等待,等待下一次被其他線程喚醒。

        2.3.3 數(shù)據(jù)接收線程的實現(xiàn) 數(shù)據(jù)接收線程主要負責(zé)從前端數(shù)據(jù)處理中心接收倉庫信息,流程圖如圖5所示。

        2.3.4 數(shù)據(jù)處理線程的實現(xiàn) 數(shù)據(jù)處理線程主要用來處理接收到的信息,因為接收到的信息是按一定規(guī)律進行編碼的,所以進行解碼后,激活數(shù)據(jù)庫線程,保存數(shù)據(jù),激活內(nèi)存刷新數(shù)據(jù),更新實時環(huán)境信息,判斷數(shù)據(jù)是否越界,若越界則激活設(shè)備控制線程進行相應(yīng)的控制。流程圖如圖6所示。

        2.3.5 處理客戶請求線程的實現(xiàn) 主要用于接收CGI、QT以及別的線程檢測到異常發(fā)送設(shè)備控制請求的線程,流程圖如圖7所示。1L、2L、3L等代表不同的信息判定類型。

        3 系統(tǒng)測試

        3.1 采集中心與數(shù)據(jù)處理中心通信測試

        啟動M0(采集中心)與A8(處理中心),系統(tǒng)上電,連接成功后如圖8所示。顯示器中顯示實時的溫度、濕度、光照和三軸等信息,表明M0與A8通信正常。

        3.2 倉庫管理系統(tǒng)主界面

        在PC機瀏覽器中輸入Web服務(wù)器地址(這里為:192.168.1.200)進入系統(tǒng)界面如圖9所示。經(jīng)過測試,數(shù)據(jù)采集中心與數(shù)據(jù)處理中心的ZigBee模塊通信穩(wěn)定。數(shù)據(jù)通過客戶端的系統(tǒng)主界面,可以對最高溫度、最低溫度、最高濕度、最低濕度、最高光照、最低光照等上下限信息進行設(shè)置;可查看倉庫貨物信息,貨物刷卡進倉時可隨時記錄進倉貨物信息;填寫正確IP、網(wǎng)關(guān)后點擊“開啟WIFI”,實現(xiàn)了數(shù)據(jù)采集中心與手機或筆記本電腦之間的通信;設(shè)置報警短信接收號碼、中心號碼,填寫要接收短信的中心號碼和手機號碼提交,在任意手機上可接收到報警信息;可以開啟或關(guān)閉A8上的LED燈及報警器;點擊倉庫主界面的“歷史照片”,可以查看以前拍照的一些倉庫照片等。

        4 小結(jié)

        針對傳統(tǒng)農(nóng)產(chǎn)品倉庫管理效率低的問題,利用無線傳感器技術(shù)、嵌入式技術(shù)為核心的物聯(lián)網(wǎng)技術(shù)和計算機技術(shù)設(shè)計了一個智能農(nóng)產(chǎn)品倉庫管理系統(tǒng),實現(xiàn)倉庫環(huán)境信息的監(jiān)控、物品信息的管理和各模塊之間的通信,系統(tǒng)可增強庫房作業(yè)的準確性和快捷性、減少整個倉庫物資出入庫中由于管理不到位造成的非法出入庫、誤置、偷竊和庫存、出貨錯誤等損失,并最大限度地降低儲存成本、保障倉庫物資的安全。測試表明,系統(tǒng)運行穩(wěn)定、可靠性高,具有廣闊的應(yīng)用前景。

        參考文獻:

        [1] 李學(xué)明,吳海燕,楊浩敏,等.基于物聯(lián)網(wǎng)技術(shù)的倉庫監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].數(shù)字通信,2013,40(2):19-23.

        [2] 張仁彬,李玉民.基于物聯(lián)網(wǎng)技術(shù)倉儲管理系統(tǒng)研究[J].物流科技,2011(6):35-38.

        [3] 唐昱佳.基于物聯(lián)網(wǎng)的能源管理系統(tǒng)設(shè)計[J].計算機應(yīng)用與軟件,2011,28(12):161-164.

        [4] 王希杰.基于物聯(lián)網(wǎng)技術(shù)的生態(tài)環(huán)境監(jiān)測應(yīng)用研究[J].傳感器與微系統(tǒng),2011,30(7):149-152.

        [5] 劉向舉,劉麗娜.基于物聯(lián)網(wǎng)的室內(nèi)環(huán)境監(jiān)測系統(tǒng)的研究[J].傳感器與微系統(tǒng),2013,32(3):37-40.

        [6] 張增林,韓文霆,陳永社,等.基于WEB的糧倉信息采集遠程監(jiān)控系統(tǒng)[J].農(nóng)機化研究,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] 聶 濤.基于物聯(lián)網(wǎng)的數(shù)字化倉庫軟件架構(gòu)研究與實現(xiàn)[D].合肥:合肥工業(yè)大學(xué),2012.

        數(shù)據(jù)處理中心軟件系統(tǒng)的架構(gòu)包括3大部分:操作系統(tǒng)、系統(tǒng)服務(wù)和應(yīng)用程序。操作系統(tǒng)移植Linux 2.635內(nèi)核,系統(tǒng)服務(wù)處于操作系統(tǒng)和應(yīng)用程序之間,系統(tǒng)服務(wù)架構(gòu)在操作系統(tǒng)之上,利用操作系統(tǒng)提供的接口來實現(xiàn)一些應(yīng)用程序需要使用的通用、核心的功能,并以接口的形式向上提供給應(yīng)用程序供應(yīng)用程序調(diào)用[10]。通過對需求的分析在這里需要使用的系統(tǒng)服務(wù)有Web服務(wù)器、WIFI WPA系統(tǒng)服務(wù)、SQlite3嵌入式數(shù)據(jù)庫管理系統(tǒng)、網(wǎng)絡(luò)視頻服務(wù)器。應(yīng)用程序是針對系統(tǒng)需求所設(shè)計出的實現(xiàn)特定功能的程序,根據(jù)對系統(tǒng)需求的分析,這里所設(shè)計的應(yīng)用程序?qū)崿F(xiàn)的功能是對數(shù)據(jù)的處理。M0(采集單元)采用裸機程序開發(fā),這里不再具體說明。其他程序(線程)均運行在A8設(shè)備上,它們并不是裸機程序而是運行在Linux操作系統(tǒng)之上的,這里從應(yīng)用層的角度給出了各個線程之間的關(guān)系,軟件構(gòu)架如圖3。

        運行在A8設(shè)備上的線程簡介如下:

        thread_client_request():處理消息隊列里請求的線程;

        pthread_refresh():更新共享內(nèi)存里的實時數(shù)據(jù);

        pthread_sqlite():數(shù)據(jù)庫線程;

        pthread_transfer():接收M0數(shù)據(jù)線程;

        pthread_analysis():M0數(shù)據(jù)分析線程;

        pthread_uart_cmd():M0控制命令發(fā)送線程;

        pthread_sms():短信模塊控制線程;

        pthread_buzzer():A8報警器控制線程;

        pthread_infrared():紅外(按鍵模擬)監(jiān)測線程;

        pthread_led():A8 LED模塊線程;

        pthread_camera():攝像頭模塊控制線程。

        2.3 客戶端應(yīng)用程序?qū)崿F(xiàn)

        采用B/S模式的服務(wù)器架構(gòu)將Web服務(wù)器安裝在作為數(shù)據(jù)處理中心的A8設(shè)備上,然后系統(tǒng)使用者通過瀏覽器訪問數(shù)據(jù)處理中心的Web服務(wù)器,在這種情況下經(jīng)過數(shù)據(jù)處理中心處理后的數(shù)據(jù)就會被Web服務(wù)器的CGI進程讀取然后生成html文件,并被瀏覽訪問解析成網(wǎng)頁最終展現(xiàn)在系統(tǒng)使用者面前。下面介紹主要線程的實現(xiàn)流程。

        2.3.1 軟件環(huán)境 系統(tǒng)采用ASP.NET 2.0和C#語言進行開發(fā)、服務(wù)器采用Windows 2003 Serber/IIS 6.0,數(shù)據(jù)庫管理系統(tǒng)采用SQL Sever 2005,在Visual Studio 2005集成開發(fā)環(huán)境下完成開發(fā)、集成和測試工作。

        2.3.2 數(shù)據(jù)庫線程的實現(xiàn) SQlite3 提供了一些C函數(shù)接口,可以用這些函數(shù)操作數(shù)據(jù)庫。通過使用這些接口,以char*類型傳遞一些標準SQL語句給SQlite函數(shù),SQlite就可以操作數(shù)據(jù)庫。SQlite數(shù)據(jù)庫線程流程如圖4(左)所示,SQlite_task線程結(jié)構(gòu)如圖4(右)所示。

        主程序開始運行之后,各任務(wù)線程開始運行,其中就包括數(shù)據(jù)庫的pthread_sqlite。pthread_sqlite線程開始創(chuàng)建一個用于存儲對數(shù)據(jù)庫操作的鏈表,鏈表創(chuàng)建之后進入while循環(huán)。循環(huán)中,用pthread_cond_wait函數(shù)語句進行睡眠等待,等待其他線程的喚醒函數(shù)pthread_cond_signal發(fā)來的信號,喚醒之后再次進入一個while的循環(huán)語句,在這個循環(huán)中,進行對鏈表頭的判空工作。如果鏈表頭不為空,則讀取第一個節(jié)點的內(nèi)容,把節(jié)點中的內(nèi)容解析出來,把解析出來的內(nèi)容作為參數(shù)傳到sqlite_task函數(shù)中,完成相應(yīng)的數(shù)據(jù)庫操作并釋放節(jié)點空間,如此循環(huán);如果鏈表頭為空,則直接跳出while循環(huán),再回到外部循環(huán)的pthread_cond_wait函數(shù)進行睡眠等待,等待下一次被其他線程喚醒。

        2.3.3 數(shù)據(jù)接收線程的實現(xiàn) 數(shù)據(jù)接收線程主要負責(zé)從前端數(shù)據(jù)處理中心接收倉庫信息,流程圖如圖5所示。

        2.3.4 數(shù)據(jù)處理線程的實現(xiàn) 數(shù)據(jù)處理線程主要用來處理接收到的信息,因為接收到的信息是按一定規(guī)律進行編碼的,所以進行解碼后,激活數(shù)據(jù)庫線程,保存數(shù)據(jù),激活內(nèi)存刷新數(shù)據(jù),更新實時環(huán)境信息,判斷數(shù)據(jù)是否越界,若越界則激活設(shè)備控制線程進行相應(yīng)的控制。流程圖如圖6所示。

        2.3.5 處理客戶請求線程的實現(xiàn) 主要用于接收CGI、QT以及別的線程檢測到異常發(fā)送設(shè)備控制請求的線程,流程圖如圖7所示。1L、2L、3L等代表不同的信息判定類型。

        3 系統(tǒng)測試

        3.1 采集中心與數(shù)據(jù)處理中心通信測試

        啟動M0(采集中心)與A8(處理中心),系統(tǒng)上電,連接成功后如圖8所示。顯示器中顯示實時的溫度、濕度、光照和三軸等信息,表明M0與A8通信正常。

        3.2 倉庫管理系統(tǒng)主界面

        在PC機瀏覽器中輸入Web服務(wù)器地址(這里為:192.168.1.200)進入系統(tǒng)界面如圖9所示。經(jīng)過測試,數(shù)據(jù)采集中心與數(shù)據(jù)處理中心的ZigBee模塊通信穩(wěn)定。數(shù)據(jù)通過客戶端的系統(tǒng)主界面,可以對最高溫度、最低溫度、最高濕度、最低濕度、最高光照、最低光照等上下限信息進行設(shè)置;可查看倉庫貨物信息,貨物刷卡進倉時可隨時記錄進倉貨物信息;填寫正確IP、網(wǎng)關(guān)后點擊“開啟WIFI”,實現(xiàn)了數(shù)據(jù)采集中心與手機或筆記本電腦之間的通信;設(shè)置報警短信接收號碼、中心號碼,填寫要接收短信的中心號碼和手機號碼提交,在任意手機上可接收到報警信息;可以開啟或關(guān)閉A8上的LED燈及報警器;點擊倉庫主界面的“歷史照片”,可以查看以前拍照的一些倉庫照片等。

        4 小結(jié)

        針對傳統(tǒng)農(nóng)產(chǎn)品倉庫管理效率低的問題,利用無線傳感器技術(shù)、嵌入式技術(shù)為核心的物聯(lián)網(wǎng)技術(shù)和計算機技術(shù)設(shè)計了一個智能農(nóng)產(chǎn)品倉庫管理系統(tǒng),實現(xiàn)倉庫環(huán)境信息的監(jiān)控、物品信息的管理和各模塊之間的通信,系統(tǒng)可增強庫房作業(yè)的準確性和快捷性、減少整個倉庫物資出入庫中由于管理不到位造成的非法出入庫、誤置、偷竊和庫存、出貨錯誤等損失,并最大限度地降低儲存成本、保障倉庫物資的安全。測試表明,系統(tǒng)運行穩(wěn)定、可靠性高,具有廣闊的應(yīng)用前景。

        參考文獻:

        [1] 李學(xué)明,吳海燕,楊浩敏,等.基于物聯(lián)網(wǎng)技術(shù)的倉庫監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].數(shù)字通信,2013,40(2):19-23.

        [2] 張仁彬,李玉民.基于物聯(lián)網(wǎng)技術(shù)倉儲管理系統(tǒng)研究[J].物流科技,2011(6):35-38.

        [3] 唐昱佳.基于物聯(lián)網(wǎng)的能源管理系統(tǒng)設(shè)計[J].計算機應(yīng)用與軟件,2011,28(12):161-164.

        [4] 王希杰.基于物聯(lián)網(wǎng)技術(shù)的生態(tài)環(huán)境監(jiān)測應(yīng)用研究[J].傳感器與微系統(tǒng),2011,30(7):149-152.

        [5] 劉向舉,劉麗娜.基于物聯(lián)網(wǎng)的室內(nèi)環(huán)境監(jiān)測系統(tǒng)的研究[J].傳感器與微系統(tǒng),2013,32(3):37-40.

        [6] 張增林,韓文霆,陳永社,等.基于WEB的糧倉信息采集遠程監(jiān)控系統(tǒng)[J].農(nóng)機化研究,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] 聶 濤.基于物聯(lián)網(wǎng)的數(shù)字化倉庫軟件架構(gòu)研究與實現(xiàn)[D].合肥:合肥工業(yè)大學(xué),2012.

        數(shù)據(jù)處理中心軟件系統(tǒng)的架構(gòu)包括3大部分:操作系統(tǒng)、系統(tǒng)服務(wù)和應(yīng)用程序。操作系統(tǒng)移植Linux 2.635內(nèi)核,系統(tǒng)服務(wù)處于操作系統(tǒng)和應(yīng)用程序之間,系統(tǒng)服務(wù)架構(gòu)在操作系統(tǒng)之上,利用操作系統(tǒng)提供的接口來實現(xiàn)一些應(yīng)用程序需要使用的通用、核心的功能,并以接口的形式向上提供給應(yīng)用程序供應(yīng)用程序調(diào)用[10]。通過對需求的分析在這里需要使用的系統(tǒng)服務(wù)有Web服務(wù)器、WIFI WPA系統(tǒng)服務(wù)、SQlite3嵌入式數(shù)據(jù)庫管理系統(tǒng)、網(wǎng)絡(luò)視頻服務(wù)器。應(yīng)用程序是針對系統(tǒng)需求所設(shè)計出的實現(xiàn)特定功能的程序,根據(jù)對系統(tǒng)需求的分析,這里所設(shè)計的應(yīng)用程序?qū)崿F(xiàn)的功能是對數(shù)據(jù)的處理。M0(采集單元)采用裸機程序開發(fā),這里不再具體說明。其他程序(線程)均運行在A8設(shè)備上,它們并不是裸機程序而是運行在Linux操作系統(tǒng)之上的,這里從應(yīng)用層的角度給出了各個線程之間的關(guān)系,軟件構(gòu)架如圖3。

        運行在A8設(shè)備上的線程簡介如下:

        thread_client_request():處理消息隊列里請求的線程;

        pthread_refresh():更新共享內(nèi)存里的實時數(shù)據(jù);

        pthread_sqlite():數(shù)據(jù)庫線程;

        pthread_transfer():接收M0數(shù)據(jù)線程;

        pthread_analysis():M0數(shù)據(jù)分析線程;

        pthread_uart_cmd():M0控制命令發(fā)送線程;

        pthread_sms():短信模塊控制線程;

        pthread_buzzer():A8報警器控制線程;

        pthread_infrared():紅外(按鍵模擬)監(jiān)測線程;

        pthread_led():A8 LED模塊線程;

        pthread_camera():攝像頭模塊控制線程。

        2.3 客戶端應(yīng)用程序?qū)崿F(xiàn)

        采用B/S模式的服務(wù)器架構(gòu)將Web服務(wù)器安裝在作為數(shù)據(jù)處理中心的A8設(shè)備上,然后系統(tǒng)使用者通過瀏覽器訪問數(shù)據(jù)處理中心的Web服務(wù)器,在這種情況下經(jīng)過數(shù)據(jù)處理中心處理后的數(shù)據(jù)就會被Web服務(wù)器的CGI進程讀取然后生成html文件,并被瀏覽訪問解析成網(wǎng)頁最終展現(xiàn)在系統(tǒng)使用者面前。下面介紹主要線程的實現(xiàn)流程。

        2.3.1 軟件環(huán)境 系統(tǒng)采用ASP.NET 2.0和C#語言進行開發(fā)、服務(wù)器采用Windows 2003 Serber/IIS 6.0,數(shù)據(jù)庫管理系統(tǒng)采用SQL Sever 2005,在Visual Studio 2005集成開發(fā)環(huán)境下完成開發(fā)、集成和測試工作。

        2.3.2 數(shù)據(jù)庫線程的實現(xiàn) SQlite3 提供了一些C函數(shù)接口,可以用這些函數(shù)操作數(shù)據(jù)庫。通過使用這些接口,以char*類型傳遞一些標準SQL語句給SQlite函數(shù),SQlite就可以操作數(shù)據(jù)庫。SQlite數(shù)據(jù)庫線程流程如圖4(左)所示,SQlite_task線程結(jié)構(gòu)如圖4(右)所示。

        主程序開始運行之后,各任務(wù)線程開始運行,其中就包括數(shù)據(jù)庫的pthread_sqlite。pthread_sqlite線程開始創(chuàng)建一個用于存儲對數(shù)據(jù)庫操作的鏈表,鏈表創(chuàng)建之后進入while循環(huán)。循環(huán)中,用pthread_cond_wait函數(shù)語句進行睡眠等待,等待其他線程的喚醒函數(shù)pthread_cond_signal發(fā)來的信號,喚醒之后再次進入一個while的循環(huán)語句,在這個循環(huán)中,進行對鏈表頭的判空工作。如果鏈表頭不為空,則讀取第一個節(jié)點的內(nèi)容,把節(jié)點中的內(nèi)容解析出來,把解析出來的內(nèi)容作為參數(shù)傳到sqlite_task函數(shù)中,完成相應(yīng)的數(shù)據(jù)庫操作并釋放節(jié)點空間,如此循環(huán);如果鏈表頭為空,則直接跳出while循環(huán),再回到外部循環(huán)的pthread_cond_wait函數(shù)進行睡眠等待,等待下一次被其他線程喚醒。

        2.3.3 數(shù)據(jù)接收線程的實現(xiàn) 數(shù)據(jù)接收線程主要負責(zé)從前端數(shù)據(jù)處理中心接收倉庫信息,流程圖如圖5所示。

        2.3.4 數(shù)據(jù)處理線程的實現(xiàn) 數(shù)據(jù)處理線程主要用來處理接收到的信息,因為接收到的信息是按一定規(guī)律進行編碼的,所以進行解碼后,激活數(shù)據(jù)庫線程,保存數(shù)據(jù),激活內(nèi)存刷新數(shù)據(jù),更新實時環(huán)境信息,判斷數(shù)據(jù)是否越界,若越界則激活設(shè)備控制線程進行相應(yīng)的控制。流程圖如圖6所示。

        2.3.5 處理客戶請求線程的實現(xiàn) 主要用于接收CGI、QT以及別的線程檢測到異常發(fā)送設(shè)備控制請求的線程,流程圖如圖7所示。1L、2L、3L等代表不同的信息判定類型。

        3 系統(tǒng)測試

        3.1 采集中心與數(shù)據(jù)處理中心通信測試

        啟動M0(采集中心)與A8(處理中心),系統(tǒng)上電,連接成功后如圖8所示。顯示器中顯示實時的溫度、濕度、光照和三軸等信息,表明M0與A8通信正常。

        3.2 倉庫管理系統(tǒng)主界面

        在PC機瀏覽器中輸入Web服務(wù)器地址(這里為:192.168.1.200)進入系統(tǒng)界面如圖9所示。經(jīng)過測試,數(shù)據(jù)采集中心與數(shù)據(jù)處理中心的ZigBee模塊通信穩(wěn)定。數(shù)據(jù)通過客戶端的系統(tǒng)主界面,可以對最高溫度、最低溫度、最高濕度、最低濕度、最高光照、最低光照等上下限信息進行設(shè)置;可查看倉庫貨物信息,貨物刷卡進倉時可隨時記錄進倉貨物信息;填寫正確IP、網(wǎng)關(guān)后點擊“開啟WIFI”,實現(xiàn)了數(shù)據(jù)采集中心與手機或筆記本電腦之間的通信;設(shè)置報警短信接收號碼、中心號碼,填寫要接收短信的中心號碼和手機號碼提交,在任意手機上可接收到報警信息;可以開啟或關(guān)閉A8上的LED燈及報警器;點擊倉庫主界面的“歷史照片”,可以查看以前拍照的一些倉庫照片等。

        4 小結(jié)

        針對傳統(tǒng)農(nóng)產(chǎn)品倉庫管理效率低的問題,利用無線傳感器技術(shù)、嵌入式技術(shù)為核心的物聯(lián)網(wǎng)技術(shù)和計算機技術(shù)設(shè)計了一個智能農(nóng)產(chǎn)品倉庫管理系統(tǒng),實現(xiàn)倉庫環(huán)境信息的監(jiān)控、物品信息的管理和各模塊之間的通信,系統(tǒng)可增強庫房作業(yè)的準確性和快捷性、減少整個倉庫物資出入庫中由于管理不到位造成的非法出入庫、誤置、偷竊和庫存、出貨錯誤等損失,并最大限度地降低儲存成本、保障倉庫物資的安全。測試表明,系統(tǒng)運行穩(wěn)定、可靠性高,具有廣闊的應(yīng)用前景。

        參考文獻:

        [1] 李學(xué)明,吳海燕,楊浩敏,等.基于物聯(lián)網(wǎng)技術(shù)的倉庫監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].數(shù)字通信,2013,40(2):19-23.

        [2] 張仁彬,李玉民.基于物聯(lián)網(wǎng)技術(shù)倉儲管理系統(tǒng)研究[J].物流科技,2011(6):35-38.

        [3] 唐昱佳.基于物聯(lián)網(wǎng)的能源管理系統(tǒng)設(shè)計[J].計算機應(yīng)用與軟件,2011,28(12):161-164.

        [4] 王希杰.基于物聯(lián)網(wǎng)技術(shù)的生態(tài)環(huán)境監(jiān)測應(yīng)用研究[J].傳感器與微系統(tǒng),2011,30(7):149-152.

        [5] 劉向舉,劉麗娜.基于物聯(lián)網(wǎng)的室內(nèi)環(huán)境監(jiān)測系統(tǒng)的研究[J].傳感器與微系統(tǒng),2013,32(3):37-40.

        [6] 張增林,韓文霆,陳永社,等.基于WEB的糧倉信息采集遠程監(jiān)控系統(tǒng)[J].農(nóng)機化研究,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] 聶 濤.基于物聯(lián)網(wǎng)的數(shù)字化倉庫軟件架構(gòu)研究與實現(xiàn)[D].合肥:合肥工業(yè)大學(xué),2012.

        猜你喜歡
        無線傳感器物聯(lián)網(wǎng)嵌入式
        搭建基于Qt的嵌入式開發(fā)平臺
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        無線傳感器網(wǎng)絡(luò)故障檢測研究
        東方教育(2016年9期)2017-01-17 00:08:40
        能量均衡的無線傳感器網(wǎng)絡(luò)路由算法的研究
        基于物聯(lián)網(wǎng)的井場一體化應(yīng)用
        基于物聯(lián)網(wǎng)的煤礦智能倉儲與物流運輸管理系統(tǒng)設(shè)計與應(yīng)用
        基于高職院校物聯(lián)網(wǎng)技術(shù)應(yīng)用人才培養(yǎng)的思考分析
        中國或成“物聯(lián)網(wǎng)”領(lǐng)軍者
        無線環(huán)境監(jiān)測系統(tǒng)的設(shè)計與開發(fā)
        科技視界(2016年4期)2016-02-22 09:39:35
        Altera加入嵌入式視覺聯(lián)盟
        青青草成人在线免费视频| 99国语激情对白在线观看| 伊伊人成亚洲综合人网7777| 最新亚洲av日韩av二区| 久久精品国产亚洲AV高清特级| 亚洲两性视频一三区| 蜜桃在线播放免费一区二区三区| 中文亚洲AV片在线观看无码| 性色av成人精品久久| 国产三级三级精品久久| 一区二区三区四区午夜视频在线| 国产三级av大全在线爽| 邻居美少妇张开腿让我爽了一夜| 精品国产av一区二区三区四区| 亚洲熟女综合色一区二区三区| 天堂网www资源在线| 痉挛高潮喷水av无码免费| 欧美疯狂做受xxxx高潮小说| www插插插无码视频网站| 男人j进女人p免费视频| 91精品91久久久久久| 扒下语文老师的丝袜美腿| 亚洲中文字幕乱码在线视频| 久久一区二区av毛片国产| 蜜桃tv在线免费观看| 国产一区二区三区久久精品| 亚洲精品久久久久avwww潮水| 天天综合网天天综合色| 日日躁夜夜躁狠狠躁超碰97| 九色91精品国产网站| 在线无码免费看黄网站| 亚洲天堂av中文字幕| 丰满人妻猛进入中文字幕| 国产a∨天天免费观看美女| 国产又色又爽又高潮免费视频麻豆| 久久久天堂国产精品女人| 国产亚洲精品久久久久久久久动漫| 国产成人精品三上悠亚久久| 亚洲视频观看一区二区| 午夜被窝精品国产亚洲av香蕉| 国产亚av手机在线观看|