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
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
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