|
4 weeks ago | |
---|---|---|
.. | ||
README.md | 4 weeks ago | |
assignment.md | 4 weeks ago | |
pi-gps-sensor.md | 4 weeks ago | |
single-board-computer-gps-decode.md | 4 weeks ago | |
virtual-device-gps-sensor.md | 4 weeks ago | |
wio-terminal-gps-decode.md | 4 weeks ago | |
wio-terminal-gps-sensor.md | 4 weeks ago |
README.md
位置追蹤
手繪筆記由 Nitya Narasimhan 提供。點擊圖片查看更大版本。
課前測驗
簡介
將食物從農場運送到消費者的主要過程包括將農產品裝箱後運上卡車、船舶、飛機或其他商業運輸工具,並將食物送到某個地方——可能直接送到客戶手中,或者送到中央集散地或倉庫進行處理。從農場到消費者的整個端到端過程被稱為 供應鏈。以下是由亞利桑那州立大學 W. P. Carey 商學院提供的一段影片,詳細介紹了供應鏈的概念及其管理方式。
🎥 點擊上方圖片觀看影片
添加物聯網設備可以大幅改善供應鏈管理,幫助您更好地掌握物品的位置、規劃運輸和貨物處理,並更快速地應對問題。
在管理車隊(如卡車)時,了解每輛車在特定時間的位置非常有幫助。車輛可以配備 GPS 感測器,將其位置發送到物聯網系統,讓車主能夠精確定位車輛位置、查看行駛路線,並了解車輛何時抵達目的地。大多數車輛在 WiFi 覆蓋範圍之外運行,因此它們使用蜂窩網絡來傳送這類數據。有時,GPS 感測器內建於更複雜的物聯網設備中,例如電子行車記錄簿。這些設備可以追蹤卡車的行駛時間,以確保司機遵守當地法律規定的工作時數。
在本課程中,您將學習如何使用全球定位系統 (GPS) 感測器追蹤車輛的位置。
本課程將涵蓋以下內容:
連接車輛
物聯網正在改變貨物運輸的方式,創造出一個由 連接車輛 組成的車隊。這些車輛連接到中央 IT 系統,報告其位置及其他感測器數據。擁有一個連接車輛的車隊有許多好處:
-
位置追蹤 - 您可以隨時精確定位車輛的位置,這樣可以:
- 當車輛即將抵達目的地時收到警報,以便準備卸貨人員
- 定位被盜車輛
- 結合位置和路線數據與交通問題,允許您在旅途中重新規劃車輛路線
- 符合法規要求。一些國家根據車輛在公共道路上行駛的里程數徵收稅款(例如 紐西蘭的 RUC),因此知道車輛在公共道路與私人道路上的行駛情況可以更容易計算應繳稅款。
- 在車輛故障時知道派遣維修人員的位置
-
司機數據 - 確保司機遵守速度限制、以適當速度轉彎、提前有效地剎車,並安全駕駛。連接車輛還可以配備攝像頭記錄事故。這可以與保險掛鉤,為良好駕駛者提供更低的保費。
-
司機工作時數合規性 - 確保司機僅在法律允許的時數內駕駛,根據引擎啟動和關閉的時間進行追蹤。
這些好處可以結合使用——例如,結合司機工作時數合規性與位置追蹤,重新規劃司機的路線,確保他們能在允許的駕駛時數內抵達目的地。這些還可以與其他車輛特定的感測器數據結合使用,例如來自溫控卡車的溫度數據,允許在當前路線可能導致貨物無法保持適當溫度時重新規劃路線。
🎓 物流是將貨物從一個地方運送到另一個地方的過程,例如從農場運送到超市,途經一個或多個倉庫。一位農民將番茄裝箱後運上卡車,送到中央倉庫,然後再裝上第二輛卡車,這輛卡車可能包含不同類型的農產品,最終送到超市。
車輛追蹤的核心組件是 GPS——能夠在地球上任何地方精確定位的感測器。在本課程中,您將學習如何使用 GPS 感測器,首先了解如何在地球上定義位置。
地理空間座標
地理空間座標用於定義地球表面上的點,類似於如何使用座標在電腦螢幕上繪製像素或在十字繡中定位針腳。對於單個點,您需要一對座標。例如,位於美國華盛頓州雷德蒙市的微軟園區的座標是 47.6423109, -122.1390293。
緯度與經度
地球是一個球體——一個三維的圓。因此,點的定義是通過將其分為 360 度,與圓的幾何形狀相同。緯度測量的是南北方向的度數,經度測量的是東西方向的度數。
💁 沒有人真正知道為什麼圓被分為 360 度。維基百科上的度數(角度)頁面 涵蓋了一些可能的原因。
緯度是通過圍繞地球並與赤道平行的線來測量的,將北半球和南半球分為各 90°。赤道為 0°,北極為 90°,也稱為北緯 90°,南極為 -90°,也稱為南緯 90°。
經度是測量東西方向的度數。經度的 0° 起點稱為 本初子午線,1884 年被定義為一條穿過 英國格林威治皇家天文台 的南北極線。
🎓 子午線是一條從北極到南極的假想直線,形成半圓。
要測量某一點的經度,您需要測量從本初子午線到穿過該點的子午線沿赤道的度數。經度範圍從 -180°(即西經 180°),經過本初子午線的 0°,到 180°(即東經 180°)。180° 和 -180° 指的是同一點,即反子午線或第 180 條子午線。這是一條位於地球另一側的子午線,與本初子午線相對。
💁 反子午線不應與國際日期變更線混淆,後者大致位於相同位置,但不是直線,並根據地緣政治邊界進行調整。
✅ 做些研究:試著找出您目前位置的緯度和經度。
度、分和秒 vs 十進制度數
傳統上,緯度和經度的度數測量使用六十進制(sexagesimal)編號系統,即基數為 60 的編號系統。這種編號系統由最早測量和記錄時間與距離的古巴比倫人使用。您可能每天都在使用六十進制而未意識到——例如將小時分為 60 分鐘,將分鐘分為 60 秒。
緯度和經度以度、分和秒為單位測量,其中一分等於 1/60 度,一秒等於 1/60 分。
例如,在赤道上:
- 1° 緯度約為 111.3 公里
- 1 分緯度為 111.3/60 = 1.855 公里
- 1 秒緯度為 1.855/60 = 0.031 公里
分的符號是一個單引號,秒的符號是雙引號。例如,2 度 17 分 43 秒可以寫作 2°17'43"。秒的小數部分以十進制表示,例如半秒為 0°0'0.5"。
電腦不使用六十進制,因此在大多數電腦系統中,這些座標以十進制度數表示。例如,2°17'43" 為 2.295277。通常省略度數符號。
座標總是以 緯度, 經度
的格式給出,因此前面提到的微軟園區座標 47.6423109,-122.117198 包括:
- 緯度為 47.6423109(赤道以北 47.6423109 度)
- 經度為 -122.1390293(本初子午線以西 122.1390293 度)。
全球定位系統 (GPS)
GPS 系統使用多顆環繞地球的衛星來定位您的位置。您可能已經在不知不覺中使用過 GPS 系統——例如在手機上的地圖應用(如 Apple Maps 或 Google Maps)中查找您的位置,或者在叫車應用(如 Uber 或 Lyft)中查看您的車輛位置,或者在車內使用衛星導航(sat-nav)。
🎓 衛星導航中的 "衛星" 就是 GPS 衛星!
GPS 系統的工作原理是多顆衛星發送信號,信號中包含每顆衛星的當前位置以及精確的時間戳。這些信號通過無線電波傳送,並由 GPS 感測器中的天線接收。GPS 感測器會檢測這些信號,並根據當前時間測量信號從衛星到感測器的傳輸時間。由於無線電波的速度是恆定的,GPS 感測器可以使用發送的時間戳計算感測器與衛星的距離。通過結合至少 3 顆衛星的數據及其發送的位置,GPS 感測器能夠精確定位其在地球上的位置。
💁 GPS 感測器需要天線來檢測無線電波。內建 GPS 的卡車和汽車通常將天線安裝在擋風玻璃或車頂上,以獲得良好的信號。如果您使用的是獨立的 GPS 系統,例如智能手機或物聯網設備,則需要確保 GPS 系統或手機內建的天線能夠清晰地看到天空,例如安裝在擋風玻璃上。
GPS 衛星環繞地球運行,並非固定在感測器上方,因此位置數據包括海拔高度(相對於海平面)以及緯度和經度。
GPS 曾經受到美國軍方的精度限制,精度約為 5 公尺。這一限制在 2000 年被取消,允許精度達到 30 公分。但由於信號干擾,並非總能達到這一精度。
✅ 如果您有智能手機,打開地圖應用並查看您的位置精度。可能需要一段時間讓手機檢測多顆衛星以獲得更精確的位置。 💁 衛星內部配備了極為精確的原子鐘,但由於愛因斯坦的狹義與廣義相對論所預測的速度增加導致時間變慢的現象,這些原子鐘每天會比地球上的原子鐘慢38微秒(0.0000038秒)。這是因為衛星的運行速度比地球自轉速度更快。這種時間漂移現象已被用來驗證狹義與廣義相對論的預測,並且在設計 GPS 系統時必須進行調整。從字面上來說,GPS 衛星上的時間確實運行得更慢。 全球定位系統(GPS)已由多個國家和政治聯盟開發並部署,包括美國、俄羅斯、日本、印度、歐盟和中國。現代GPS感測器可以連接到大多數這些系統,以獲得更快、更準確的定位。
🎓 每個部署中的衛星群被稱為星座。
讀取GPS感測器數據
大多數GPS感測器通過UART傳送GPS數據。
⚠️ UART已在專案2,課程2中介紹。如有需要,請回顧該課程。
您可以在您的物聯網設備上使用GPS感測器來獲取GPS數據。
任務 - 連接GPS感測器並讀取GPS數據
按照相關指南使用您的物聯網設備讀取GPS數據:
NMEA GPS數據
當您運行代碼時,您可能會看到輸出中出現一些看似無意義的內容。事實上,這是標準的GPS數據,並且每一部分都有其意義。
GPS感測器使用NMEA消息輸出數據,遵循NMEA 0183標準。NMEA是全國海洋電子協會的縮寫,這是一個美國的貿易組織,負責制定海洋電子設備之間的通信標準。
💁 該標準是專有的,售價至少為2,000美元,但有足夠的信息已進入公共領域,因此大部分標準已被逆向工程並可用於開源和其他非商業代碼。
這些消息是基於文本的。每條消息由一個以$
字符開頭的句子組成,後面是2個字符表示消息的來源(例如,美國GPS系統的GP,俄羅斯GPS系統GLONASS的GN),以及3個字符表示消息的類型。消息的其餘部分是用逗號分隔的字段,最後以換行符結束。
一些可能接收到的消息類型包括:
類型 | 描述 |
---|---|
GGA | GPS定位數據,包括GPS感測器的緯度、經度和海拔,以及用於計算定位的可見衛星數量。 |
ZDA | 當前日期和時間,包括當地時區。 |
GSV | 可見衛星的詳細信息 - 定義為GPS感測器可以檢測到信號的衛星。 |
💁 GPS數據包括時間戳,因此您的物聯網設備可以從GPS感測器獲取時間,而不需要依賴NTP伺服器或內部實時時鐘。
GGA消息使用(dd)dmm.mmmm
格式提供當前位置,並附帶一個字符表示方向。格式中的d
表示度,m
表示分,秒則以分的小數表示。例如,2°17'43"將表示為217.716666667 - 2度,17.716666667分。
方向字符可以是N
或S
表示緯度的北或南,E
或W
表示經度的東或西。例如,緯度2°17'43"的方向字符為N
,而-2°17'43"的方向字符為S
。
例如 - NMEA句子$GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
-
緯度部分是
4738.538654,N
,轉換為十進制度數為47.6423109。4738.538654
表示47.6423109,方向為N
(北),因此是正緯度。 -
經度部分是
12208.341758,W
,轉換為十進制度數為-122.1390293。12208.341758
表示122.1390293°,方向為W
(西),因此是負經度。
解碼GPS感測器數據
與其使用原始的NMEA數據,最好將其解碼為更有用的格式。有多個開源庫可以幫助從原始NMEA消息中提取有用的數據。
任務 - 解碼GPS感測器數據
按照相關指南使用您的物聯網設備解碼GPS感測器數據:
🚀 挑戰
自己編寫一個NMEA解碼器!不依賴第三方庫解碼NMEA句子,您能否編寫自己的解碼器來從NMEA句子中提取緯度和經度?
課後測驗
回顧與自學
- 在維基百科的地理座標系統頁面上閱讀更多關於地理座標的內容。
- 在維基百科的本初子午線頁面上了解地球以外天體的本初子午線。
- 研究由歐盟、日本、俄羅斯、印度和美國等世界各國政府和政治聯盟開發的各種GPS系統。
作業
免責聲明:
本文件使用 AI 翻譯服務 Co-op Translator 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用本翻譯而產生的任何誤解或錯誤解讀概不負責。