徐 聰,殷 超
(九江學(xué)院,江西 九江 332005)
倉庫作為企業(yè)的物料、產(chǎn)品存放地對于大小企業(yè)的重要性都是不言而喻的。如何提高其安全系數(shù)與使用效率便成了重中之重。
傳統(tǒng)的安防措施主要以安保人員實(shí)時(shí)查看視頻監(jiān)控、定時(shí)庫內(nèi)巡察等手段達(dá)到安防目的,庫存管理則以人工錄入、登記為主。實(shí)時(shí)監(jiān)控受限于人體機(jī)能,長時(shí)間觀看視頻畫面往往使得安保人員精神疲憊,監(jiān)測效果不達(dá)預(yù)期,定時(shí)庫內(nèi)檢查也將帶來監(jiān)管風(fēng)險(xiǎn),對于室內(nèi)火災(zāi)等突發(fā)情況人工查看往往為時(shí)已晚。人工錄入管理物品信息常因登記混亂造成財(cái)產(chǎn)損失,存儲空間也無法合理利用。
近年來,物聯(lián)網(wǎng)技術(shù)飛速發(fā)展,已經(jīng)成為信息技術(shù)的重要組成部分之一,被廣泛運(yùn)用于生產(chǎn)與管理,極大地提升了各個(gè)相關(guān)行業(yè)的生產(chǎn)、運(yùn)營效率。基于物聯(lián)網(wǎng)的倉儲安防與庫存管理系統(tǒng)的設(shè)計(jì)研究意義便是將物聯(lián)網(wǎng)技術(shù)運(yùn)用于倉儲安防與庫存管理,在倉庫內(nèi)安放傳感裝置結(jié)合傳統(tǒng)的視頻監(jiān)控,實(shí)現(xiàn)庫內(nèi)空間的細(xì)致化管理,大大減少人工成本、減少安全隱患,通過物品出入庫自動化管理提高倉儲空間的使用效率。
本系統(tǒng)底層采用 STM32F103C8T6開發(fā)板和集成模塊進(jìn)行數(shù)據(jù)采集,使用ATK-ESP8266模塊實(shí)現(xiàn)各個(gè)結(jié)點(diǎn)間的數(shù)據(jù)傳輸。ATK-ESP8266模塊接收到數(shù)據(jù)后再通過網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送到Tomcat服務(wù)器,在手機(jī)端與PC端都可以對Tomcat后臺MySQL數(shù)據(jù)庫進(jìn)行管理。系統(tǒng)硬件主要分為兩個(gè)功能實(shí)現(xiàn),一個(gè)是以RFID、紅外感應(yīng)、溫度感應(yīng)為主的安防功能:RFID進(jìn)行身份識別,在未識別身份的時(shí)間內(nèi)紅外感應(yīng)檢測到人員靠近時(shí)會觸發(fā)蜂鳴器警示安保人員查看異常情況,溫度傳感器用于防火監(jiān)測,溫度高于閾值也將出發(fā)蜂鳴器報(bào)警;一個(gè)是以RFID與GM65結(jié)合的庫存管理功能:RFID提供人員信息,GM65提供物品信息,兩者結(jié)合將提供完備的產(chǎn)品出入庫信息。整體硬件框架如圖1所示。
圖1 整體硬件框架圖
本系統(tǒng)底層硬件由集成開發(fā)板與所需傳感器構(gòu)成。主開發(fā)板搭載了STM32主控芯片,使用杜邦線與各傳感器相連接,實(shí)現(xiàn)各傳感器的數(shù)據(jù)采集與模塊控制。傳感器按功能需求集成在多塊不同的開發(fā)板上,實(shí)現(xiàn)安防功能的傳感器主要有溫度傳感器、紅外傳感器、蜂鳴器、Esp8266模塊,實(shí)現(xiàn)庫存管理功能則涉及RFID與掃碼模塊。
(1)STM32芯片作為核心對模塊上傳的信號進(jìn)行反應(yīng)、驅(qū)動模塊工作、控制信息上傳。本系統(tǒng)采用的STM32芯片為STM32F103C8T6,STM32F103C8T6是一款基于ARM Cortex-M內(nèi)核STM32系列的32位的微控制器、主頻72MHZ、程序存儲器容量是64KB、I/O口37個(gè)、定時(shí)器4個(gè)、串口3個(gè)、IIC接口2個(gè)、SPI接口1個(gè)、USB接口1個(gè)、供電電壓 2V~3.6V,工作溫度為-40°C~ 85°C。
(2)溫度傳感器作為環(huán)境溫度采集的主要模塊,實(shí)時(shí)監(jiān)測環(huán)境溫度,溫度傳感器會實(shí)時(shí)傳輸監(jiān)測值,報(bào)警閾值在主程序代碼中設(shè)置,由STM32主控芯片進(jìn)行控制。當(dāng)環(huán)境溫度超過設(shè)置的閾值時(shí),觸發(fā)報(bào)警信號。本系統(tǒng)中的溫度傳感器采用的是DHT11溫濕度傳感器,DHT11數(shù)字溫濕度傳感器含有已校準(zhǔn)數(shù)字信號輸出,應(yīng)用了專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù)。產(chǎn)品具有高可靠性與穩(wěn)定性等特點(diǎn)。傳感器中包含一個(gè)電阻式感濕元件和一個(gè)NTC測溫元件,并配套搭載了一個(gè)高性能8位單片機(jī)。在每個(gè)DHT11的 OTP內(nèi)存中都存儲著在極為精確的實(shí)驗(yàn)室中校準(zhǔn)的標(biāo)準(zhǔn)系數(shù),這些標(biāo)準(zhǔn)系數(shù)在傳感器進(jìn)行數(shù)據(jù)采集的過程中用于數(shù)據(jù)校驗(yàn)。溫度傳感器采用的單線制串行接口,也使系統(tǒng)集成變得更加的簡單快捷。在其他方面超小的體積、極低的功耗,信號傳輸距離可達(dá)20米以上等特點(diǎn)也使得DHT11廣泛運(yùn)用于生活生產(chǎn)中的方方面面。
(3)紅外傳感器進(jìn)行入侵監(jiān)測,當(dāng)監(jiān)測區(qū)域中有人員活動時(shí)觸發(fā)異常信號,STM32主控芯片接收到異常信號后觸發(fā)蜂鳴器報(bào)警。紅外傳感器使用的是 HC-SR501人體紅外傳感器。HC-SR501是一款基于紅外線技術(shù)的自動控制紅外傳感模塊,采用LHI788探頭設(shè)計(jì),擁有靈敏度高、可靠性強(qiáng)等產(chǎn)品特點(diǎn)。具有全自動感應(yīng)、光敏控制、兩種觸發(fā)方式(不可重復(fù)/可重復(fù))、感應(yīng)輸出封鎖等功能。
(4)蜂鳴器為主要報(bào)警裝置,由STM32主控芯片進(jìn)行控制。在傳感器監(jiān)測到環(huán)境異常時(shí)會發(fā)送報(bào)警信號于主控芯片,主控芯片接收到報(bào)警信號便控制蜂鳴器報(bào)警,達(dá)到警示效果,提醒安保人員查看。蜂鳴器采用的是無源蜂鳴器。無源蜂鳴器的產(chǎn)品特點(diǎn)是內(nèi)部不帶震蕩源,需要使用變頻方波來驅(qū)動、聲音頻率可控、低電平觸發(fā)。
(5)RFID模塊的主要功能是讀取IC卡的卡內(nèi)信息,卡內(nèi)信息由管理人員在員工注冊時(shí)進(jìn)行寫入,進(jìn)行身份識別時(shí)需員工將IC卡靠經(jīng)RFID讀卡模塊進(jìn)行身份識別,識別成功后,RFID將識別到的信息傳送至STM32主控芯片。主控芯片將傳送過來的信息與員工數(shù)據(jù)庫中的信息進(jìn)行比照,若信息符合則進(jìn)行后續(xù)功能、若不符則發(fā)送報(bào)警信號,控制蜂鳴器報(bào)警。RFID模塊采用的是MFRC-522射頻感應(yīng)模塊。模塊廣泛應(yīng)用于13.56MHz頻段的非接觸式通信、支持ISO14443A的多層應(yīng)用、與主機(jī)間的通信使用的是連線較少的串行通信方式。
(6)掃碼模塊主要應(yīng)用于貨物的出入庫操作。將每個(gè)貨物貼上特制的條形碼或二維碼,在貨物進(jìn)行出入庫時(shí)僅需掃碼進(jìn)行即可,無須手工錄入,提高貨物出入庫的便捷性、信息錄入的準(zhǔn)確性。錄入的信息將通過ESP8266模塊直接上傳至 PC端后臺的數(shù)據(jù)庫。掃碼模塊使用的是MJ-2060模塊。MJ-2060模塊擁有500次/秒的條形碼掃描速率,處理為ARM Cortex 32位處理器。
(7)Esp8266用于數(shù)據(jù)交互,實(shí)現(xiàn)人員信息與貨物信息的傳輸。在安防功能的實(shí)現(xiàn)上在員工信息錄入時(shí)將讀取到的員工信息進(jìn)行上傳,在系統(tǒng)啟動時(shí)通過Esp8266下載員工信息。庫存管理功能實(shí)現(xiàn),出入庫功能時(shí)通過Esp8266進(jìn)行數(shù)據(jù)上傳,貨物查詢時(shí)通過Esp8266進(jìn)行數(shù)據(jù)下載。Esp8266是一款面向物聯(lián)網(wǎng)應(yīng)用的高性價(jià)比、高集成度的Wi-Fi MCU。Esp8266使用的是正點(diǎn)原子的 ATKESP8266。ATK-ESP8266集成了32位 Tensilica處理器、低噪放大器、天線開關(guān)、標(biāo)準(zhǔn)數(shù)字外設(shè)接口、射頻balun、過濾器、功率放大器和電源管理模塊等豐富的硬件資源,占PCB空間低,內(nèi)置超低功耗Tensilica L106 32位處理器,CPU時(shí)鐘速度高達(dá)160MHz,支持實(shí)時(shí)操作系統(tǒng)(RTOS)和Wi-Fi協(xié)議棧,80%的處理能力可用于應(yīng)用編程和開發(fā)。性能穩(wěn)定、高度集成、低功耗等特點(diǎn)使其廣泛應(yīng)用于生活與生產(chǎn)中的移動設(shè)備、可穿戴電子設(shè)備和物聯(lián)網(wǎng)應(yīng)用。
系統(tǒng)軟件設(shè)計(jì)主要包含各傳感器模塊軟件設(shè)計(jì)、服務(wù)器設(shè)計(jì)Android手機(jī)客戶端設(shè)計(jì)、Web端的后臺系統(tǒng)設(shè)計(jì)這四個(gè)部分組成。
(1)STM32F103C8T6開發(fā)板軟件設(shè)計(jì):采用uVision5軟件進(jìn)行設(shè)計(jì),使用庫函數(shù)進(jìn)行開發(fā),需安裝stm32F10x固件庫。
(2)溫度傳感器軟件設(shè)計(jì):本系統(tǒng)所使用DHT11溫濕度傳感器擁有三個(gè)引腳,一個(gè)電源、一個(gè)接地、一個(gè)傳輸數(shù)據(jù)。傳輸數(shù)的為DATA引腳,用于微處理器與DHT11之間的通訊,采用單總線數(shù)據(jù)傳輸格式,一次通訊時(shí)間4ms左右,傳輸?shù)臄?shù)據(jù)分為小數(shù)部分和整數(shù)部分。數(shù)據(jù)格式為8bit濕度整數(shù)數(shù)據(jù)8bit濕度小數(shù)數(shù)據(jù)、8bit溫度整數(shù)數(shù)據(jù)、8bit溫度小數(shù)數(shù)據(jù)加上8bit校驗(yàn)和,共40bit數(shù)據(jù)。傳輸數(shù)據(jù)的值是比特0還是比特1由DATA輸出高電平的時(shí)間進(jìn)行判斷,50us低電平加26us-28us高電平輸出表示比特0,50us低電平加70us高電平輸出表示比特1。
(3)紅外傳感器軟件設(shè)計(jì):HC-SR501模塊擁有三個(gè)引腳,一個(gè)電源、一個(gè)接地、一個(gè)傳輸數(shù)據(jù)。HC-SR501模塊的監(jiān)測范圍大約為7米,在有人進(jìn)入其感應(yīng)范圍內(nèi)時(shí)便會輸出高電平,對其軟件設(shè)計(jì)只需監(jiān)測相應(yīng)引腳的電平即可。
(4)蜂鳴器軟件設(shè)計(jì):無源蜂鳴器模塊擁有三個(gè)引腳,一個(gè)電源、一個(gè)接地、一個(gè)傳輸控制信號。無源蜂鳴器本身不具備震蕩源,簡單使用直流信號是無法使其工作的,必須使用變頻的方波來驅(qū)動它。這里我們可以使用PWM(PulseWidthModulation),脈沖寬度調(diào)制技術(shù)來實(shí)現(xiàn),并且可根據(jù)不同的警示事件設(shè)置不同的鳴叫響度和曲調(diào)。
(5)掃碼模塊軟件設(shè)計(jì):MJ-2060掃碼模塊集成度較高在使用過程中僅需使用USB進(jìn)行數(shù)據(jù)傳輸,而選用的STM32核心擁有此資源,僅需使用相應(yīng)庫函數(shù)進(jìn)行數(shù)據(jù)接收、處理即可。
(6)Esp8266軟件設(shè)計(jì):ATK-ESP8266擁有六個(gè)引腳,分別是RXD、TXD、GND、VCC、RST、IO_O,過程中使用到的為RXD、TXD、GND、VCC。設(shè)計(jì)中使用的是AT指令開發(fā),使用AT指令的前提條件是需要向Esp8266中燒寫 AT固件,而后才能通過一系列 AT指令建立連接。Esp8266的軟件設(shè)計(jì)實(shí)際也就是編寫STM32中的代碼,使AT指令數(shù)據(jù)通過USB的數(shù)據(jù)傳輸功能傳輸至Esp8266的模塊,以此達(dá)到控制目的,促使設(shè)備連接。在設(shè)備連接之后再跟具業(yè)務(wù)的不同需要選擇相應(yīng)的工作模式。
本系統(tǒng)的云層服務(wù)器采用的是Tomcat服務(wù)器。Tomcat服務(wù)器是一個(gè)開放源代碼的Web應(yīng)用服務(wù)器,使用過程中無須額外費(fèi)用,屬于輕量級應(yīng)用服務(wù)器,廣泛運(yùn)用于中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合,當(dāng)之無愧成為小型系統(tǒng)開發(fā)與調(diào)試JSP程序的首選服務(wù)器。通過Tomcat可以使底層硬件讀取的信息能夠在APP中顯示出來。底層硬件讀取到的信息經(jīng)過處理后按一定格式存放到 My-SQL數(shù)據(jù)庫當(dāng)中。MySQL作為一種時(shí)常被運(yùn)用于各種開發(fā)場景的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),可以將數(shù)據(jù)保存在不同的表中,避免將所有數(shù)據(jù)放在一個(gè)大數(shù)據(jù)表內(nèi),增加了速度并提高了靈活性。
在數(shù)據(jù)庫的信息處理方面,本系統(tǒng)一共使用了三張數(shù)據(jù)表,分別是入庫物品表、出庫物品表、人員信息表。
本系統(tǒng)中該層的設(shè)計(jì)完成的主要功能如下:
(1)以上述三張表為基礎(chǔ)創(chuàng)建數(shù)據(jù)庫,為將來的人員管理、物品出入庫管理提供條件;
(2)實(shí)現(xiàn)傳感器獲取數(shù)據(jù)傳輸?shù)较到y(tǒng)服務(wù)器端;
(3)實(shí)現(xiàn)手機(jī)端與系統(tǒng)服務(wù)器端間通信。
客戶端分為一般模式與管理員模式,一般模式的主要功能是查詢物品信息,對在庫、入庫、出庫的物品進(jìn)行統(tǒng)一管理;管理員模式則對庫房人員信息進(jìn)行管理,包括人員的增加、刪除,信息的更改、查詢。
一般模式的功能需要使用RFID卡片進(jìn)行身份識別,識別成功后才能使用。入庫時(shí),系統(tǒng)將以RFID識別對應(yīng)的人員信息、MJ-2060掃碼識別的物品信息、當(dāng)下時(shí)間作為信息傳送至云端,倉管人員可在APP端進(jìn)行實(shí)時(shí)查看。出庫時(shí),取貨人也需RFID進(jìn)行身份確認(rèn),再進(jìn)行提貨,出庫操作完成后,云端系統(tǒng)將入庫表中的信息轉(zhuǎn)存至出庫表,并在出庫表中添加取貨人員信息、出庫時(shí)間。
客戶端提供Web端與Android移動端兩種支持方式,兩者信息同步更新。
本系統(tǒng)綜合使用了物聯(lián)網(wǎng)底層硬件感知、物聯(lián)網(wǎng)云層服務(wù)器和數(shù)據(jù)庫設(shè)計(jì)、Android客戶端設(shè)計(jì)等技術(shù),實(shí)現(xiàn)了倉儲安防與庫存管理的一次性解決,極大地減少了人工成本、提高倉儲安防的效率、降低物品丟失可能性、降低財(cái)產(chǎn)損失。安防方面利用了現(xiàn)有的大部分安防監(jiān)控的基礎(chǔ),使得大部分企業(yè)無須投入過多成本便可提升安防等級。庫存管理方面,通過物品的分區(qū)存放,APP端查看存放信息,可極大提高存取效率。經(jīng)過系統(tǒng)測試與完善最終確定已經(jīng)完成系統(tǒng)最初的設(shè)計(jì)目標(biāo)。