介紹了 一種基于手機WiFi熱點的電子秤自動化質監(jiān)系統(tǒng)的設計,系統(tǒng)由質監(jiān)模塊和手機模塊組成。質監(jiān)模塊采 用LPC1100作為MCU,HLK-RM04為無線芯片,從電子秤RS232接口獲取數(shù)據(jù),并通過手機WiFi無線網發(fā)送至手機 模塊,實現(xiàn)高效方便的質監(jiān)。
引言
本文設計了一種以LPC1100為主控制器,使用HLK- RM04無線芯片的電子秤質監(jiān)模塊,連接到手機WFi熱點建 立的局域網,直接將質監(jiān)數(shù)據(jù)發(fā)送至手機,手機還可以與電 腦互聯(lián),對質監(jiān)數(shù)據(jù)進行匯總處理,實現(xiàn)自動化質監(jiān)。
1.總體設計
1.1基本原理
通用電子秤內部都會提供標準的RS232接口,通過 這個接口,可以獲取電子秤稱重數(shù)據(jù),這就為自動化質監(jiān) 提供了可能,設計一個質監(jiān)模塊嵌入電子秤內,將電子秤 實時數(shù)據(jù)通過無線芯片HLK-RM04發(fā)送至手機中。這 個過程需要一個無線局域網,這個無線局域網由用戶手機 WiFi熱點建立。質監(jiān)模塊在電子秤通電開始工作時自動 運行,不斷檢測質監(jiān)人員的手機無線網絡,一旦檢測到無 線網絡的存在,自動建立TCP連接,與手機建立聯(lián)系,按 手機發(fā)送的指令檢測標準砝碼的重量,并將檢測結果回送 至手機中,質監(jiān)員就可以隨時高效率方便地同時檢測多臺 電子秤,并且質監(jiān)員回到質監(jiān)局后,可以將手機上記錄的 數(shù)據(jù)傳送至電腦,進行匯總處理。質監(jiān)系統(tǒng)整體示意圖如圖1所示。
1.2質監(jiān)模塊組成
整個系統(tǒng)由若干個質監(jiān)模塊和一部智能手機組成,共 同組成全自動的質監(jiān)系統(tǒng),實現(xiàn)對多臺電子秤同時質監(jiān)。
質監(jiān)模塊由Cortex-M0系列LPC1100主控制器、HLK- RM04無線芯片、變壓電路、RS232轉化電路、按鍵電路、 指示燈等模塊組成,如圖2所示。
上電復位后,主程序開始運行,首先向HLK-RM04 無線芯片發(fā)送信號,使它進入AT+指令集設置模式,進行初始化設置,包括需要連接的無線局域網的名稱和密 碼、啟動DHCP、主設備的IP和建立TCP連接的端口號 等,設置完成后,重啟無線芯片,無線芯片不斷查找指定的 局域網,找到后自動連接,而主程序一直監(jiān)聽,如果質監(jiān)員 要檢測電子秤,就會打開手機WiR熱點,建立無線局域 網,并在電子秤上放置標準砝碼,無線芯片檢測到該網絡 會自動連接上,質監(jiān)員通過手機質監(jiān)程序發(fā)送開始質監(jiān)的 指令,主程序收到后,會開始與電子秤RS232接口進行通 信,將電子秤測出的數(shù)據(jù)發(fā)送至質監(jiān)員手機,至此該電子 秤的質監(jiān)工作完成。
2.硬件設計
2.1質監(jiān)模塊
質監(jiān)模塊MCU從電子秤RS232接口獲取數(shù)據(jù),經過處 理后,通過UART串口發(fā)送至模塊上的WiFi芯片,由WiFi 芯片將數(shù)據(jù)通過無線網發(fā)送至質監(jiān)人員的手機。MCU選用 基于第二代ARM Cortex-MO內核的微控制器LPC1100,它是 32位微處理器,具有高性能,低功耗的優(yōu)點。
2.1.1 WiFi控制電路
WiFi控制電路用來連接WiFi芯片和MCU,實現(xiàn)兩 者之間的數(shù)據(jù)傳輸,以及MCU對WiFi的控制。質監(jiān)模塊選用的WiFi芯片是是海凌科電子 新推出的低成本嵌入式UART- ETH-WiFi(串口 -以太網-無線網)模 塊 HLK-RM04。HLK-RM04 實現(xiàn)了 無線網和串口之間的轉換,MCU可 以通過對串口操作實現(xiàn)WiFi芯片的 配置、無線通信的目的。WFi控制模 塊主要是將MCU的UART _TX、
UART_RX與HLK-RM04的對應的 引腳相連,實現(xiàn)兩者之間串行異步通 信。SW1與SW2是按鈕開關,給 HLK-RM04提供重新啟動和恢復出 廠設置這兩個信號。WFi外圍控制 電路圖如圖3所示。
2. 1.2 電源模塊電路
電子秤的RS232接口采用主動供電式,即電子秤利 用RS232中兩根功能性引腳為外設提供電源,本文中質 監(jiān)模塊就是利用這兩根引腳供電,使用一個電壓轉換電 路,把電子秤提供的電壓轉化為十5 V和十3.3 V,分別為 HLK-RM04 和 LPC1100 供電。
2.2手機模塊
手機模塊可以直接使用任意一款安卓操作系統(tǒng),自帶 WFi熱點的手機。直接下載質監(jiān)程序就可以作為質監(jiān)人 員的質監(jiān)工具。
正常情況下,能夠穩(wěn)定運行的無線AP —般是無線路 由器,但是在本系統(tǒng)中,需要測試的對象可能是全市所有 的電子秤,不可能在每個測試地點放置無線路由器,也不 能夠隨身攜帶路由器使用。最好的辦法是使用手機充當 無線AP,將數(shù)據(jù)采集和無線局域網這兩種功能合二為一, 這將帶來極大的便利。但是手機作為便攜式設備,又是電 池供電,能不能長時間穩(wěn)定地充當無線AP昵?本文以 HTC one型號手機為例進行可行性分析,用手機建立熱 點,即創(chuàng)建無線局域網,在電腦上運行 WireLessMon 獲耳又 無線網的強度信息,不斷改變手機和電腦的距離,繪制如 圖4所示的無線局域網信號強度圖。
理論上無線信號強度超過一 70 dBm就可以建立連 接,但是為了更好的通信質量,選取在大于一60 dBm時通信,從圖4中可以看出,最佳覆蓋范圍 是手機為中心,半徑5 m的圓形區(qū)域。
就一般農貿市場而言,半徑5 m可以覆 蓋好幾個攤位,完全能夠支持多臺電子秤同 時測試。測試過程中,手機滿電狀態(tài)可以連 續(xù)開啟WLAN熱點2小時以上,實際使用 過程中,在不用的時候可以暫時關閉熱點, 完全能滿足使用的需要。
3.軟件設計
3.1質監(jiān)模塊
3.1.1總體流程圖
軟件總體的流程如圖5所示,上電啟動后,首先檢查 各部分是否正常工作,主要是看電子秤能否正常通信,還 有WFi模塊是否正常工作,如果出現(xiàn)異常,則對應的指示 燈顯示為紅色。然后調用WiFi子程序對WiFi模塊進行 配置,初始化完成后重新啟動WFi芯片,以便配置生效。 重啟后,WFi模塊將不斷搜索手機熱點,如果搜索完畢會 自動進行連接,并與手機建立TCP連接,主程序進入監(jiān)聽 階段,采用被動應答的方式,循環(huán)監(jiān)聽WFi收到的指令, 并對當前的指令進行解析和回復,同時開啟定時器,如果 一段時間沒有收到手機發(fā)送的心跳包,主程序默認測試結 束,重新進入開始階段。
3.1.2 WiFi配置子程序
HLK-RM04芯片提供UART接口與MCU進行通 信,通過該接口,MCU既可以對HLK-RM04進行配置也 可以收發(fā)無線網的數(shù)據(jù)。MCU采用AT指令集的方式配 置HLK-RM04,將配置的參數(shù)數(shù)據(jù)寫成一段固定的配置 字符串,主控制器給HLK-RM04發(fā)送一個ES/RSTT信號 使其進入AT指令集模式,MCU可以直接將配置字符串 通過UART端口發(fā)送給HLK-RM04。
質監(jiān)模塊中,HLK-RM04的功能是尋找質監(jiān)人員手 機WFi熱點并連接,與手機建立通信鏈路。這個過程可 以分為以下幾部分:
①質監(jiān)模塊的HLK-RM04搜素指定名稱的WiFi網 絡,并嘗試連接。
②連接完成,說明質監(jiān)模塊已經和質監(jiān)人員的手機 處于同一個無線局域網內。
③需要使手機和質監(jiān)模塊能夠相互通信,本文中采 用建立TCP連接的方式。
④HLK-RM04作為TCP連接的客戶端,主動向手機 發(fā)起TCP連接。
⑤手機端作為TCP服務端,開啟監(jiān)聽,并采用多線 程的方式同時與多個HLK-RM04連接。
由此可見,配置字符串的內容主要包括WiFi熱點的 用戶名十密碼、HLK-RM04的IP地址分配、以及TCP連 接相關信息。HLK-RM04的IP地址分配采用動態(tài)分配 方式,即啟動DHCP協(xié)議,動態(tài)為每個連接在WFi網絡 中的HLK-RM04動態(tài)分配IP地址,這樣可以避免出現(xiàn)重 復IP的情況,更加靈活方便。因為手機WFi建立的無線 網段是192. 168. 137. 0,所以手機的IP地址固定是192. 168. 137. 1,HLK-RM04作為客戶端只要固定設置TCP 服務器地 址為 192.168.137.1 即可 。
配置的子程序略編者注。
3.1.3質監(jiān)模塊與電子秤通信
質監(jiān)模塊通過電子秤提供的RS232接口與電子秤進 行通信,質監(jiān)模塊發(fā)送請求,電子秤將標簽信息發(fā)送給質 監(jiān)模塊,標簽信息是在電子秤中預先設置好的一系列數(shù) 據(jù),比如重量、價格、商家名稱、電子秤號、條形碼等。電子 秤在稱重完成后,會打印出本次稱重的標簽信息,所以質 監(jiān)模塊可以通過獲取電子秤的標簽信息來提取質監(jiān)所需 的有效數(shù)據(jù)。
3.1.4質監(jiān)模塊與手機通信
通信雙方,無線模塊采用被動應答的方式,被動接收 手機發(fā)送的指令,并對指令解析、回復,而手機采用主動發(fā) 送指令的方式。手機發(fā)送的指令格式如下:
其中IP地址部分采用4字節(jié),指令采用單字節(jié),參數(shù) 個數(shù)單字節(jié),每個參數(shù)占用4字節(jié)。指令共包括開始、心 跳包、獲取電子秤信息、獲取重量、結束、保留信息這6種, 因為采用了 TCP可靠傳輸方式,所以不需要校驗。其中 保留信息格式和其余5個信息格式略有不同,指令功能表 如表1所列。
02指令是心跳包,手機每隔一段時間會發(fā)送一個心跳 包給質監(jiān)模塊,使質監(jiān)模塊知道手機是否正在進行質檢,如果指定時間沒有收到心跳包,無線模塊默認質檢已經結束, 就會回到主程序開始處重新執(zhí)行,等待新一輪的質檢。
03指令是獲取電子秤的商店編號和電子秤號,這個 可以用來準確定位每一臺電子秤,因為自動化質監(jiān)系統(tǒng)支 持同時質監(jiān)多臺電子秤,所以要能夠準確方便的定位每一 臺連接到熱點的電子秤。
本文中米用商店編號+電子秤編號的方式來定位電 子秤,每個商店都有唯一的編號,并商店中的電子秤都有 —個編號,將商店編號和電子秤編號做成—個標簽,貼在 電子秤上,并且事先對電子秤設置好商店號和電子秤號, 以供質監(jiān)模塊獲取,如圖6所示。
多個電子秤質監(jiān)模塊連接到手機時,手機端可以看到 當前所有連接至手機WFi網絡的電子秤列表,并且顯示 出每臺電子秤的商店編號+電子秤編號,與電子秤上的便 簽對應,便可方便準確地定位每一個電子秤列表項所對應 的電子秤。
該電子秤列表會顯示在手機上,供質監(jiān)員選擇,比如 質監(jiān)員選擇了列表項1(00000012 + 01),該項對應編號為
00000012的商店中1號電子秤,放置 個標準砝碼在該電子秤上,點擊開始質監(jiān),手機會發(fā)送命令給該電子秤,電 子秤嵌入的質監(jiān)模塊會讀出當前的數(shù)據(jù),并通過Wii發(fā) 送至手機,記錄于文件中并顯示給質監(jiān)員,表示本次質監(jiān) 完成。當然質監(jiān)員可以對列表中所有電子秤都放上砝碼, 同時測試列表中所有電子秤。
06指令是保留信息,這個指令是為了傳輸某些比較 復雜或者協(xié)議設計前沒有考慮到的數(shù)據(jù),是對前5條指令 的擴展,它的格式是IP地址+指令+數(shù)據(jù)長度+數(shù)據(jù),對 于該條指令而言,傳輸?shù)臄?shù)據(jù)是沒有固定格式的,換而言 之該指令可以傳輸任何需要的數(shù)據(jù),而手機接收了之后可 以將數(shù)據(jù)作進一步解析。
3.2手機端及后續(xù)處理程序
質監(jiān)時,質監(jiān)員在對應的電子秤上放置標準砝碼,用 手機接收電子秤質監(jiān)模塊發(fā)送的數(shù)據(jù),并將數(shù)據(jù)以固定的 格式存放于文件中,可以根據(jù)需要多測幾次,至此,現(xiàn)場的 質監(jiān)工作完成。
回到質監(jiān)局,將手機連接到質監(jiān)局的無線路由器上, 將數(shù)據(jù)文件發(fā)送至電腦端,并對各個質監(jiān)員提供的數(shù)據(jù)文 件進行匯總,集中處理,并將最終結果存放于數(shù)據(jù)庫中,同 時將匯總后的質監(jiān)數(shù)據(jù)備份保存。
4.結語
本文設計的自動化質監(jiān)系統(tǒng)能夠方便高效地協(xié)助質 監(jiān)人員完成任務,只需要對現(xiàn)在使用的電子秤作改裝,嵌 入一個質監(jiān)模塊,任何一款支持W i R熱點的安卓手機都 可以充當質監(jiān)工具。
手機集質監(jiān)無線網的AP和數(shù)據(jù)采集終端兩大功能 于一身,充分發(fā)揮了智能手機的能力,實現(xiàn)了質監(jiān)系統(tǒng)最 簡化,大大降低了硬件的復雜度,把大部分工作量轉移到 軟件方面,能夠降低成本,更符合實際。