范整整,萬 濤,趙詩婷
(華東交通大學 信息工程學院,江西 南昌 330013)
隨著生活節(jié)奏的加快和工作壓力的增大,人們將投入更多精力忙于工作和家務(wù),家中的老人、兒童、智障者等特殊群體很難得到細致的照顧,意外走失現(xiàn)象頻頻發(fā)生。在物聯(lián)網(wǎng)技術(shù)高速發(fā)展的今天,借助科技手段實現(xiàn)特殊群體的定位監(jiān)護[1-3]可以極大地減輕監(jiān)護人的壓力?;诖?,本文提出了一種基于微信小程序的特殊群體定位器設(shè)計[4-5]。監(jiān)護人通過微信小程序不但可以隨時查看特殊群體目標的位置信息,還可以為特殊群體設(shè)置警戒區(qū)域,系統(tǒng)檢測到特殊群體目標所在位置超出警戒區(qū)域后,便向監(jiān)護人手機發(fā)送提醒信息,提前預(yù)警可能發(fā)生的意外。特殊群體亦可通過定位器主動向監(jiān)護人呼救。
本系統(tǒng)核心是設(shè)計一款能夠幫助監(jiān)護人更高效靈活地監(jiān)控特殊群體的微信小程序系統(tǒng),分為軟件設(shè)計和硬件設(shè)計兩部分。硬件部分即定位器終端通過GPS定位模塊(GT-U7)[6]實現(xiàn)特殊人群的位置信息采集。將收集的經(jīng)度和緯度數(shù)據(jù)通過串口發(fā)送引腳發(fā)送到單片機,由單片機將數(shù)據(jù)處理成字符形式,并通過NB-IoT將數(shù)據(jù)發(fā)送到微信小程序后臺[7],微信小程序在服務(wù)器上獲取定位數(shù)據(jù)。按鍵產(chǎn)生中斷,單片機將信息發(fā)送到服務(wù)器,監(jiān)護人可在微信小程序上收到特殊群體的SOS呼救信息。軟件部分采用微信小程序?qū)崿F(xiàn),主要包括三個頁面:登錄頁面、地圖主頁面、個人中心頁面,其中地圖主頁面包含了實時監(jiān)控位置的按鈕及地圖上顯示的安全圍欄(系統(tǒng)采用電子圍欄技術(shù)規(guī)劃警戒區(qū)域范圍)。系統(tǒng)包括下列功能模塊。
(1)定位模塊。該模塊使用GPS定位系統(tǒng)制作硬件控件,設(shè)計使用高靈敏度、低功耗的輕便GT-U7模塊對特殊人群進行定位。
(2)實時監(jiān)控模塊。該模塊使用WH-NB75與微信小程序進行雙向數(shù)據(jù)傳輸。當特殊人群走失時,通過NB-IoT(WH-NB75)模塊發(fā)送GPS數(shù)據(jù),服務(wù)器接收到數(shù)據(jù)后使用微信小程序進行定位查找。
(3)SOS呼救模塊。當特殊人群按下定位器按鍵后,單片機發(fā)出中斷提醒,向NB-IoT模塊傳送數(shù)據(jù),服務(wù)器接收到信息后在微信小程序上提醒監(jiān)護人特殊人群目標正在呼救。
(4)安全圍欄模塊。監(jiān)護人設(shè)置電子圍欄,服務(wù)器會向定位器發(fā)送相應(yīng)的電子圍欄數(shù)據(jù),定位器獲取到該指令后保存數(shù)據(jù)。當定位器的活動范圍超過警戒區(qū)域時,定位器自動在微信小程序上提醒監(jiān)護人特殊人群目標已超出安全區(qū)域。
系統(tǒng)總體框架如圖1所示。
圖1 系統(tǒng)總體框架
本系統(tǒng)的硬件電路設(shè)計包括STC15單片機、GT-U7、WH-NB75、按鍵以及其他電子元件。系統(tǒng)硬件電路如圖2所示。
圖2 系統(tǒng)硬件電路
GT-U7發(fā)送GPS數(shù)據(jù)至單片機的過程:GT-U7的TX引腳與單片機的RX引腳相接,初始化單片機和GT-U7,通過配置軟件將串口的波特率設(shè)置為9 600 b/s,選擇串行端口的工作方式和中斷模式。GPS與單片機通信成功即可實現(xiàn)經(jīng)緯度數(shù)據(jù)發(fā)送至單片機的功能。
STC單片機接收GPS數(shù)據(jù)的過程:首先識別數(shù)據(jù)串中的第一個數(shù)據(jù),如果正確,則繼續(xù)接收數(shù)據(jù),否則向GPS模塊報告錯誤,并重新接收新的數(shù)據(jù)。如果接收的數(shù)據(jù)幀正確,則對數(shù)據(jù)格式進行處理,將其轉(zhuǎn)換為字符形式并顯示。STC15接收定位數(shù)據(jù)流程如圖3所示。
圖3 STC15接收定位數(shù)據(jù)流程
單片機處理GT-U7傳來的定位信息的過程:獲取時間戳,然后將世界標準時間hhmmss(時分秒)格式轉(zhuǎn)換為HH:MM:SS格式。之后處理接收器中的位置數(shù)據(jù),首先區(qū)分南北緯度,之后區(qū)分東西經(jīng)度。
NB-IoT選用數(shù)據(jù)傳輸終端WH-NB75發(fā)送GPS數(shù)據(jù),利用CoAP透傳模式保證數(shù)據(jù)的完整傳輸。透明傳輸模式是指對傳輸數(shù)據(jù)中的起始符與終止符視而不見。數(shù)據(jù)通過透明傳輸云從串口傳輸?shù)皆品?wù)器之前,需要對WH-NB75進行簡單配置。依次將NB75插到評估板插座上,將計算機與評估板用串口線連接,將SIM卡插到卡槽中,將天線連接到模塊上,使用配置軟件進行串口波特率、服務(wù)器地址、端口號的配置。配置完成,便可以實現(xiàn)數(shù)據(jù)的無線傳輸。
該模塊功能的實現(xiàn)主要依賴STC15單片機的外部中斷機制。按下定位器端的按鍵,觸發(fā)中斷,由單片機進行中斷處理,執(zhí)行中斷服務(wù)程序,之后單片機發(fā)送提醒信息給云服務(wù)器,微信小程序通過云服務(wù)器獲取提醒特殊人群走失的提示信息。
本課題軟件部分為微信小程序,注冊微信小程序后,進行騰訊云開發(fā)的申請,申請通過后便能夠連接硬件和小程序。開通云開發(fā)功能之后,創(chuàng)建NoSQL數(shù)據(jù)庫,申請騰訊地圖使用權(quán)限后便能在微信小程序中編寫地圖相關(guān)代碼。
云開發(fā)空間通常使用NoSQL數(shù)據(jù)庫[8-9],該數(shù)據(jù)庫的結(jié)構(gòu)以集合為單位進行屬性存儲,更易于實現(xiàn)高性能、高擴展的存儲系統(tǒng)。系統(tǒng)創(chuàng)建一個location集合進行硬件定位數(shù)據(jù)的存儲,便于小程序端讀取定位數(shù)據(jù)。首先設(shè)置數(shù)據(jù)庫的環(huán)境,本系統(tǒng)自定義開發(fā)環(huán)境為prventpersonlose-998sn;然后創(chuàng)建一個location集合進行記錄存儲,其中記錄id由云端自主生成機器碼,作為記錄的唯一區(qū)分,同時設(shè)定記錄id為SOS的Boolean變量作為緊急求救按鈕變量,實現(xiàn)按鍵求救功能。
本系統(tǒng)需要用到安全圍欄以及位置移動等高端地圖功能。騰訊地圖可以提供多種開發(fā)工具與服務(wù)[10],因此考慮申請騰訊地圖API來獲取更高端的函數(shù)對地圖進行展示。
(1)小程序?qū)崟r顯示位置功能
本系統(tǒng)的核心是定位。定位功能主要通過定位器終端GPS實現(xiàn),與騰訊云函數(shù)建立連接之后將定位相關(guān)信息及時傳輸,云函數(shù)將硬件信息進行解析后存入數(shù)據(jù)庫中。此時小程序每隔9 s就對被監(jiān)控端位置進行一次服務(wù)器數(shù)據(jù)拉取。
(2)小程序安全圍欄功能
本系統(tǒng)中安全圍欄的實現(xiàn)主要借助騰訊地圖實現(xiàn)。Circles能夠在map上繪制一個半徑由用戶設(shè)定的圓圈,該圓圈能從視覺上實現(xiàn)安全圍欄的效果。本系統(tǒng)采用經(jīng)緯度兩點換算成直線距離的算法,對監(jiān)控端和定位器端的直線距離進行換算,具體算法近似在一個球體上求兩點弧長的算法。兩點間距離換算之后與圓的半徑進行比較,便能夠知曉目標人物是否走出了安全圍欄。
(3)緊急求救功能
在硬件部分設(shè)有緊急求救按鈕,當按下按鈕之后,硬件端會與服務(wù)端建立連接,將信息傳輸?shù)皆坪瘮?shù)中進行解析,并存入數(shù)據(jù)庫中的SOS記錄,將SOS記錄設(shè)置為true。小程序端在拉取數(shù)據(jù)時判斷SOS記錄是否為true,如果記錄為true,則告知系統(tǒng)定位器端的求救按鍵已按下。
本系統(tǒng)需要手機用戶對微信開啟位置權(quán)限,否則打開小程序后地圖無法顯示。將手機定位功能開啟之后,便能夠看見主頁面刷新出圖4所示的地圖,并且還能看到當前用戶所處位置。
圖4 地圖界面
本系統(tǒng)調(diào)用了騰訊地圖,在小程序編寫時要注意是否獲取到正確的Acckey,如果Acckey錯誤將導(dǎo)致地圖無法加載。
點擊按鈕之后每隔9 s不僅會刷新被守護端的位置,同時還能夠?qū)Χㄎ黄鞫耸欠褡叱霭踩珖鷻?,是否點擊緊急求救按鈕進行判斷,并發(fā)出警示。當被定位器端走出安全圍欄時,會有彈窗提示用戶被監(jiān)控端已經(jīng)走出安全圍欄,如圖5所示。
當定位器端點擊了緊急求救按鈕之后,就會在地圖主界面跳出彈窗,提醒定位器端正在緊急求救,如圖6所示。
圖5 超出安全圍欄范圍警示界面
圖6 SOS呼救界面
本文設(shè)計的基于微信小程序的特殊群體防走失定位系統(tǒng),能夠準確定位被監(jiān)督人群,并在發(fā)生意外時及時提醒、報警。系統(tǒng)運行穩(wěn)定,具有廣闊的應(yīng)用和發(fā)展前景。