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
JUST FOR FUN
4會員
29內容數
業餘小飛機愛好者&寫點程式來玩
JUST FOR FUN的其他內容
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
創作不只是個人戰,在 vocus ,也可以是一場集體冒險、組隊升級。最具代表性的創作者社群「vocus 野格團」,現在有了更強大的新夥伴加入!除了大家熟悉的「官方主題沙龍」,這次我們徵召了 8 位領域各異的「個人主題專家」,將再度嘗試創作的各種可能,和格友們激發出更多未知的火花。
Thumbnail
創作不只是個人戰,在 vocus ,也可以是一場集體冒險、組隊升級。最具代表性的創作者社群「vocus 野格團」,現在有了更強大的新夥伴加入!除了大家熟悉的「官方主題沙龍」,這次我們徵召了 8 位領域各異的「個人主題專家」,將再度嘗試創作的各種可能,和格友們激發出更多未知的火花。
Thumbnail
vocus 最具指標性的創作者社群──「野格團」, 2026 年春季,這支充滿專業、熱情的團隊再次擴編,迎來了 8 位實力堅強的「個人主題專家」新成員 💫💫💫 從投資理財、自我成長、閱讀書評到電影戲劇,他們各自帶著獨特的「創作超能力」準備在格友大廳與大家見面。
Thumbnail
vocus 最具指標性的創作者社群──「野格團」, 2026 年春季,這支充滿專業、熱情的團隊再次擴編,迎來了 8 位實力堅強的「個人主題專家」新成員 💫💫💫 從投資理財、自我成長、閱讀書評到電影戲劇,他們各自帶著獨特的「創作超能力」準備在格友大廳與大家見面。
Thumbnail
註解 & Print & 變數型態
Thumbnail
註解 & Print & 變數型態
Thumbnail
自訂元件生成位置顧名思義就是可以指定部分HTML區塊渲染在特定的畫面上,即使在不同組件也能把A組件內的部分畫面,展現在B組件上,以下方程式舉例。
Thumbnail
自訂元件生成位置顧名思義就是可以指定部分HTML區塊渲染在特定的畫面上,即使在不同組件也能把A組件內的部分畫面,展現在B組件上,以下方程式舉例。
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