這個(gè)簡(jiǎn)單的設(shè)備可以跟蹤您孩子的微型車或您配偶的汽車的位置。這涉及通過(guò)GPS 定位使用信號(hào)。Pytrack 使得創(chuàng)建用于控制對(duì)象和車輛的設(shè)備變得非常簡(jiǎn)單。
快速瀏覽 Pytrack
這是一個(gè)通過(guò) GPS 接收器和三軸加速度計(jì)豐富 Pycom 系統(tǒng)的設(shè)備(參見(jiàn)圖 1)。結(jié)果,它允許我們定位我們的位置并確定它的方向。以大型集成電路為代表的 GPS 接收器、12 位三軸加速度計(jì)、帶串行訪問(wèn)的USB 端口和 LiPo 電池充電器都在板上。還有一個(gè)用于存儲(chǔ)數(shù)據(jù)的 SD 卡插槽。即使在“睡眠”模式下,系統(tǒng)消耗的功率也非常少,僅消耗 8 uA。該卡尺寸僅為 55mm x 35mm x 10mm,重 11 克。它可以在 -40 到 +85 攝氏度的溫度范圍內(nèi)運(yùn)行。
全球定位系統(tǒng)或全球?qū)Ш叫l(wèi)星系統(tǒng)?
Pytrack能夠檢測(cè)到整個(gè)GNSS衛(wèi)星網(wǎng)絡(luò)。這些是屬于不同國(guó)家的全球?qū)Ш叫l(wèi)星系統(tǒng) (GNSS),而 GPS 僅提供美國(guó)衛(wèi)星。因此,Pytrak 支持俄羅斯的 GLONASS 系統(tǒng)、歐盟的伽利略系統(tǒng)和歐洲航天局 ESA。還支持僅限日本的 QZSS 系統(tǒng)。Pytrack 有一個(gè) GPS(帶有 GLONASS),可以輸出經(jīng)度、緯度、速度和其他有關(guān)當(dāng)前位置的信息。讓我們看看如何使用 Pytrack 的集成 GPS 模塊來(lái)確定用戶在地球上的位置。很可能,必須更新卡固件,并且必須安裝庫(kù)。事實(shí)上,Pytrack 確實(shí)有一個(gè)“固件更新模式”,它要求您在按住集成按鈕的同時(shí)連接到系統(tǒng)。模式:
- 在“正?!蹦J较?,該卡被操作系統(tǒng)視為串行端口,并由 Windows 自動(dòng)安裝在設(shè)備管理端口(COM 和 LPT)中;
- 在“固件更新”模式下,設(shè)備無(wú)法自動(dòng)安裝。您必須通過(guò)手動(dòng)過(guò)程安裝設(shè)備驅(qū)動(dòng)程序才能將固件更新發(fā)送到卡。
程序員可以使用 Pytrack API 與開(kāi)發(fā)板通信。現(xiàn)在讓我們看看 Pytrack 的每個(gè)傳感器可用的各種方法和類的詳細(xì)信息。對(duì)于三軸加速度計(jì)(LIS2HH12)的管理,系統(tǒng)使用以下廠商:
LIS2HH12 類(pytrack = 無(wú),sda = 'P22',scl = 'P21')
它創(chuàng)建一個(gè) LIS2HH12 對(duì)象并返回與圍繞 3 個(gè)軸的加速度和振蕩相關(guān)的值。必須將 Pytrack 或 I2C 對(duì)象傳遞給制造商才能正確執(zhí)行操作。可用的方法如下:
此方法從 LIS2HH12 模塊讀取加速度并返回一個(gè)包含 3 個(gè)加速度值 (G) 的元組。
LIS2HH12.roll()
此方法讀取 LIS2HH12 模塊的當(dāng)前旋轉(zhuǎn)并返回其在 -180 和 180 之間的度數(shù),以浮點(diǎn)值表示。
LIS2HH12.pitch()
此方法讀取 LIS2HH12 模塊的當(dāng)前傾斜度并返回以度數(shù)表示的浮點(diǎn)值,范圍從 -90 到 90。當(dāng)卡片傾斜度超出此范圍時(shí),值會(huì)再次重復(fù)(取模值)。該系統(tǒng)采用以下制造商進(jìn)行 GPS(帶 GLONASS)管理,以及接收經(jīng)度、緯度、速度和其他信息:
L76GNSS 類(pytrack = 無(wú),sda = 'P22',scl = 'P21',超時(shí) = 無(wú))
它創(chuàng)建一個(gè) L76GNSS 對(duì)象,該對(duì)象返回經(jīng)度和緯度值。必須向構(gòu)造函數(shù)傳遞 Pytrack 或 I2C 對(duì)象才能正確執(zhí)行操作。超時(shí)必須設(shè)置以秒為單位的時(shí)間段,在此期間系統(tǒng)搜索 GPS 信號(hào)。如果在超時(shí)到期之前沒(méi)有找到連接,該方法將返回值“none”。可用的方法如下:
L76GNSS.坐標(biāo)(調(diào)試 = 假)
該方法從 L76GNSS 讀取經(jīng)度和緯度,并返回一個(gè)包含經(jīng)度和緯度的元組。將 debug 設(shè)置為True,GPS 輸出更加詳細(xì)。請(qǐng)注意,每周都會(huì)向庫(kù)中添加新功能。使用 Pytrack,您可以接收有關(guān)設(shè)備位置的數(shù)據(jù)。在以下示例中,我們將了解系統(tǒng)如何將數(shù)據(jù)保存到 SD 卡。
記住位置
因此,使用 Pytrack,可以收集有關(guān)設(shè)備位置的數(shù)據(jù),從而跟蹤所遵循的路徑(參見(jiàn)圖 2中的示例)。以下示例將說(shuō)明在 SD 卡上配置和保存檢測(cè)到的信息的指南。也可以將項(xiàng)目集成到網(wǎng)絡(luò)中,以便將結(jié)果轉(zhuǎn)發(fā)到云端。以下源代碼清單通過(guò)“sd”對(duì)象準(zhǔn)備大容量存儲(chǔ)器。存檔文件包含在“/sd”文件夾中,其名稱為“test.txt”。初步但不是強(qiáng)制性的,程序使用 readlines() 方法在控制臺(tái)上顯示此存檔的內(nèi)容。實(shí)際代碼包含在執(zhí)行以下操作的無(wú)限“while”循環(huán)中:
- L76GNSS使用coordinates()方法從L76GNSS中讀取經(jīng)緯度,返回一個(gè)包含當(dāng)前位置經(jīng)緯度的元組;
- 它以“追加”模式打開(kāi)文件“/sd/test.txt”。每條添加的記錄都將附加到文件的內(nèi)容中,允許您創(chuàng)建更大的存檔,而不會(huì)刪除以前的信息;
- 經(jīng)度和緯度坐標(biāo)物理存儲(chǔ)在檔案中,在每行末尾添加“ \ ”字符以轉(zhuǎn)到下一行;
- 它關(guān)閉文件。在寫入操作結(jié)束時(shí)必須始終遵循此規(guī)則;
- 應(yīng)用程序設(shè)置了 10 秒的等待暫停,顯然,用戶可以根據(jù)應(yīng)用程序所需的檢測(cè)分辨率進(jìn)行修改。
因此,即使在錄制操作之后,也可以使用連接到 PC 的 SD 卡讀卡器適配器查閱存檔文件。
進(jìn)口機(jī)
導(dǎo)入數(shù)學(xué)
進(jìn)口網(wǎng)絡(luò)
導(dǎo)入 操作系統(tǒng)
進(jìn)口時(shí)間
導(dǎo)入 utime
導(dǎo)入gc
導(dǎo)入pycom
從機(jī)器導(dǎo)入 RTC
從機(jī)器導(dǎo)入 SD
從 L76GNSS 導(dǎo)入 L76GNSS
從 pytrack 導(dǎo)入 Pytrack
從網(wǎng)絡(luò)導(dǎo)入WLAN
時(shí)間.睡眠(2)
gc .enable()
py = Pytrack()
時(shí)間.睡眠(1)
l76 = L76GNSS(py,超時(shí)=30,緩沖區(qū)=512)
# 加載 SD 卡
sd = SD()
os.mount (sd, '/sd')
os.listdir ('/sd')
# 讀取 SD 卡
print ('從文件中讀?。?)
f =打開(kāi)('/sd/test.txt', 'r')
打?。╢.readlines())
f.close()
打印(“從文件中讀取?!保?/font>
時(shí)間.睡眠(1)
而(真):
坐標(biāo) = l76.coordinates()
print(“{} – {}”.format (coord, gc.mem_free()))
f = open('/sd/test.txt' , 'a') # 追加
f.write(“{}”.format(coord [1]) )
f.write(' ')
f.write(“{}”.format(coord [0]) )
f.write(',\ n')
f.close ()
print ('睡眠 10 秒。')
時(shí)間.sleep(10)
當(dāng)然,可以通過(guò)進(jìn)一步的可能性來(lái)豐富源列表,以獲取所有類型的統(tǒng)計(jì)數(shù)據(jù)和分析,以使其完美地適應(yīng)您的需求。例如,可以計(jì)算從登記的位置點(diǎn)行駛的道路公里數(shù),記住計(jì)算地球表面兩點(diǎn)之間距離的公式如下:
通過(guò)取兩個(gè)連續(xù)點(diǎn)并應(yīng)用上述公式來(lái)計(jì)算行進(jìn)距離非常簡(jiǎn)單,該公式使用勾股定理。請(qǐng)記住,由于地球的曲率,結(jié)果必須乘以變形系數(shù),等于 0.9996。請(qǐng)記住,距離的計(jì)算單位是度,而不是公里。
如何使用日志文件
要注冊(cè)當(dāng)前位置,您必須先等待幾分鐘,讓 Pytrack 與衛(wèi)星正確同步。因此,最好在開(kāi)放區(qū)域而不是在房屋或建筑物內(nèi)進(jìn)行測(cè)量。因此,日志文件會(huì)按照軟件設(shè)置指定的時(shí)間間隔創(chuàng)建。最終地圖的分辨率越高,間隔時(shí)間越短。有許多方法可以分析旅行期間收集的數(shù)據(jù)。最有效的方法之一是使用免費(fèi)的 GpsPrune 軟件,該軟件接受包含旅程坐標(biāo)的日志文件作為輸入,并在交互式地圖上顯示相關(guān)信息,如圖 3所示. 您可以執(zhí)行任何數(shù)據(jù)查詢操作,并通過(guò)位置記錄文件獲取您需要的所有信息。
以下是管理 GPX 文件并允許您分析 PC 上走過(guò)的道路的免費(fèi)桌面軟件的簡(jiǎn)短列表:
- 全球定位系統(tǒng);
- GPX_編輯器;
- GpsTrackEditor;
結(jié)論
Pytrack返回的經(jīng)緯度可以直接復(fù)制粘貼到谷歌地圖搜索框中,在地圖上顯示一個(gè)占位符,表示當(dāng)前位置。
審核編輯:湯梓紅
-
gps
+關(guān)注
關(guān)注
22文章
2865瀏覽量
165816 -
定位系統(tǒng)
+關(guān)注
關(guān)注
10文章
568瀏覽量
36415 -
衛(wèi)星系統(tǒng)
+關(guān)注
關(guān)注
0文章
73瀏覽量
17386
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論