鄒東堯,劉寬,李娜娜,董蘇鑫,杜中州
(鄭州輕工業學院計算機與通信工程學院,鄭州 450002)
隨著智能家居等方向的飛速發展,物聯網技術在人們生活中的使用越來越廣泛,人們可以通過各式各樣的傳感器來獲取所需要的信息,然后通過計算機系統的分析與處理,通過反饋給予人們更加方便快捷的生活[1]。這是物與網與人的互聯互通,信息由傳感器采集之后經由信道傳給接收端,其中作為物聯網傳輸通道的通信技術也在日趨發展成熟。物聯網中的通信技術分為有線通信和無線通信[2],有線通信是傳統的使用有線線纜做為通信信道,進行信息的傳遞。而無線通信的主要傳輸方式有Wi-Fi、ZigBee、NFC、藍牙等傳輸協議[3],在物聯網實際使用中,無線通信是適用范圍最大的通信方式,但是現有的無線通信方式卻各有缺陷,無法滿足物聯網系統中的控制要求,例如:Wi-Fi傳輸距離太短,ZigBee的通訊信號穿透能力和繞射能力差等[4]。最理想的無線傳輸方式是既有較遠的傳輸距離還要有較低的功耗,所以距離和功耗之間難以取舍,是制約如今物聯網大規模發展普及的原因。
而LoRa出現可較好的改變這一現狀,LoRa是專門為了物聯網的發展而設計的一種無線網絡通信技術,是由Semtech公司提出的一種超長距離低功耗的數據傳輸技術,LoRa使用線性的跳頻擴頻技術,把帶寬分成一個個小的子通道,發送者和接收者在一個通道上工作一段時間后跳轉到另一個通道。LoRa數據傳輸時工作在多個不同的頻段上,當一個頻段出現異常,就自動跳轉到相鄰的頻段進行通信,這樣帶來的優點就是保障了通信的穩定性。在通信距離上可達到15Km以上,適用在長距離發送小數據的終端設備上[5]。故此,物聯網中無線通信選擇LoRa技術可較好解決通信問題。近年來,國內外LoRa技術的發展十分迅速,在國外Lo?Ra技術日益發展成熟時,中國也成立了CLAA(China LoRa Application Alliance),以應用聯盟的形式,促進中國LoRa技術的商用化發展[6]。LoRa技術指標對比于Wi-Fi、ZigBee,優點可以參照表1所示。

表1 LoRa、Wi-Fi、ZigBee 技術指標對比
該系統設計了一個覆蓋一定范圍的LoRa局域網絡,在這個局域網環境中,首先數據采集端的傳感器節點采集外界信息,當傳感器采集到信息之后,通過傳感器節點上的LoRa模塊經由LoRaWAN向LoRa網關發送信息,經管理端軟件對信息進行接受處理之后,對信息做出對應處理,例如顯示想要得到的信息或是發出操作指令。本系統的設計在模塊上主要分為數據采集端、LoRaWAN、管理軟件端三部分。系統框圖如圖1所示。

圖1 系統框圖
數據采集端的通過采集節點上的傳感器獲取外界數據,通過LoRa網絡傳送到LoRa網關中。在本系統中,使用到的傳感器的類型主要有對火災預警的火焰傳感器和停車場管理的超聲波傳感器。每一個數據采集端由單片機連接傳感器和LoRa模塊,通過I2C或者SPI等方式從I/O口讀取傳感器信息,將信息經計算處理后通過設定好的數據格式構造一個數據包,將數據包通過串口發送到LoRa模塊,經LoRaWAN發送到LoRa網關。而LoRaWAN是為了讓LoRa節點互相通信而設計的完整的通信協議和系統架構。LoRaWAN網絡架構規定了系統至下而上依次是終端、網關、網絡服務器和應用服務器。在智能園區系統的設計中,我們基于LoRaWAN的標準協議設計出本系統通信的數據格式,包括數據的開始位和結束位、設備的id號、傳輸的數據格式等。LoRa網絡設計采用星型網絡模型,由一個LoRa網關接收處理所有的信息,各個采集模塊通過LoRa模塊接入到LoRa網關中。LoRa網關通過串口連接至管理PC,通過操作,LoRa網關可以將相應的數據發送給某個或全部的數據采集模塊。
該系統的硬件設計分為傳感器節點和LoRa網關兩部分,硬件服務于信息的采集和傳遞階段。傳感器感知外界信息,LoRa網關對信息進行接收。
系統在傳感器節點設計了停車場檢測模塊和和火災報警模塊,停車場檢測模塊利用超聲波傳感器,通過放置在在車位下方的中心地面的傳感器檢測在當前車位是否有車輛停放。檢測停車場車位信息的傳感器選用HC-SR04。這個超聲波測距傳感器能提供2cm至400cm的非接觸距離感測功能[7],因為汽車底盤距離地面的高度不會超過幾十厘米,所以將該超聲波模塊嵌入于停車位的中心地面上,可以敏銳的檢測上方是否車輛停放。而火災報警模塊在傳統的煙霧報警器基礎上,加裝火焰傳感器,以提高對火災監測的靈敏度,傳感器硬件上由LM393和紅外發射管組成,可以檢測火源或者波長為700nm~1000nm的熱源[8]。當檢測到煙霧或火焰時,會第一時間采集外界信息的改變,迅速傳遞是否有火災發生的信息。
LoRa網關是信息傳遞的關鍵部位,LoRa網關的設計采用S78s網關,使其運行LoRa網關的代碼來實現的所有功能,包括數據的轉發、處理等[9],通過串口連接至管理平臺。數據采集端采集來的所有數據都要傳輸到LoRa網關中,進行相關數據的解包分析后,通過串口發送數據到上層的管理平臺。同時,管理平臺下發的所有數據都要通過LoRa網關分發到數據采集端。所以LoRa網關必須能夠穩定且高效的來進行LoRa網絡的數據的收發。
本系統的軟件組成包含兩部分,分別是由下位機數據采集端程序和上位機程序。下位機數據采集端程序分別包括停車場模塊軟件、安防模塊軟件等。上位機為管理軟件端,對信息進行接收處理并發出指令。上位機與下位機會通過LoRaWAN進行數據的傳輸。
數據采集端作為下位機,軟件功能分為三個部分,一是通過傳感器采集相關的有用的信息,二是通過串口發送到LoRaWAN當中,三是從LoRaWAN中接收到數據時執行相關的操作。設計上將采集和發送功能一起進行,下位機通過GPIO口讀取到各類傳感器采集的信息,然后按照設定好的通信協議添加額外數據,形成的完整數據包通過串口發送。發送完后設置定時器,進入休眠狀態,定時器重置后會再次進行讀數據、發數據、設置定時器、休眠,如無中斷,系統會一直運行。當接收到上位機發送的命令信息后,會通過串口來實現中斷,軟件設置打開串口中斷功能,當LoRa接收到數據后,通過串口發送到下位機,產生串口中斷,然后單片機會停止當前的任務去接收數據,完成后對數據包進行解析,按照命令執行相關操作,完成后返回執行前的程序。整個軟件的流程圖如圖2所示。

圖2 數據采集端系統流程圖
停車場系統的軟件設計通過使用單片機驅動超聲波傳感器正常工作,在軟件中,會通過延時或循環產生100個40kHz的方波,同時計時器開始計時,當方波碰到障礙便會返回,超聲波模塊接收到返回信號后通過GPIO口給單片機一個信號產生中斷,使其進入中斷程序中。在傳感器終端中,首先停止計時器,等待超聲波發送結束,檢測時間和計算距離,將結果保存,清除中斷并打開串口發送數據給LoRa模塊,通過LoRa網絡將數據發送到管理系統中。管理系統根據數據進行相關信息的更新顯示。超聲波檢測軟件流程圖如圖3所示。
安防系統流程相似于超聲波檢測流程,系統中的火焰檢測主要是通過判斷傳感器輸出端的電平,輸出端通常默認為高電平,如檢測到輸出端為高電平,則表明火焰傳感器未檢測到火源,不做報警處理。如檢測到傳感器輸出端為低電平,則表示火焰傳感器檢測到了火源,進行報警處理。所以軟件設計包含兩個模塊:檢測傳感器輸出端電平的高低和串口數據的發送。
LoRaWAN是為了讓LoRa節點互相通信而設計的完整的通信協議和系統架構。其中,通信協議包含了節點的分類、加密、MAC命令、地區參數等等各類信息,從設計上保證了使用LoRa的各個廠商可以實現互聯互通。LoRaWAN網絡架構規定了系統至下而上依次是終端、網關、網絡服務器和應用服務器。我們在LoRaWAN的基礎上,通過數據結構中的不同的數據標志位來區分各個終端節點。
在系統的設計中,我們基于LoRaWAN的標準協議設計出了適合本系統通信的數據格式,包括數據的開始位和結束位、設備的id號、傳輸的數據格式等。例如在停車場系統中,我們假設了該小區具有三個停車場分別為A區、B區、C區,同樣用A、B、C來進行表示,然后用1和0表示該車位上是否有車輛停靠。或是在智能安防系統中,我們通過設備的ID號來區分是哪一區域發生險情,直接將險情區域信息放在數據包內。
上位機軟件使用C++語言結合MFC輔助進行開發。因LoRa網關的數據是通過PC的串口上傳[10],使用上位機軟件首先應打開對應的串口對數據進行監聽。接收傳送來的數據,對數據包進行解析獲取有用的信息,最后將數據賦給對應的控件,并對其進行顯示或其他的操作。當上位機下達命令時,通過串口直接發送到LoRa網關。串口的通信設置中端口號會進行自動的掃描顯示,然后打開系統即可;停車場系統可以實時更新當前區域內剩余車位數量,后期可根據需求對車位的位置進行定位,進行導航指引;當有火災險情時,著火區域會顯示險情發生的區域戶號,同時會打開設備的喇叭對管理者進行警報,當對火情進行排查或處理后,需要管理員在管理端軟件輸入密碼手動解除警報,否則警報不會關閉。上位機控制系統如圖4所示。

圖4 上位機控制系統
在校園內對系統進行測試,選取一個車位安裝停車場檢測裝置,并隨機在區域內選取了一個點作為火災測試區域,然后用電腦連接LoRa網關進行初步的網絡通信和數據交換的測試實驗。在6個小時的時間內,車位檢測車輛進出共6次,發送數據包6次,控制端準確更新對應車位空閑情況的信息。對兩個火災檢測點進行測試,用打火機火源模擬真實火源狀況,共計測試40次,每次測試結果均正常,控制端能夠判斷出發生火災的區域。
LoRa技術的通信指標中很重要的一項指標是通信距離,通信距離的測試受很多因素的影響,包括但不限于是否有障礙物遮擋、是否有其他的干擾信號等。我們在校園內進行了LoRa節點到LoRa網關的通信距離的測試,模擬真實環境中的各種干擾因素,實測把LoRa網關安放在圖書館東側,節點可以覆蓋以圖書館東側為中心的所有區域,以證明LoRa技術對長距離傳輸的支持。

圖5 測試距離在地圖上展示
校園內,通過布置了三個終端節點和一個LoRa網關,組成了一個小型的LoRa網絡。連續運行24個小時,終端節點共計上傳到LoRa網關343個數據包。停車場系統中,控制端數據能夠準確的記錄并顯示車位是否被占用;安防系統中,當我們在傳感器附近點燃火源時,系統能夠實時地顯示出險情區域,并播放報警聲音。測試結果顯示,基于LoRa網絡的智能園區系統能夠穩定運行并符合預期。
根據現如今物聯網的傳輸技術在傳輸距離和傳輸功耗上難以取舍的問題,本文提出基于LoRaWAN的低功耗智能園區管理系統,通過對信息傳遞的三層結構,分析并設計了系統模型。由技術對比可知,在和傳統的無線傳輸方式比較上,LoRaWAN因其能實現低功耗且遠距離地傳輸信息,符合物聯網的通信需求。該系統基于LoRaWAN,可以靈活地進行網絡的部署,并根據用戶需求,對系統進行功能的介入,對于未來,我們計劃將系統與諸多便民業務相聯,使智能園區可提供的服務更全面、更便捷。