安會(huì),馬紅靜,王津津,劉保慶,孟海波
(石家莊郵電職業(yè)技術(shù)學(xué)院,河北石家莊, 050021)
在20世紀(jì)80年代,中國(guó)迎來(lái)了快遞產(chǎn)業(yè),經(jīng)營(yíng)的業(yè)務(wù)范圍也在擴(kuò)大。20世紀(jì)90年代后,電商迅速發(fā)展,人們購(gòu)買貨物的種類也從當(dāng)初的單一化發(fā)展為多樣化,貴重、批量、個(gè)性的物品豐富了快遞寄托物的種類,并且對(duì)于貨物的送達(dá)時(shí)間有了更高的要求。
目前,在郵政快遞及網(wǎng)約配送行業(yè)快速發(fā)展的過(guò)程中,很多人非??春每爝f業(yè)的發(fā)展前景,疏忽了快遞業(yè)服務(wù)人員在專業(yè)化、社會(huì)化方面的培訓(xùn),都存在著與企業(yè)經(jīng)營(yíng)現(xiàn)實(shí)脫節(jié)、與用戶需求不匹配、配送交通安全等一系列人才素質(zhì)匱乏問(wèn)題,人才培養(yǎng)遠(yuǎn)遠(yuǎn)不能滿足其快速發(fā)展的需要。由于快遞行業(yè)的發(fā)展不完善,在經(jīng)營(yíng)過(guò)程中略顯艱難。為此,企業(yè)做出了降低快遞成本的對(duì)策,來(lái)提高利潤(rùn)。人員素質(zhì)得不到提升、快遞及配送員培訓(xùn)減少、運(yùn)輸貨物得不到應(yīng)有的保護(hù)。在與購(gòu)買者發(fā)生的糾紛中,送達(dá)不及時(shí)、包括丟失、投遞不到位、快遞損壞以及服務(wù)態(tài)度不端正的占了大多數(shù)。便捷尋貨自動(dòng)派件系統(tǒng)可以很好地規(guī)避人員派件的這些問(wèn)題。既節(jié)省了時(shí)間和成本又避免了人與人之間的沖突。
實(shí)現(xiàn)的功能:通過(guò)控制終端輸入對(duì)應(yīng)的編號(hào)實(shí)現(xiàn)相應(yīng)的被控制節(jié)點(diǎn)發(fā)出聲光的提示。
控制終端:可以進(jìn)行操作的顯示,相應(yīng)編碼的輸入與刪除和確認(rèn),可接入局域網(wǎng)絡(luò)進(jìn)行通信。
控制節(jié)點(diǎn):控制LED的亮滅,蜂鳴器發(fā)聲和停止,可以支持更改節(jié)點(diǎn)參數(shù),可以接入局域網(wǎng)絡(luò)并接受局域網(wǎng)絡(luò)的信息。系統(tǒng)框架圖如圖1所示。
圖1 系統(tǒng)框架圖
1.2.1 通信方式的選擇
常用的通信方式主要有WiFi,藍(lán)牙、ZigBee、LORA、NB-IoT、2G、4G、5G等蜂窩通信等。
WiFi具有無(wú)線電波覆蓋范圍廣、速度快、不需要布線、可不受布線條件的限制的特點(diǎn),最大的缺點(diǎn)就是功耗高。故這樣的大功耗明顯是不適應(yīng)于尋貨系統(tǒng)設(shè)計(jì)的,并且也不需要如此高的功耗。
ZigBee技術(shù)主要應(yīng)用在短距離范圍內(nèi),數(shù)據(jù)傳輸速率不高的電子設(shè)備之間也可以使用ZigBee。具有短距離、低功耗、低成本、時(shí)延短、網(wǎng)絡(luò)容量大、可靠性以及安全性高等特點(diǎn)。ZigBee如果應(yīng)用本系統(tǒng),成本高,網(wǎng)絡(luò)的連接數(shù)量比較少,想要增加數(shù)量十分的麻煩。
NB-IoT使萬(wàn)物互聯(lián)網(wǎng)絡(luò)的一個(gè)重要的分支,它構(gòu)建與蜂窩網(wǎng)絡(luò),大約消耗180kHz的帶寬,2G、3G、4G、5G網(wǎng)絡(luò)上實(shí)現(xiàn)現(xiàn)有網(wǎng)絡(luò)的服用,降低成本,平滑升級(jí)。相對(duì)于WiFi、ZigBee等技術(shù),NB-IoT具有低功耗、低成本、強(qiáng)聯(lián)接、廣覆蓋的優(yōu)點(diǎn)。
隨著LORA的不斷發(fā)展,LORA設(shè)備和網(wǎng)絡(luò)部署不斷增多,相互之間會(huì)出現(xiàn)一定的頻譜干擾;LORA在布設(shè)過(guò)程中,需要用戶自己組建網(wǎng)絡(luò);LORA傳輸數(shù)據(jù)有效負(fù)載比較小,有字節(jié)限制。故LORA不適合本系統(tǒng)的設(shè)計(jì)。
藍(lán)牙模塊芯片體積較?。凰{(lán)牙模塊功耗較低;藍(lán)牙可以傳輸語(yǔ)音的同時(shí)傳輸數(shù)據(jù),支持異步數(shù)據(jù)信道、三路語(yǔ)音信道以及異步數(shù)據(jù)與同步語(yǔ)音同時(shí)傳輸?shù)男诺?;藍(lán)牙的抗干擾能力很強(qiáng);可以建立臨時(shí)性的對(duì)等聯(lián)接。
通過(guò)以上特點(diǎn)可以看出,藍(lán)牙相對(duì)于此系統(tǒng)來(lái)說(shuō)是比較合適的,但是這個(gè)連接數(shù)量比較少,好在有藍(lán)牙Mesh網(wǎng)絡(luò)是用于建立多對(duì)多設(shè)備通信的低能耗藍(lán)牙(Bluetooth Low Energy,也稱為Bluetooth LE)新的網(wǎng)絡(luò)拓?fù)洹@碚撋现С值倪B接最大數(shù)量是65536個(gè)。
1.2.2 芯片選型
芯片選型主要包括通信模塊的選擇和控制終端。
通信模塊的選擇:使用的是JDY-24M,價(jià)格合理,重要的是功能十分的強(qiáng)大,資料全面,提供了很多擴(kuò)展的實(shí)例,支持后續(xù)上面的功能擴(kuò)展。
控制終端的芯片選擇:使用的是STM32F103C8T6,它和藍(lán)牙模塊的電平兼容,是一款32位M3系列LQFP-48 單片機(jī),性價(jià)比很高的ARM單片機(jī),而且應(yīng)用廣泛,程序安全性高,功耗低。
藍(lán)牙Mesh技術(shù)是一種組網(wǎng)方式。要了解藍(lán)牙Mesh,首先要了解Mesh網(wǎng)絡(luò)結(jié)構(gòu)。Mesh網(wǎng)絡(luò)也稱為“多跳網(wǎng)絡(luò)”,或者“網(wǎng)狀網(wǎng)絡(luò)”。Mesh網(wǎng)絡(luò)的每一個(gè)節(jié)點(diǎn)都可以作為AP和路由器,通訊時(shí),當(dāng)某個(gè)節(jié)點(diǎn)損壞或者堵塞時(shí),可以自動(dòng)繞過(guò)該節(jié)點(diǎn),重新選擇路徑達(dá)到目的地,可以讓網(wǎng)絡(luò)更高效可靠。
芯片的供電電壓為:1.8~3.6V,使用OUTPUT5進(jìn)行輸出控制LED和蜂鳴器。不可將IO引腳直接驅(qū)動(dòng)LED和蜂鳴器。由于使用的是插件三極管S8050,按照電路圖制作好被控制節(jié)點(diǎn),引出串口,配置藍(lán)牙參數(shù)。實(shí)物圖中留有串口排插封裝,發(fā)送節(jié)點(diǎn)不需要在焊接在洞洞板上,焊接好排插后,直接使用杜邦線連接到USB轉(zhuǎn)TTL上面連接串口助手。被控節(jié)點(diǎn)原理圖和PCB圖如圖2和圖3所示。
圖2 被控節(jié)點(diǎn)原理圖
藍(lán)牙模塊:將串口引腳引出來(lái),方便后期做出更改參數(shù)和升級(jí)固件,還能通過(guò)串口檢測(cè)異常情況。還stat引腳連接了出來(lái)方便查看配網(wǎng)情況。
示燈、蜂鳴器:IO引腳通過(guò)三極管放大驅(qū)動(dòng)指示燈和蜂鳴器,預(yù)留外接LED的接口。
電源與接口電路:使用LS1117穩(wěn)壓三極管。為了使藍(lán)牙模塊工作在最穩(wěn)定的狀態(tài),在電源的輸入、輸出端放置兩顆濾波電容,通過(guò)查閱手冊(cè)得知輸出電容要使用鉭電容。鉭電容的寄生電阻大,但是陶瓷電容的性能好,而LS1117是需要利用鉭電容的寄生電阻才能穩(wěn)定工作。如果需要使用大電流大功率的電源可以使用DCDC開(kāi)關(guān)穩(wěn)壓電源,更高的效率,發(fā)熱更低。
將硬件建立好以后,接下來(lái)建立藍(lán)牙MESH網(wǎng)絡(luò),嘗試著控制IO引腳。首先建立藍(lán)牙網(wǎng)絡(luò),不使用中心機(jī),主要是設(shè)置中心穩(wěn)定性比較差,在藍(lán)牙網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都能控制網(wǎng)絡(luò)中所有節(jié)點(diǎn)的IO引腳,發(fā)送命令之前勾選發(fā)送新行,模塊的波特率是9600或者115200,首先發(fā)送AT+RESET測(cè)試一下模塊是否工作正常。第一步,配置MESH組網(wǎng)模式,發(fā)送指令A(yù)T+ROLE5,再發(fā)AT+RESTET重啟生效。第二步,配置組網(wǎng)NEITID為1122:AT+NETID 1122。第三步,配置當(dāng)前設(shè)備短地址0002~FFFF之中、對(duì)應(yīng)指令A(yù)T+MADDR 0005。第四步,配置設(shè)備為路由節(jié)點(diǎn):AT+MCLSS0。最后測(cè)試,將串口助手發(fā)送設(shè)置成16進(jìn)制,取消發(fā)送新行,發(fā)送41 54 2b 4d 45 53 48(幀頭) 01(發(fā)送IO無(wú)應(yīng)答) 00 05(被控制設(shè)備地址) 05(控制的IO口) 01(IO的狀態(tài))0d 0a(幀尾)表示0005設(shè)備發(fā)送IO無(wú)應(yīng)答指令,不串口輸出,IO5為高電平。
控制終端有四個(gè)部分組成,顯示部分(使用的是LCD-1602,同時(shí)還需要通過(guò)電位器調(diào)整液晶的偏置電壓)、矩陣鍵盤(用來(lái)輸入信息和控制信號(hào))、核心板(用來(lái)實(shí)現(xiàn)邏輯功能及流程的控制)和藍(lán)牙模塊(和所有的被控制節(jié)點(diǎn)進(jìn)行組建網(wǎng)絡(luò),進(jìn)行數(shù)據(jù)的通信)。
其中顯示部分使用了四根數(shù)據(jù)線和三根控制信號(hào),將一個(gè)8bit的數(shù)據(jù)分兩次傳輸,減少了引腳的使用,降低了制作成本。矩陣鍵盤使用八根信號(hào)線,四條縱軸,四條橫軸。通過(guò)依次的掃描來(lái)實(shí)現(xiàn)識(shí)別按鍵,核心板和藍(lán)牙模塊通信使用的是串口1(PA9、PA10)。
主要分成四個(gè)部分LCD顯示、鍵盤掃描輸入、邏輯流程控制和藍(lán)牙發(fā)送。
LCD顯示:
將要顯示的內(nèi)容封裝在二維的字符類型數(shù)組里,方便靈活的顯示。
鍵盤掃描輸入:矩陣鍵盤使用的是逐行掃描,采用的是定時(shí)器4中斷定時(shí)掃描,掃描時(shí)間是5ms。
邏程控制:鍵盤輸入的信息進(jìn)行處理后顯示在屏幕上主要顯示內(nèi)容有一級(jí)菜單(open和_add),_add的二級(jí)菜單(無(wú),添加節(jié)點(diǎn)的功能暫時(shí)沒(méi)有),open的二級(jí)菜單(輸入數(shù)值)open的三級(jí)菜單(打開(kāi)ON和關(guān)閉 OFF,控制終端節(jié)點(diǎn)的狀態(tài)的功能)。
藍(lán)牙發(fā)送:藍(lán)牙模塊和核心板是通過(guò)串口進(jìn)行通信的。通過(guò)User_off_on_bluetooth_terminal()函數(shù)發(fā)送指令的。
圖4 程序執(zhí)行流程圖
藍(lán)牙m(xù)esh網(wǎng)絡(luò),采用的是多對(duì)多。它并不是路由節(jié)點(diǎn),只是簡(jiǎn)單地將消息報(bào)文在中繼廣播給附近的設(shè)備節(jié)點(diǎn),以便讓數(shù)據(jù)包可以傳播到全網(wǎng)所有節(jié)點(diǎn)。借助中繼節(jié)點(diǎn),BLE MESH 消息報(bào)文傳播距離或范圍可以遠(yuǎn)超過(guò)BLE 通信距離,每個(gè)消息的最大生存時(shí)間TTL 是127 跳,即每個(gè)數(shù)據(jù)包最遠(yuǎn)可以傳送到127 倍的BLE 通信距離(假如BLE 傳輸距離為40m,BLE MESH 最大傳輸距離則為5 km),設(shè)置生存的時(shí)間的原因是防止產(chǎn)生網(wǎng)絡(luò)風(fēng)暴。
圖5顯示了三個(gè)中繼節(jié)點(diǎn):Q、R、S。支持Friend feature的三個(gè)節(jié)點(diǎn):N、O、P,而N沒(méi)有任何friendships。因 此,只 有O和P是Friend節(jié) 點(diǎn)。有5個(gè)Low Power nodes:I、J、K、L和M。節(jié) 點(diǎn)I、J和K的friend是P;L和M的friend是O。Nodes T僅使用GATT bearer連接到mesh網(wǎng)絡(luò)。因此,S必須將所有消息轉(zhuǎn)發(fā)給T,并且轉(zhuǎn)發(fā)T的所有消息。
圖5 藍(lán)牙MESH網(wǎng)絡(luò)中節(jié)點(diǎn)的關(guān)系圖
通過(guò)藍(lán)牙m(xù)esh網(wǎng)絡(luò)不斷的轉(zhuǎn)發(fā)和廣播,最終每個(gè)節(jié)點(diǎn)都將收到信息報(bào)文。通過(guò)報(bào)文中的數(shù)據(jù)知道節(jié)點(diǎn)自身是否做出相應(yīng)的動(dòng)作。相應(yīng)的引腳會(huì)做出高低電平的變化。最后通過(guò)三極管的放大驅(qū)動(dòng)LED燈亮和滅(蜂鳴器響不響)。
(1)在制作終端節(jié)點(diǎn)時(shí),出現(xiàn)了發(fā)送指令沒(méi)有反應(yīng)的情況。改用PCB印刷電路板,使用電腦軟件AD2020繪制PCB送工廠進(jìn)行加工,問(wèn)題得到了改善。
(2)首先考慮使用無(wú)線充電,但是由于成本高和制作難度,最終選用磁吸充電的方式。
(3)在調(diào)試主控制器時(shí),遇到了字符傳輸問(wèn)題。由于使用printf輸出無(wú)法傳輸ascll碼值00,但是在與模塊通信中存在,不可避免,最后使用變量控制發(fā)送的數(shù)量,問(wèn)題得到了解決。