使用 Raspberry Pi、Golang 和 HERE XYZ 制作實時地圖

到目前為止,您可能已經看過我的一些與 Raspberry Pi 和位置數據相關的教程。我是這些小型物聯網 (IoT) 設備的忠實粉絲,并編寫了有關使用 Golang 進行 WLAN 定位 和 使用 Node.js 進行 GPS 定位的教程。

我想繼續沿著 Golang 路線,做一個關于 GPS 定位的教程,并將該數據存儲在 HERE XYZ 中以便實時查看。換句話說,讓 Raspberry Pi 使用 Golang 收集 GPS 數據,將其推送到 HERE XYZ,并通過查詢 HERE XYZ 中的數據在某些 Web 客戶端上實時查看。

我們將看看如何完成所有這些,如果一切順利,我們最終可能會得到如下所示的結果:

rpi-golang-gps-路線

上圖是我在車里帶著 Raspberry Pi 開車時得到的結果。

要求
要成功學習本教程,必須滿足一些要求。可能可以使用變體,但我只能確認什么對我有用。

在硬件方面,我使用以下設備:

樹莓派零W
新6M GPS
有源外置天線
用于外部天線的 U.FL 適配器
您可能可以使用任何具有 WiFi 的 Raspberry Pi 型號。如果你的 Raspberry Pi 有一個 LTE 模塊,那就更好了,因為我只是將手機連接到車上來訪問互聯網。

GPS 模塊與我在之前的教程中引用的模塊相同, ?它直接連接到我的計算機。你需要一個天線;否則,可能需要幾天時間才能修復衛星。

在軟件和服務方面,您需要以下內容:

Golang 安裝在您的開發主機上
一個免費的 HERE 帳戶
您需要一個 HERE 帳戶來配置 HERE XYZ 來存儲您的位置數據。由于 Golang 編譯為本機二進制文件,因此您只需要在開發計算機上使用它即可。如果您嘗試在 Raspberry Pi 上進行開發,由于硬件規格較弱,構建過程可能會很慢。

使用 Golang 在 Raspberry Pi 上收集 GPS 數據
如果您閱讀過我之前的教程,標題為 使用 Golang 和串行 UART 連接對 NEO 6M GPS 位置進行反向地理編碼,其中一些內容看起來會很熟悉。不過,復習一下也沒什么壞處。

在創建新項目之前,請執行以下命令:

1
去 獲取 github 。com / paulmach / go . 地理數據格式
2
去 獲取 github 。com / adrianmo / go - nmea
3
去 獲取 github 。com / jacobsa / go -串行/串行


上面的命令將會獲取我們所需要的包,為我們節省大量的開發時間。Serial ?包將允許我們訪問 Raspberry Pi 和 GPS 模塊之間的串行連接, ?go-nmea 包將允許我們將原始 GPS 數據解析為我們可以理解的內容,而 go.geojson包 將允許我們創建 GeoJSON要發送到 HERE XYZ 的格式化數據。

有了必要的包后, 在$GOPATH中的某個位置創建一個main.go 文件 ?并添加以下樣板代碼:

1


上面的代碼是一個很好的起點。我們所說的是打開 Raspberry Pi 上的/dev/ttyS0 串行端口并使用 9600 的波特率。對于傳入的任何數據,我們將使用 a 訪問它并將 Scanner 其打印出來。我們使用 a 是 Scanner 因為我們想要完整的數據行,而不是零散的數據。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/161446.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161446.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161446.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

目標檢測YOLO實戰應用案例100講-基于YOLO的小目標檢測改進算法

目錄 前言 國內外研究現狀 常規尺寸目標檢測算法 小目標的檢測算法

stm32定時器輸入捕獲模式

頻率測量 頻率測量有兩種方法 測頻法:在閘門時間T內,對上升沿或下降沿計次,得到N,則評率fxN/T測周法:兩個上升沿內,以標準頻率fc計次得到N,則頻率fx fc/N中界頻率:測頻法和測周法誤…

Spark的通用運行流程與Spark YARN Cluster 模式的運行流程

Spark的通用運行流程 集群啟動后Worker節點會向Master節點心跳匯報資源Client向Driver提交APP,根據不同的運行模式在不同的地方創建Driver。Driver以粗粒度的方式向Master注冊應用并申請資源(在Application執行之前,將所有的資源申請完畢&…

助力企業前行——ScalaSpark最佳實踐課程

時間飛逝,轉眼間我們的Scala&Spark培訓課程已經圓滿結束!在這段精彩的學習旅程中,你們展現了堅韌、決心和追求卓越的品質。 scala(Scalable Language)是一種多范式的編程語言,其設計的初衷是要集成面向對象編程和函數式編程的…

Cookie與Session知識

目錄 一.Cookie與Session的發展史 1.Cookie的發展史 2.Session的發展史 3.Cookie和Session的關系 4.總結 二.Cookie與Session詳解 1.Cookie 2.Session 3.token 4.總結 三.Django操作Cookie 1.設置Cookie 2.獲取Cookie 3.設置超時時間 4.注銷Cookie 5.登錄功能實…

【機器學習】On the Identifiability of Nonlinear ICA: Sparsity and Beyond

前言 本文是對On the Identifiability of Nonlinear ICA: Sparsity and Beyond (NIPS 2022)中兩個結構稀疏假設的總結。原文鏈接在Reference中。 什么是ICA(Independent component analysis)? 獨立成分分析簡單來說,就是給定很多的樣本X,通…

Springboot-熱部署-IDEA2023

方式一&#xff1a;jrebel 方式二&#xff1a; 1、導入依賴 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <…

C++ DAY08 異常

概念 異常事件&#xff08;如&#xff1a;除 0 溢出&#xff0c;數組下標越界&#xff0c;所要讀取的文件不存在 , 空指針&#xff0c;內存不足 等等&#xff09; 在 C 語言對錯誤的處理是兩種方法&#xff1a; 一是使用整型的返回值標識錯誤&#xff1b; 二是使用 errn…

自動解決IP沖突的問題 利用批處理更改末位IP循環+1直到網絡暢通為止 解放雙手 事半功倍

好久沒出來寫點什么了&#xff0c;難道今天有點時間&#xff0c;順便把這兩天碰到的問題出個解決方法吧。 這幾天去客戶那兒解決網絡問題&#xff0c;因為客戶的網絡是固定的靜態IP&#xff0c;因為沒做MAC綁定&#xff0c;IP固定在本地電腦上&#xff0c;只要上不了網&#xf…

PDF轉Word,1行Python代碼就夠了,免費用

大家好&#xff0c;這里是程序員晚楓。 今年十一假期沒出去旅游&#xff0c;在家里更新一套原創課程&#xff0c;&#x1f449;給小白的《50講Python自動化辦公》。 所有功能&#xff0c;都只需要1行代碼&#xff0c;非常適合非程序員入門Python使用。 目前全網播放量直逼100…

RK3588平臺開發系列講解(嵌入式AI篇)RKNPU詳解

文章目錄 一、CPU、GPU、FPGA和NPU介紹二、CPU、GPU、FPGA和NPU區別三、NPU 應用四、RKNPU沉淀、分享、成長,讓自己和他人都能有所收獲!?? ?? 本篇將給大家介紹什么是RKNPU。 一、CPU、GPU、FPGA和NPU介紹 二、CPU、GPU、FPGA和NPU區別 若考慮成本、功耗、計算能力以及體…

探秘開發app與小程序:一場技術與創新的博弈

app與小程序&#xff1a;一場技術與創新的博弈隨著科技的飛速發展&#xff0c;移動應用程序已經成為我們日常生活中不可或缺的一部分。在這個充滿競爭的時代&#xff0c;企業紛紛投身于開發各類移動應用&#xff0c;以期在市場中占據一席之地。然而&#xff0c;面對多樣化的應用…

PC訪問華為昇騰開發板的摸索過程

作者&#xff1a;朱金燦 來源&#xff1a;clever101的專欄 為什么大多數人學不會人工智能編程&#xff1f;>>> 最近要折騰華為昇騰開發板&#xff08;官方名稱叫&#xff1a;Atlas 200I DK&#xff09;。先是按照官方教程折騰&#xff1a;Atlas200DK環境部署。我發現…

Spark---轉換算子、行動算子、持久化算子

一、轉換算子和行動算子 1、Transformations轉換算子 1&#xff09;、概念 Transformations類算子是一類算子&#xff08;函數&#xff09;叫做轉換算子&#xff0c;如map、flatMap、reduceByKey等。Transformations算子是延遲執行&#xff0c;也叫懶加載執行。 2)、Transf…

Jina AI 的 8K 向量模型上線 AWS Marketplace,支持本地部署!

在當前多模態 AI 和大模型技術風頭正勁的背景下&#xff0c;Jina AI 始終領跑于創新前沿&#xff0c;技術領先。2023 年 10 月 30 日&#xff0c;Jina AI 隆重推出 jina-embeddings-v2&#xff0c;這是全球首款支持 8192 輸入長度的開源向量大模型&#xff0c;其性能媲美 OpenA…

匯編-PROC定義子過程(函數)

過程定義 過程用PROC和ENDP偽指令來聲明&#xff0c; 并且必須為其分配一個名字(有效的標識符) 。目前為止&#xff0c; 我們所有編寫的程序都包含了一個main過程&#xff0c; 例如&#xff1a; 當要創建的過程不是程序的啟動過程時&#xff0c; 就用RET指令來結束它。RET強制…

Bean依賴注入注解開發

value Value("xfy")private String userName;private String userName;Value("xiao")public void setUserName(String userName) {this.userName userName;} Autowired // 根據類型進行注入 如果同一類型的Bean有多個&#xff0c;嘗試根基名字進行二次…

AIGC,ChatGPT AI繪畫 Midjourney 注冊流程詳細步驟

AI 繪畫,Midjourney完成高清圖片繪制,輕松掌握AI工具。 前期準備: ① 一個能使用的谷歌賬號 ② 可以訪問外網 Midjourney注冊 1.進入midjourney官網https://www.midjourney.com 點擊左下角”Join the Beta”,就可以注冊,第一次使用的小伙伴會彈出提示,只需要點擊Acc…

2019年12月 Scratch(三級)真題解析#中國電子學會#全國青少年軟件編程等級考試

Scratch等級考試(1~4級)全部真題?點這里 一、單選題(共25題,每題2分,共50分) 第1題 怎樣修改圖章的顏色? A:只需要一個數字來設置顏色 B:設置RGB的值 C:在畫筆中設置顏色、飽和度、亮度 D:在外觀中設置或修改角色顏色特效 答案:D 在外觀中設置或修改角色顏色特…

【深度學習】臉部修復,CodeFormer,論文,實戰

代碼&#xff1a; https://github.com/sczhou/CodeFormer 論文&#xff1a;https://arxiv.org/abs/2206.11253 Towards Robust Blind Face Restoration with Codebook Lookup Transformer 文章目錄 論文摘要1 引言2 相關工作**4 實驗****4.1 數據集****4.2 實驗設置和指標***…