基于ZigBee的藥品庫存實時管理系統(tǒng)的設計與實現
2.2 ZigBee數據傳輸模塊
在本系統(tǒng)中,手持藥監(jiān)碼采集設備群以自組織形式構成網絡,并最終將數據傳送到與PC鏈接的數據基站,然后通過互聯(lián)網上傳至遠端的數據中心。結合藥房的實際使用情況,手持終端設備可能會有多個,所以ZigBee通信系統(tǒng)采用星形網絡結構。星形結構是一個輻射形狀的網絡結構,所有的數據都需要匯聚到中心節(jié)點(ZigBee協(xié)調器)而其他的節(jié)點之間不能進行數據通信,如圖3所示。本文引用地址:http://www.antipu.com.cn/article/153527.htm
在此網絡結構中ZigBee協(xié)調器接收到終端節(jié)點的數據信息之后,首先對數據信息進行數據包解析,確認該信息為數據信息后對此信息負載進行提取,并將獲得的數據信息通過串口顯示到倉庫PC的系統(tǒng)當中。
ZigBee終端節(jié)點在網絡組建過程中擔任兩項工作:發(fā)起加入協(xié)調器所在的網絡請求;接收協(xié)調器的廣播信息并向協(xié)調器傳送藥監(jiān)碼數據。
(1)手持數據終端節(jié)點入網設計。終端節(jié)點上電初始化之后向整個ZigBee網絡發(fā)送信標(Beacon)請求,當協(xié)調器接收到信標響應后,終端節(jié)點再對發(fā)送信標響應的節(jié)點發(fā)送連接請求,協(xié)調器得到鏈接請求響應正確,那么表示節(jié)點入網成功,負責,節(jié)點入網失敗,并且給出失敗提示。
(2)手持終端ZigBee節(jié)點數據發(fā)送設計。設計一個數據發(fā)送函數,此函數負責應用測(APL)與下層之間的參數和數據傳遞,數據傳輸格式為20位的藥監(jiān)碼。當終端在發(fā)送數據時,數據包自頂向下進行幀格式化,各層負責為其數據包添加各層數據包頭,最后到達PHY層將數據發(fā)送出去。
2.3 庫存管理系統(tǒng)模塊
2.3.1 開發(fā)語言及模式
上位機的庫存管理系統(tǒng)采用java語言編程,使用struts1.2框架,在My Eclipse中開發(fā)調試,對系統(tǒng)的設計如下:本系統(tǒng)結構上采用3層B/S結構,前臺用戶顯示層使用JSP和Servlet在瀏覽器上實現,中間使用Java Bean組件實現企業(yè)業(yè)務邏輯,后臺使用action完成用戶請求及相關操作跳轉。為了方便數據的存儲查詢,使用SQL Server2008數據庫,通過JDBC建立系統(tǒng)與數據庫的連接。
2.3.2 系統(tǒng)功能結構
由系統(tǒng)的需求功能看,本系統(tǒng)主要分為4類用戶和5大模塊。4類用戶為:總管理員,省級管理員,市級管理員,分銷商管理員。5大模塊為:庫存信息管理模塊,分銷商信息管理模塊,藥品信息管理模塊,用戶信息管理模塊以及數據傳遞模塊。不同類型的用戶擁有不同的管理權限和子功能,其中總管理員擁有系統(tǒng)的最高權限。其中數據傳遞模塊為分銷商管理員特有模塊,用于從串口接受下位機傳遞的藥監(jiān)碼數據,并進行相關判斷和處理后存入數據庫。串口通信應用javax.comm.SerialPort類實現,它用于描述一個RS 232串行通信端口的底層接口,定義了串口通信所需的最小功能集。用戶可以直接對串口進行讀、寫及設置操作。串口通信應用程序采用事件監(jiān)聽模式,實現Serial Port Event Listener接口,當串口有數據到達時,可以在serialEvent中接收并處理所收到的數據。
系統(tǒng)中的庫存查詢界面采用級聯(lián)下拉列表形式,通過Java Script實現動態(tài)鏈接。庫存查詢結果頁面采用Ajax技術實現實時刷新功能。在Ajax中主要通過XMLHttpRequest對象處理發(fā)送異步請求和回應,創(chuàng)建前要先確定用戶當前使用的瀏覽器類型,然后根據瀏覽器類型創(chuàng)建合適的XMLHttpRequest對象,調用指定方法,最終通過Java Script將內容設置到指定的顯示區(qū)域。
2.3.3 數據庫結構
根據本藥品庫存管理系統(tǒng)需求,圖4所示為數據庫信息表的關系結構。各個數據表之間通過不同列建立關聯(lián),實現多個數據表的聯(lián)合查詢。
(1)藥品-庫存-分銷商。PC機串口接收藥品信息后,系統(tǒng)在藥品信息表中查詢對應的產品信息,并檢索庫存信息表,修改相應庫存狀態(tài),或添加新記錄。
用戶查詢庫存信息時,系統(tǒng)根據所選用戶的編號檢索庫存信息表,按照藥品產品編號分類,統(tǒng)計各包裝級別的庫存數量。
(2)用戶一分銷商。用戶表中存儲用戶的類型及管理范圍,登錄時,系統(tǒng)根據用戶類型進入不同的主界面,根據用戶的管理范圍顯示不同的管理功能。其中分銷商和管理員之間為一對一關系。
(3)分銷商-市-省。分銷商信息表,市信息表,省信息表通過編號相互關聯(lián),構成一個3級下拉列表菜單。
評論