湯致遠 沈亮 余子龍 張玲 吳有龍
摘 要:為了更好地智能化管理寵物和尋找丟失的寵物,本系統(tǒng)采用Python、Java、北斗定位、無線網絡通信等相關技術,可以實時獲取寵物的位置信息;基于樹莓派設計出了一種基于北斗定位的智能寵物防丟器,實現(xiàn)了電子圍欄管理、實時查看寵物位置信息以及寵物丟失后導航尋回的功能。
關鍵詞:北斗定位;防丟失;智能穿戴設備;樹莓派;無線通信;物聯(lián)網
中圖分類號:TP79;TN927文獻標識碼:A文章編號:2095-1302(2020)11-00-02
0 引 言
隨著社會經濟的快速發(fā)展,人民生活水平逐步提高,家養(yǎng)貓、狗等寵物已經成為了一些家庭成員中的重要組成。而且隨著人工智能、大數(shù)據和物聯(lián)網等技術的飛速發(fā)展,智能穿戴設備也在迅速的更新?lián)Q代,如運動手環(huán)、手表以及智能眼鏡等。但是在目前市場上,寵物所用的智能可穿戴設備還屬于新興事物[1]。
文獻[2]所提出的方案系統(tǒng)在設計時,使用了GPS導航和藍牙連接手機客戶端來實現(xiàn)對寵物的位置和健康狀況管理;文獻[3]中提到的系統(tǒng)使用MQTT協(xié)議上傳位置信息,可遠程查詢寵物的位置信息。然而,隨著我國北斗衛(wèi)星導航系統(tǒng)的全球覆蓋,基于北斗的各種研究也在迅猛發(fā)展[4]?;谏鲜鲅芯浚疚脑诩骖欉h程數(shù)據傳輸和客戶端交互的基礎上,添加了電子圍欄、POI搜索、北斗定位以及使用最為廣泛的4G傳輸,實現(xiàn)了在寵物丟失之前就能提前預警,以及在寵物尋回后能夠及時就醫(yī)等功能。
1 系統(tǒng)設計
該系統(tǒng)由硬件、軟件和云服務器三部分組成。硬件部分是載有北斗和4G模塊的樹莓派,可采集數(shù)據并傳輸信號至云端服務器;軟件部分主要通過與服務器端的通信獲取硬件所在的實時位置信息,并結合軟件實現(xiàn)電子圍欄、實時位置顯示、導航和興趣點搜索功能;云服務器部分主要實現(xiàn)位置信息和用戶賬號密碼的存取。系統(tǒng)通過北斗與GPS雙模芯片獲取樹莓派的實時位置信息,通過華為4G模塊訪問網絡,阿里云服務器數(shù)據庫通過Socket通信獲取和發(fā)送位置信息,以及發(fā)送用于校驗的用戶名密碼,最后經由高德API技術顯示在Android客戶端的地圖頁面上。用戶可以通過登錄Android客戶端訪問數(shù)據庫,查詢相關信息以及進行后續(xù)的導航操作。
基于北斗的智能寵物防丟器整體結構如圖1所示。本系統(tǒng)使用MySQL作為存儲和管理數(shù)據的數(shù)據庫,阿里云服務器的Ubuntu系統(tǒng)作為搭載整個服務器的系統(tǒng),通過PyCharm完成后臺服務器以及樹莓派的控制編碼編寫,通過Android Studio完成安卓客戶端的后臺控制代碼以及前段頁面代碼的編寫。
2 相關技術
2.1 北斗定位技術
北斗衛(wèi)星導航系統(tǒng)是我國自主研發(fā)的全球衛(wèi)星導航系統(tǒng),也是繼GPS、GLONASS之后第三個成熟的衛(wèi)星導航系統(tǒng)。北斗衛(wèi)星定位系統(tǒng)通過混合星座的布局,優(yōu)化了亞太上方的星座結構,使得亞太地區(qū)的導航信號更強、定位精度更高[5-6]。
2.2 安卓應用開發(fā)及發(fā)布
安卓是一種基于Linux內核的自由及開放源代碼的操作系統(tǒng),主要用于移動設備,比如智能手機和平板電腦。它由Google公司和開放手機聯(lián)盟領導及開發(fā)[7]。本系統(tǒng)使用Android Studio進行開發(fā),系統(tǒng)語言基于Java,布局語言基于XML。Android Studio是谷歌開發(fā)的Android集成開發(fā)工具,用于開發(fā)和調試,代碼完成后可直接打包生成安裝文件通過各種渠道發(fā)布。
2.3 數(shù)據庫與數(shù)據庫服務
數(shù)據庫允許用戶通過簡單的命令“增刪改查”想要存儲的信息,并且可以通過開放的系統(tǒng)端口進行遠程連接[8]。數(shù)據庫分為關系型數(shù)據庫和非關系型數(shù)據庫。本系統(tǒng)使用的MySQL數(shù)據庫即為使用最廣泛的關系型數(shù)據庫[9],能存儲定位經緯度信息。此外,它在連接安卓客戶端時能在查找后返回實時經緯度數(shù)據,使用高德API顯示在手機上,從而使定位和后期處理變得更加方便。
2.4 網絡通信技術
網絡通信通過互聯(lián)網將多臺設備連接在一起,以達到數(shù)據共享的目的[10]。該系統(tǒng)使用套接字通信,即Socket通信,本質是基于TCP/IP的通信方式[11]。
3 軟件功能闡述
用戶打開安卓客戶端后,輸入用戶名、密碼,如果校驗通過則會跳轉到模式選擇。目前模式選擇頁面可選的模式有電子圍欄和直接導航兩種。
(1)選擇電子圍欄,輸入期望的距離閾值,確定并且開啟電子圍欄。超過閾值則會在安卓系統(tǒng)的通知中心推送一條通知示警,此時跳轉到直接導航模式。
(2)選擇直接導航模式,則會跳轉到經緯度確認頁面,點擊刷新位置后會顯示目前硬件端所在經緯度以及軟件端所處經緯度。如果到達目的地發(fā)現(xiàn)寵物發(fā)生意外,可以點擊當前頁面最上方的按鈕跳轉到周邊興趣點搜索。興趣點搜索界面如圖2所示。
興趣點搜索關鍵詞為確定的關鍵詞“寵物”,距離為2 km。點擊興趣點搜索后,客戶端上的地圖控件將標注硬件端附近2 km內的寵物醫(yī)院,點擊可以看見其詳細地址以及距離。點擊詳情即可跳轉到如圖3所示的路徑規(guī)劃界面。
由于2 km范圍比較大,導航頁面會提供兩種選擇,分別是步行導航和駕車導航。選擇任意一種導航模式都會有路線預覽,并且有取消和開始導航按鈕。點擊取消則復位,點擊確認則跳轉到導航詳情頁。
4 硬件設計
本系統(tǒng)硬件核心使用樹莓派4B。樹莓派4B是一款基于ARM架構的微型電腦主板,MicroSD卡為內存硬盤,可以外接鼠標、鍵盤、移動硬盤、網線等;可以安裝Linux、Debian系統(tǒng),支持Python、Java、C/C++等語言編程開發(fā)。其尺寸較信用卡稍大,功耗極小,具備所有PC的基本功能[12]。樹莓派實物以及電路連接如圖4所示。
硬件系統(tǒng)工作流程如圖5所示。各模塊上電工作,樹莓派在后臺以秒為單位循環(huán)執(zhí)行程序指令。該程序主要實現(xiàn)的是解碼北斗芯片傳回的數(shù)據,并且截取出經緯度信息,通過4G上傳至云服務器數(shù)據庫。
5 結 語
本系統(tǒng)設計了基于北斗的智能寵物防丟器,主要實現(xiàn)了在移動端設置電子圍欄,實時監(jiān)控寵物位置,及寵物丟失后導航尋回并在寵物尋回時導航尋找附近寵物醫(yī)院等功能。小微化的硬件系統(tǒng)實現(xiàn)了穿戴設備的方便易攜,安卓客戶端實現(xiàn)了對寵物位置的管理和監(jiān)控,高速網絡連接也可以實現(xiàn)管理和監(jiān)控的強時效性。本系統(tǒng)相比于傳統(tǒng)的寵物防丟手段得到顯著優(yōu)化,提高了系統(tǒng)性能與檢測效率。
參考文獻
[1]孫芷鈺,劉瑋. 寵物出行智能產品設計研究[J]. 藝術科技,2019,32(5):215-216.
[2]胡月文.智能寵物脖環(huán)設計與應用[J].電聲技術,2019,43(9):58-59.
[3]林志舟,任凱,葉傲斌.基于MQTT的智能寵物追蹤系統(tǒng)[J].計算機系統(tǒng)應用,2020,29(2):124-128.
[4]陳誕瑋,謝柳青,姜玉龍,等.基于北斗定位的智能藥箱[J].物聯(lián)網技術,2019,9(9):94-96.
[5]陸明泉,姚錚,張嘉怡,等. 北斗衛(wèi)星導航系統(tǒng)信號設計的進展及發(fā)展趨勢[J].衛(wèi)星應用,2015,6(12):27-31.
[6]左朝陽,吳玉彬,陳坡. 北斗衛(wèi)星導航系統(tǒng)在亞太地區(qū)的服務性能評估[J]. 航天控制,2019,37(3):73-79 .
[7]張得震.基于現(xiàn)代安卓系統(tǒng)的開發(fā)、技術創(chuàng)新及市場化發(fā)展研究[J].數(shù)字技術與應用,2020,38(1):200.
[8]余祖玉,劉國童,姚超,等.數(shù)據庫系統(tǒng)筑起網絡安全護城河[J].科學技術創(chuàng)新,2019,23(33):62-63.
[9]肖宇.關系型與非關系型數(shù)據庫融合的數(shù)據庫課程建設[J].福建電腦,2019,35(12):111-112.
[10]李曉平.數(shù)據庫下的網絡通信信息管理系統(tǒng)分析[J].電腦知識與技術,2020,16(6):14-15.
[11]張曉娜,常樂冉,吳煒,等.Linux系統(tǒng)下Socket通信的實現(xiàn)[J].電聲技術,2020,44(1):87-89.
[12] NADAF R A,HATTURE S K,CHALLIGIDAD P S,et al. Smart mirror using raspberry pi for human monitoring and home security [M]. advanced informatics for computing research,2019.