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
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
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 官方資料庫範例
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News