ESP32 + GPS 模組 +TinyGPS

更新於 發佈於 閱讀時間約 4 分鐘

使用Arduino IDE 編譯

GPS模組讀取的為複雜的NMEA 資料,因此使用Tiny GPS 函數庫可以很方便的直接將經緯度,時間,速度 資料讀取出來。

本文是參考 https://github.com/mikalhart/TinyGPSPlus 官方資料庫範例

先安裝TinyGPSPlus-ESP32 library

raw-image


以下是程式碼

#include <TinyGPSPlus.h>

TinyGPSPlus gps;

void setup() {

Serial.begin(115200);

Serial2.begin(9600);

}


void loop()

{

while(Serial2.available()>0)

if(gps.encode(Serial2.read()))

displayInfo();

if (millis() > 5000 && gps.charsProcessed() < 10)

{

Serial.println(F("No GPS detected: check wiring."));

while(true);

}

}


void displayInfo()

{

Serial.print(F("Location: "));

if(gps.location.isValid())

{

Serial.print(gps.location.lat(), 6);

Serial.print(F(","));

Serial.print(gps.location.lng(), 6);

}

else

{

Serial.print(F("INVALID"));

}

Serial.print(F(" Date/Time: "));

if(gps.date.isValid() && gps.time.isValid() )

{

Serial.print(gps.date.year());

Serial.print(F("/"));

Serial.print(gps.date.month());

Serial.print(F("/"));

Serial.print(gps.date.day());

Serial.print(F(" "));

if (gps.time.hour() <10) Serial.print(F("0"));

Serial.print(gps.time.hour());

Serial.print(F(":"));

if (gps.time.minute()<10) Serial.print(F("0"));

Serial.print(gps.time.minute());

Serial.print(F(":"));

if(gps.time.second() <10) Serial.print(F("0"));

Serial.print(gps.time.second());

}

else

{

Serial.print(F("INVALID"));

}

Serial.print(F(" Speed: "));

if (gps.speed.isValid())

{

Serial.print(gps.speed.kmph());

Serial.print(F("km"));

}

else

{

Serial.print(F("INVALID"));

}

Serial.println();

}

這樣從序列阜就可以看到經緯度,時間,速度被讀取出來,不用去閱讀$GNRMC、 $GPGSV等GPS 資料。時間是UTC時間,台灣要在加8小時。另外如果是用Arduino板子接GPS 此程式不適用,因讀取GPS 資料串的方式不同。

留言
avatar-img
留言分享你的想法!
avatar-img
程式_筆記
3會員
29內容數
寫程式的筆記,把一些自學寫過的程式放上來
程式_筆記的其他內容
2025/03/12
本文介紹如何使用Open Drone map 中的WebODM開源軟體。
Thumbnail
2025/03/12
本文介紹如何使用Open Drone map 中的WebODM開源軟體。
Thumbnail
2025/03/05
本文介紹如何使用Open Drone Map,Open drone map 是一個開源無人機建模軟體,為Github上的免費開源專案,利用電腦視覺影像的技術,可以使無人機拍攝的影像轉換成正射影像,數值地形模型,3D建模,植物健康圖。 Open Done Map 有很多種使用方法,本文主要介紹如何使
Thumbnail
2025/03/05
本文介紹如何使用Open Drone Map,Open drone map 是一個開源無人機建模軟體,為Github上的免費開源專案,利用電腦視覺影像的技術,可以使無人機拍攝的影像轉換成正射影像,數值地形模型,3D建模,植物健康圖。 Open Done Map 有很多種使用方法,本文主要介紹如何使
Thumbnail
2024/12/23
本文簡單介紹如何使用SQLite。 先到官方網站下載SQLite 檔案。
Thumbnail
2024/12/23
本文簡單介紹如何使用SQLite。 先到官方網站下載SQLite 檔案。
Thumbnail
看更多
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
註解 & Print & 變數型態
Thumbnail
註解 & Print & 變數型態
Thumbnail
自訂元件生成位置顧名思義就是可以指定部分HTML區塊渲染在特定的畫面上,即使在不同組件也能把A組件內的部分畫面,展現在B組件上,以下方程式舉例。
Thumbnail
自訂元件生成位置顧名思義就是可以指定部分HTML區塊渲染在特定的畫面上,即使在不同組件也能把A組件內的部分畫面,展現在B組件上,以下方程式舉例。
Thumbnail
R036 Blog API 伺服器的維護更新日誌 (2024/04/30) 開發環境技術 語言: Javascript 環境: Node JS 框架: Express.js 本次維護目的 優化及測試API伺服器程運行 重溫程式碼架構以便日後更新優化 Reac
Thumbnail
R036 Blog API 伺服器的維護更新日誌 (2024/04/30) 開發環境技術 語言: Javascript 環境: Node JS 框架: Express.js 本次維護目的 優化及測試API伺服器程運行 重溫程式碼架構以便日後更新優化 Reac
Thumbnail
本文是參考 https://github.com/Tinyu-Zhao/TinyGPSPlus-ESP32 官方資料庫範例
Thumbnail
本文是參考 https://github.com/Tinyu-Zhao/TinyGPSPlus-ESP32 官方資料庫範例
Thumbnail
ESP32 連接 GPS模組 讀取gps 模組資料
Thumbnail
ESP32 連接 GPS模組 讀取gps 模組資料
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News