91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Air8000 LuatOS exgnss擴(kuò)展庫應(yīng)用秘籍:定位開發(fā)避坑指南!

青山老竹農(nóng) ? 來源:jf_82863998 ? 作者:jf_82863998 ? 2025-11-14 15:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

LuatOS exgnss擴(kuò)展庫的使用中,開發(fā)者常因坐標(biāo)系誤區(qū)或模式管理不當(dāng)踩坑。本秘籍結(jié)合實(shí)戰(zhàn)經(jīng)驗(yàn),針對(duì)Air8000平臺(tái),系統(tǒng)總結(jié)常見問題(如WGS-84與國(guó)內(nèi)地圖偏差)、解決方案及最佳實(shí)踐,從exgnss.open配置到last_loc數(shù)據(jù)獲取,提供“避坑”清單,助力開發(fā)者高效開發(fā)。


一、GNSS 概述

GPS 最先來自美國(guó),1978 年,美國(guó)發(fā)射了第一顆 GPS 衛(wèi)星,發(fā)明和實(shí)踐了衛(wèi)星定位技術(shù)。衛(wèi)星定位技術(shù)原理是,覆蓋全球的多顆定位衛(wèi)星連續(xù)發(fā)射一定頻率的無線電信號(hào),移動(dòng)終端上集成便攜式衛(wèi)星信號(hào)接收機(jī),接收機(jī)接收衛(wèi)星信號(hào)并測(cè)量衛(wèi)星到終端接收機(jī)之間的距離,最終由移動(dòng)終端利用多顆衛(wèi)星位置和與這些衛(wèi)星的距離計(jì)算出移動(dòng)終端的具體位置。后來出現(xiàn)了歐洲的 Galileo、俄羅斯的 GLONASS、中國(guó)的北斗等,所以如今的 GPS 實(shí)質(zhì)上是作為一個(gè)衛(wèi)星定位技術(shù)體系 GNSS 的代名詞,而不是單只美國(guó)的 GPS 系統(tǒng)。

GNSS 提供的服務(wù)包括定位、授時(shí)和導(dǎo)航。定位服務(wù)就是 GNSS 終端獲得其位置的服務(wù),授時(shí)服務(wù)就是 GNSS 終端獲得正確時(shí)間的服務(wù),導(dǎo)航服務(wù)是計(jì)算 GNSS 終端速度和運(yùn)動(dòng)方向的服務(wù)。GNSS 不限制終端數(shù),在 GNSS 衛(wèi)星信號(hào)不被阻擋的情況下,在地球上任何地點(diǎn)、任何時(shí)間,任何 GNSS 終端都可以得到正確的位置和時(shí)間。定位只需要一個(gè)條件,那就是能夠接收到足夠多的衛(wèi)星信號(hào)。因此在室內(nèi)通常無法定位。

Air8000 作為集成了 4G、Wi-Fi、BLE、GNSS(全球?qū)Ш叫l(wèi)星系統(tǒng))等多功能的高性能工業(yè)引擎,其內(nèi)置的 GNSS 模塊能夠提供穩(wěn)定、準(zhǔn)確的定位服務(wù)。

二、演示功能概述

使用 Air8000 開發(fā)板,single 示例主要是展示 exgnss 庫的三種應(yīng)用模式,

exgnss.DEFAULT 模式

exgnss.TIMERORSUC 模式

exgnss.TIMER 模式

主要操作為:

1、打開三種應(yīng)用模式

2、等待 40 秒關(guān)閉操作 TIMER 模式

3、然后查詢?nèi)N應(yīng)用模式是否處于激活模式

4、等待 10 秒關(guān)閉全部應(yīng)用模式,再次查詢?nèi)N模式是否處于激活模式

5、然后獲取最后一次的定位經(jīng)緯度數(shù)據(jù)打印

6、定位成功之后使用 exgnss 庫獲取 gnss 的 rmc 數(shù)據(jù)

combination 示例主要展示幾種不同的應(yīng)用場(chǎng)景:

第一種場(chǎng)景是:正常模式,第一步先是通過 tcp_client_main 文件連接服務(wù)器,然后第二步模塊會(huì)配置 GNSS 參數(shù),開啟 GNSS 應(yīng)用,第三步會(huì)開啟一個(gè) 60s 的定時(shí)器,定時(shí)器每 60s 會(huì)打開一個(gè) 60sTIMERRORSUC 應(yīng)用,第四步定位成功之后關(guān)閉 GNSS,然后獲取 rmc 獲取經(jīng)緯度數(shù)據(jù),發(fā)送經(jīng)緯度數(shù)據(jù)到服務(wù)器上。

第二種場(chǎng)景是:低功耗模式,第一步先是通過 tcp_client_main 文件連接服務(wù)器,然后第二步模塊會(huì)配置 GNSS 參數(shù),開啟 GNSS 應(yīng)用,第三步會(huì)開啟一個(gè) 60s 的定時(shí)器,定時(shí)器每 60s 會(huì)進(jìn)入正常模式,打開一個(gè) 60sTIMERRORSUC 應(yīng)用,第四步定位成功之后關(guān)閉 GNSS,然后獲取 rmc 獲取經(jīng)緯度數(shù)據(jù),發(fā)送經(jīng)緯度數(shù)據(jù)到服務(wù)器上,進(jìn)入低功耗模式。

第三種場(chǎng)景是:PSM+ 模式,喚醒之后第一步是配置 GNSS 參數(shù),開啟 GNSS 應(yīng)用,第二步定位成功之后關(guān)閉 GNSS,然后獲取 rmc 獲取經(jīng)緯度數(shù)據(jù),拼接喚醒信息和經(jīng)緯度信息,連接服務(wù)器,然后把數(shù)據(jù)發(fā)送數(shù)據(jù)到服務(wù)器上,配置休眠喚醒定時(shí)器 ,進(jìn)入飛行模式,然后進(jìn)入 PSM+ 模式。

第四種場(chǎng)景是:三軸加速度的應(yīng)用場(chǎng)景,第一步先是通過 tcp_client_main 文件連接服務(wù)器,第二步配置 GNSS 參數(shù),打開內(nèi)部加速傳感器,設(shè)置防抖和中斷模式,關(guān)于中斷觸發(fā)提供了兩種方案,有效震動(dòng)模式和持續(xù)震動(dòng)檢測(cè)模式,第三步檢測(cè)到有效震動(dòng)或者持續(xù)震動(dòng)后,打開 GNSS,每隔 5s 獲取 rmc 獲取經(jīng)緯度數(shù)據(jù),發(fā)送經(jīng)緯度數(shù)據(jù)到服務(wù)器上。

三、準(zhǔn)備硬件環(huán)境

本篇教程用 Air8000 開發(fā)板來開發(fā)調(diào)試。

1. Air8000 開發(fā)板

2. GNSS 天線

四、準(zhǔn)備軟件環(huán)境

1. 燒錄工具Luatools

2. 內(nèi)核固件文件(底層 core 固件文件):LuatOS-SoC_V2014_Air8000;此頁面有新版本固件的話選用最新版本固件,本次操作用的是 101 號(hào)固件,可以根據(jù)自己的需求選擇自己需要的固件。

3. LuatOS 需要的腳本和資源文件:https://gitee.com/openLuat/LuatOS/tree/master/module/Air8000/demo/gnss

4. lib 腳本文件:使用 Luatools 燒錄時(shí),勾選 添加默認(rèn) lib 選項(xiàng),使用默認(rèn) lib 腳本文件,如果沒有下載最新的 lib,可以在 luatos 庫里面下載最新的 lib 使用:https://gitee.com/openLuat/LuatOS/tree/master/script/libs;

準(zhǔn)備好軟件環(huán)境之后,接下來查看如何燒錄項(xiàng)目文件到 Air8000 開發(fā)板中,將本篇文章中演示使用的項(xiàng)目文件燒錄到 Air8000 開發(fā)板中。

五、GNSS 軟硬件參考

5.1 API 接口介紹

本教程使用 api 接口為:

https://docs.openluat.com/osapi/ext/exgnss/

5.2 GNSS 硬件設(shè)計(jì)

GNSS 在硬件設(shè)計(jì)中天線部分是比較關(guān)鍵的,可以參考這篇文章:Air8000 GNSS 硬件設(shè)計(jì)指導(dǎo);https://docs.openluat.com/air8000/luatos/hardware/design/gnssant/

在開發(fā)板上,內(nèi)置了 3.3V LDO, 用于有源天線供電。因此可以使用外部有源天線直接連接 GNSS 連接器。

注意:目前有源天線供電僅支持 3.3V 有源天線,請(qǐng)注意連接的有源天線的供電范圍。

六、代碼示例介紹

本文主要提供 2 個(gè) demo 目錄,single 和 combination,其中 single 只是對(duì) exgnss 庫的三種 GNSS 應(yīng)用的展示,combination 主要是提供了四種應(yīng)用場(chǎng)景

noraml:正常功耗模式定位

lowpower:低功耗模式

psm:PSM+ 模式

vibration:三軸加速度傳感器觸發(fā)定位

6.1 exgnss 的三種應(yīng)用的用法

6.1.1 exgnss 的應(yīng)用說明

關(guān)于 exgnss 庫的三種應(yīng)用說明:

wKgZO2kWxmeAULGyAAU3ON4H0Jk584.png

關(guān)于應(yīng)用需要注意的是:使用 exgnss.close()關(guān)閉的只是對(duì)應(yīng)的應(yīng)用,所有應(yīng)用關(guān)閉,gnss 也會(huì)關(guān)閉,這樣做的好處是可以處理不同場(chǎng)景下的不同邏輯,比如服務(wù)器下發(fā)一條定位指令,定位成功之后關(guān)掉,這個(gè)時(shí)候又下發(fā)了一個(gè)指令需要長(zhǎng)開啟定位,這樣兩種指令就會(huì)沖突,需要代碼去處理到底是不是要關(guān)掉 gnss,這個(gè)時(shí)候應(yīng)用的好處就體現(xiàn)出來了,開啟 exgnss.TIMERORSUC 第一個(gè)應(yīng)用,定位成功之后關(guān)掉對(duì)應(yīng)的應(yīng)用,同時(shí)開啟 exgnss.DEFAULT 第二個(gè)應(yīng)用,gnss 就會(huì)常開,在應(yīng)用 1 結(jié)束之后,只會(huì)對(duì)應(yīng)用進(jìn)行自動(dòng)關(guān)閉,不會(huì)影響到第二個(gè)應(yīng)用,gnss 還會(huì)處于常開狀態(tài)。

關(guān)于 agps 輔助定位的邏輯:agps 俗稱輔助定位,其邏輯是把星歷文件發(fā)送給 gnss 芯片,同時(shí)發(fā)送時(shí)間和用基站定位獲取的大概位置,然后芯片解析處理,達(dá)到快速定位的效果。

exgnss 擴(kuò)展庫的輔助定位功能,我們處理方式是每個(gè)小時(shí)都會(huì)去更新星歷,原因是北斗是 1h 一更新,gps 是 4h 一更新,所以取最小值,我們選擇了一小時(shí)一更新

對(duì)于輔助定位需要注意的是,因?yàn)檩o助定位屬于強(qiáng)行把星歷文件灌給 gnss 芯片,雖然可以達(dá)到快速定位的效果,但是 gnss 芯片實(shí)際解析星歷需要時(shí)間,exgnss 庫默認(rèn)開啟了一個(gè) 20s 的 gnss 應(yīng)用,做這個(gè)操作是因?yàn)?,假設(shè)開啟輔助定位,定位到之后立馬關(guān)掉 gnss 電源,會(huì)導(dǎo)致 gnss 星歷解析不完全,這樣會(huì)影響下次定位為冷啟動(dòng),冷啟動(dòng)時(shí)間大概需要 35s。如果不需要這個(gè)邏輯,可以接受冷啟動(dòng),或者每次都使用輔助定位,可以通過 exgnss.setup()的 auto_open=false 配置添加到配置表里面。

6.1.2 代碼講解

main.lua

主要是為了加載了 exgnss 擴(kuò)展庫,加載 gnss 代碼

wKgZO2kWxwOAansGAAecWG-PxYI458.png

gnss.lua

主要操作為:

1.開啟協(xié)程,運(yùn)行 gnss_fnc 函數(shù),通過 exgnss.setup(gnssotps)配置 gnss 的參數(shù),通過 exgnss.open 開啟三種不同的應(yīng)用

2.等待 40 秒使用 exgnss.close 關(guān)閉 TIMER 模式,使用 exgnss.close 需要兩個(gè)參數(shù),第一個(gè)是 exgnss 應(yīng)用模式,第二個(gè)是 tag 標(biāo)簽

3.然后利用 exgnss.is_active 查詢?nèi)N應(yīng)用模式是否處于激活模式,查詢應(yīng)用是否處于激活狀態(tài)同樣需要兩個(gè)參數(shù),第一個(gè)是 exgnss 應(yīng)用模式,第二個(gè)是 tag 標(biāo)簽

4.等待 10 秒使用 exgnss.close_all 關(guān)閉全部應(yīng)用模式,再次查詢?nèi)N模式是否處于激活模式

5.然后使用 xgnss.last_loc 獲取最后一次的定位經(jīng)緯度數(shù)據(jù)打印

6.定位成功之后使用 subscribe 訂閱"GNSS_STATE"消息,根據(jù)獲取到的值判斷是否定位成功,定位成功用 exgnss.rmc 獲取 rmc 數(shù)據(jù)

wKgZPGkWyeaAZi4zABMM_8H7bdM553.png

6.1.3 效果展示

wKgZO2kWykCAVwWdAAYXFx_LEwc955.pngwKgZO2kWylGAAompAARU9Jn_REg361.pngwKgZO2kWymGAdfilAAY2sWDW25o601.pngwKgZPGkWyu-AOyxQAAUXQsyWjZA076.pngwKgZPGkWywSAJaodAAVg1-ezr6E006.png

利用糾偏網(wǎng)站進(jìn)行糾偏:合宙所有的 GNSS 功能的坐標(biāo)系均使用國(guó)際標(biāo)準(zhǔn) WGS-84 坐標(biāo)系,所以開發(fā)者在國(guó)內(nèi)常見地圖定位時(shí),會(huì)發(fā)現(xiàn)與實(shí)際情況有幾十米的誤差。這并非模塊問題, 而是國(guó)內(nèi)地圖采用了非標(biāo)坐標(biāo)系所致。 國(guó)內(nèi)常見地圖如高德地圖使用 GCJ-02 坐標(biāo)系, 百度地圖使用 BD-09 坐標(biāo)系,故此開發(fā)者需要對(duì)模塊輸出的經(jīng)緯度進(jìn)行加偏處理,才能在國(guó)內(nèi)的地圖上實(shí)現(xiàn)精確定位。

以下是糾偏網(wǎng)站:

http://old.openluat.com/GPS-Offset.html

wKgZO2kWyzuAfphSAAVQsV0ckQg215.png

6.2 正常功耗模式下的 GNSS 應(yīng)用

main.lua

主要是支持 4 個(gè)場(chǎng)景的切換,每次只能打開一個(gè)用于測(cè)試,選擇對(duì)應(yīng)的功能進(jìn)行測(cè)試

wKgZPGkWy--AQkvUAAoSM1U5XP0536.png


6.2.1 代碼講解

normal.lua

normal 主要操作:

1.開啟協(xié)程,運(yùn)行 gnss_fnc 函數(shù),通過 exgnss.setup(gnssotps)配置 gnss 的參數(shù),然后 require tcp_client_main 文件,連接服務(wù)器

2.通過 exgnss.open 開啟 exgnss.TIMERORSUC 應(yīng)用模式,設(shè)置的 tag 為 normal,定位時(shí)間為 60s,回調(diào)函數(shù)為 normal_cb,這個(gè)模式定位成功之后會(huì)關(guān)掉 GNSS,然后觸發(fā)回調(diào)函數(shù),回調(diào)函數(shù)的操作為,通過 exgnss.rmc(0)接口獲取 rmc 數(shù)據(jù),然后把經(jīng)緯度拼接成 json 字符串的形式,通過 sys.publish 函數(shù),把數(shù)據(jù)傳給 tcp_client_sender.lua 文件里面處理。

3.用 sys.timerLoopStart()起一個(gè) 60s 觸發(fā)一次的打開 GNSS 定位的定時(shí)器,回調(diào)函數(shù)為 normal_open,回調(diào)函數(shù)內(nèi)容和上面開啟 exgnss.TIMERORSUC 應(yīng)用模式一致


wKgZPGkWzF2AT0YXAAhi776ioOk178.png

6.2.2 效果展示

wKgZPGkWzIyAMGNkAAYctlIFBCY268.pngwKgZO2kWzKCAbQQmAAY-cAQCVmw320.pngwKgZO2kWzLOAFRaDAAZhuYO65h8610.png


測(cè)試服務(wù)器收到消息:

wKgZO2kWzOSAM_bTAAFTkaktIQg987.png

利用糾偏網(wǎng)站進(jìn)行糾偏:所有的 GNSS 功能的坐標(biāo)系均使用國(guó)際標(biāo)準(zhǔn)WGS-84坐標(biāo)系,所以開發(fā)者在國(guó)內(nèi)常見地圖定位時(shí),會(huì)發(fā)現(xiàn)與實(shí)際情況有幾十米的誤差。這并非模塊問題, 而是國(guó)內(nèi)地圖采用了非標(biāo)坐標(biāo)系所致。 國(guó)內(nèi)常見地圖如高德地圖使用GCJ-02坐標(biāo)系, 百度地圖使用BD-09坐標(biāo)系,故此開發(fā)者需要對(duì)模塊輸出的經(jīng)緯度進(jìn)行加偏處理,才能在國(guó)內(nèi)的地圖上實(shí)現(xiàn)精確定位。

以下是糾偏網(wǎng)站:

http://old.openluat.com/GPS-Offset.html

wKgZPGkWzRKAEn-zAASQe7Y9g6Q847.png

6.3 低功耗模式下的 GNSS 應(yīng)用

6.3.1 代碼講解

lowpower.lua

normal 主要操作:

1.開啟協(xié)程,運(yùn)行 gnss_fnc 函數(shù),通過 exgnss.setup(gnssotps)配置 gnss 的參數(shù),然后 require tcp_client_main 文件,連接服務(wù)器。

2.通過 exgnss.open 開啟 exgnss.TIMERORSUC 應(yīng)用模式,設(shè)置的 tag 為 lowpower,定位時(shí)間為 60s,回調(diào)函數(shù)為 lowpower_cb,這個(gè)模式定位成功之后會(huì)關(guān)掉 GNSS,然后觸發(fā)回調(diào)函數(shù),回調(diào)函數(shù)的操作為,通過 exgnss.rmc(0)接口獲取 rmc 數(shù)據(jù),然后把經(jīng)緯度拼接成 json 字符串的形式,通過 sys.publish 函數(shù),把數(shù)據(jù)傳給 tcp_client_sender.lua 文件里面處理,然后調(diào)用 pm.power(pm.WORK_MODE, 1)--進(jìn)入低功耗模式,pm.power(pm.WORK_MODE,1,1)--wifi 進(jìn)入低功耗模式。這兩個(gè)函數(shù)主要是為了讓模塊和 wifi 模塊進(jìn)入低功耗模式。

3.用 sys.timerLoopStart()起一個(gè) 60s 觸發(fā)一次的打開 GNSS 定位的定時(shí)器,回調(diào)函數(shù)為 lower_open,回調(diào)函數(shù)內(nèi)容主要是調(diào)用 pm.power(pm.WORK_MODE, 0)進(jìn)入正常模式,然后和上面開啟 exgnss.TIMERORSUC 應(yīng)用模式一致,

然后關(guān)閉 USB,節(jié)省功耗

wKgZPGkWzVeAPy-GAAkZUFQ7AwU766.png

6.3.2 效果展示

wKgZPGkWzZuAUodPAAMRNOoTqGU508.png

wKgZO2kWzayASxKjAAFYd49QZys681.png


利用糾偏網(wǎng)站進(jìn)行糾偏:我們所有的 GNSS 功能的坐標(biāo)系均使用國(guó)際標(biāo)準(zhǔn)WGS-84坐標(biāo)系,所以開發(fā)者在國(guó)內(nèi)常見地圖定位時(shí),會(huì)發(fā)現(xiàn)與實(shí)際情況有幾十米的誤差。這并非模塊問題, 而是國(guó)內(nèi)地圖采用了非標(biāo)坐標(biāo)系所致。 國(guó)內(nèi)常見地圖如高德地圖使用GCJ-02坐標(biāo)系, 百度地圖使用BD-09坐標(biāo)系,故此開發(fā)者需要對(duì)模塊輸出的經(jīng)緯度進(jìn)行加偏處理,才能在國(guó)內(nèi)的地圖上實(shí)現(xiàn)精確定位。

以下是糾偏網(wǎng)站:

http://old.openluat.com/GPS-Offset.html

wKgZO2kWzeKAH4JWAAPrAZ91Atk652.png


6.4 PSM+ 模式下的 GNSS 應(yīng)用

6.4.1 代碼講解

psm.lua

psm 主要操作:

1.開啟協(xié)程,運(yùn)行 gnss_fnc 函數(shù),通過 exgnss.setup(gnssotps)配置 gnss 的參數(shù)。

2.通過 exgnss.open 開啟 exgnss.TIMERORSUC 應(yīng)用模式,設(shè)置的 tag 為 psm,定位時(shí)間為 60s,回調(diào)函數(shù)為 psm_cb,這個(gè)模式定位成功之后會(huì)關(guān)掉 GNSS,然后觸發(fā)回調(diào)函數(shù),回調(diào)函數(shù)的操作為,通過 exgnss.rmc(0)接口獲取 rmc 數(shù)據(jù),獲取經(jīng)緯度并賦值變量,然后使用 sysplus.taskInitEx 開啟 TCP 短連接協(xié)程,連接服務(wù)器發(fā)送經(jīng)緯度消息和喚醒消息內(nèi)容。

3.發(fā)送完畢之后設(shè)置定時(shí)器,然后進(jìn)入飛行模式,進(jìn)入 psm+ 模式

wKgZO2kWzhKAKBBcABJEArWkeSs331.png

6.4.2 效果展示

wKgZO2kWzkeAWALJAALrATzgjYc450.png

wKgZPGkWzmaAe-PVAAEXwSm_kjA650.png

利用糾偏網(wǎng)站進(jìn)行糾偏:我們所有的 GNSS 功能的坐標(biāo)系均使用國(guó)際標(biāo)準(zhǔn)WGS-84坐標(biāo)系,所以開發(fā)者在國(guó)內(nèi)常見地圖定位時(shí),會(huì)發(fā)現(xiàn)與實(shí)際情況有幾十米的誤差。這并非模塊問題, 而是國(guó)內(nèi)地圖采用了非標(biāo)坐標(biāo)系所致。 國(guó)內(nèi)常見地圖如高德地圖使用GCJ-02坐標(biāo)系, 百度地圖使用BD-09坐標(biāo)系,故此開發(fā)者需要對(duì)模塊輸出的經(jīng)緯度進(jìn)行加偏處理,才能在國(guó)內(nèi)的地圖上實(shí)現(xiàn)精確定位。

以下是糾偏網(wǎng)站:

http://old.openluat.com/GPS-Offset.html

wKgZPGkWzpCAOYa1AAPr1lR72GI333.png

6.5 運(yùn)動(dòng)檢測(cè)定位模式下的 GNSS 應(yīng)用

6.5.1 代碼講解

vibration.lua

vibration 主要操作:

1.開啟協(xié)程,運(yùn)行 gnss_fnc 函數(shù),通過 exgnss.setup(gnssotps)配置 gnss 的參數(shù),然后 require tcp_client_main 文件,連接服務(wù)器,require exvib 擴(kuò)展庫,

2.設(shè)置三軸加速度傳感器為微小震動(dòng)模式 exvib.open(1),關(guān)于 exvib 的三種模式:

wKgZPGkWzsCAKvqMAADaA8IDwNg560.png

3.8000 內(nèi)置的三軸加速度傳感器的中斷觸發(fā)腳為 gpio.WAKEUP2,設(shè)置 gpio 防抖為 100ms,然后設(shè)置中斷觸發(fā)

4.代碼里面提供了兩種觸發(fā)方式:

第一種是持續(xù)震動(dòng)模式:

加速度傳感器震動(dòng)之后觸發(fā)中斷,中斷觸發(fā)之后使用 exgnss.open 打開定時(shí)器,設(shè)置 exgnss.DEFAULT 模式,這種模式是一直開啟 GNSS,直到調(diào)用關(guān)閉接口關(guān)閉才會(huì)關(guān)掉,定位成功之后每 5s 上傳一次經(jīng)緯度數(shù)據(jù),

假設(shè) 10s 內(nèi)沒有再觸發(fā)震動(dòng),則關(guān)閉 gnss,等待下一次震動(dòng)觸發(fā)

第二種方式是有效震動(dòng)模式:

震動(dòng)觸發(fā)之后計(jì)算為一次觸發(fā),如果 10s 內(nèi)觸發(fā) 5 次有效震動(dòng),則開啟后續(xù)邏輯,如果 10s 內(nèi)沒有觸發(fā) 5 次,

則判定為無效震動(dòng),等待下一次觸發(fā),如果是有效震動(dòng)就使用 exgnss.open 打開定時(shí)器,設(shè)置 exgnss.DEFAULT 模式,進(jìn)行定位,

定位成功之后每 5s 上傳一次經(jīng)緯度數(shù)據(jù)到服務(wù)器,有效震動(dòng)觸發(fā)之后有 30 分鐘的等待時(shí)間,在此期間,如果觸發(fā)有效震動(dòng)則

不去進(jìn)行后續(xù)邏輯處理,30 分鐘時(shí)間到了之后,等待下一次有效震動(dòng)

這兩種模式通過打開不同的注釋來執(zhí)行

wKgZO2kWzwWAWwobABbaaCoVnuc614.png

6.5.2 效果展示

有效中斷模式:

wKgZO2kWzyyAQJH3AAQCvnCBUs4767.pngwKgZO2kWzzqAVfRHAAPjU0R0DTY207.pngwKgZPGkWz02AQs55AAH2he2ZQ5o042.png

有效震動(dòng)模式:

wKgZPGkWz3SAHDEZAASxVdJMQ90532.pngwKgZPGkWz4eAB2TIAAOR1bFKj7A446.pngwKgZPGkWz52APjU1AANJ8u_-b8U407.png


利用糾偏網(wǎng)站進(jìn)行糾偏:所有的 GNSS 功能的坐標(biāo)系均使用國(guó)際標(biāo)準(zhǔn)WGS-84坐標(biāo)系,所以開發(fā)者在國(guó)內(nèi)常見地圖定位時(shí),會(huì)發(fā)現(xiàn)與實(shí)際情況有幾十米的誤差。這并非模塊問題, 而是國(guó)內(nèi)地圖采用了非標(biāo)坐標(biāo)系所致。 國(guó)內(nèi)常見地圖如高德地圖使用GCJ-02坐標(biāo)系, 百度地圖使用BD-09坐標(biāo)系,故此開發(fā)者需要對(duì)模塊輸出的經(jīng)緯度進(jìn)行加偏處理,才能在國(guó)內(nèi)的地圖上實(shí)現(xiàn)精確定位。

以下是糾偏網(wǎng)站:

http://old.openluat.com/GPS

wKgZO2kWz8SAIHdAAAPr-EjOrhE358.png

6.6 TCP 部分代碼

TCP 部分代碼為通用格式內(nèi)容,里面有對(duì)注釋的描述,在 GNSS 篇章就不過多對(duì) TCP 的代碼做講解了,如果有需要可以看 TCP 章節(jié)

tcp_client_main.lua

wKgZPGkWz_WACCZsABGFP_Jcrgs284.png

tcp_client_reveiver.lua

wKgZPGkW0CaABRjZAAm6q27NTJU970.png

tcp_client_sender.lua

wKgZPGkW0F6ANkJwAA_7tdgsqZE495.png

將定位成功后的經(jīng)緯度復(fù)制到https://www.openluat.com/GPS-Offset.html??梢圆榭次恢眯畔⒑妥鴺?biāo)系轉(zhuǎn)換后的經(jīng)緯度。

wKgZO2kW0LiAI4mkAAUI9GmuI_w261.png

七、總結(jié)

本教程詳細(xì)介紹了如何使用 exgnss 擴(kuò)展庫搭配 Air8000 的 GNSS 功能,包括硬件連接、軟件配置、代碼編寫等步驟。通過本教程的學(xué)習(xí),讀者應(yīng)該能夠掌握 exgnss 擴(kuò)展庫功能的基本使用方法,并能夠根據(jù)實(shí)際需求進(jìn)行擴(kuò)展和應(yīng)用。

八、注意事項(xiàng)與常見問題

8.1、GNSS 定位經(jīng)緯度不準(zhǔn)確

1、坐標(biāo)沒有糾偏,參考:http://www.openluat.com/GPS-Offset.html進(jìn)行糾偏處理

2、周圍有比較高的障礙物,會(huì)導(dǎo)致定位誤差

3、在開闊地帶,正常情況下定位精度只能做到 5 米

4、不能在室內(nèi)測(cè)試,必須到室外測(cè)試;如果只能在室內(nèi)測(cè)試,可以淘寶搜索“GNSS 信號(hào)轉(zhuǎn)發(fā)器”

8.2、Air8000 獲取到的經(jīng)緯度數(shù)據(jù)是基于什么坐標(biāo)系

使用國(guó)際標(biāo)準(zhǔn) WGS-84 坐標(biāo)系,需要自己進(jìn)行坐標(biāo)系轉(zhuǎn)換各 GNSS 坐標(biāo)系說明以及轉(zhuǎn)換方法。

8.3、GPS 天線如何設(shè)計(jì)

參考:https://docs.openluat.com/air8000/luatos/hardware/design/gnssant/

8.4、可視衛(wèi)星、可用衛(wèi)星有什么區(qū)別

可視衛(wèi)星是當(dāng)前區(qū)域,接收條件良好情況下,應(yīng)該可以收到衛(wèi)星信號(hào)的衛(wèi)星。

可用衛(wèi)星是當(dāng)前已經(jīng)收到信號(hào)并正在使用參與定位的衛(wèi)星。

8.5、 GGA 和 RMC 應(yīng)該用哪個(gè)

視具體情況而定,建議用 gga,信息相對(duì)更全面。

8.6、如何解讀 NMEA 報(bào)文每個(gè)字段的含義

參考:NMEA-0183 協(xié)議簡(jiǎn)介

8.7、車載使用時(shí)需要天線引出到車頂上嗎

1、擋風(fēng)玻璃如果沒有貼膜或者貼了不含金屬材料的膜,可以放在擋風(fēng)玻璃下,但是 GNSS 信號(hào)會(huì)有一定衰減,在萬不得已的情況下,可以放在擋風(fēng)玻璃下,最好再實(shí)際測(cè)試確認(rèn)一下。 2、擋風(fēng)玻璃如果貼了含有金屬材料的膜,則不能放在擋風(fēng)玻璃下,必須將天線到車頂。

8.8、如何輸出原始 NMEA 數(shù)據(jù)

可以通過 exgnss.setup()接口的 bind 參數(shù)進(jìn)行綁定。

wKgZPGkW0WeABRAfAAOwsKKgbGU632.png

今天的內(nèi)容就分享到這里了~

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • GNSS
    +關(guān)注

    關(guān)注

    9

    文章

    992

    瀏覽量

    51171
  • LuatOS
    +關(guān)注

    關(guān)注

    0

    文章

    156

    瀏覽量

    2702
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    LuatOSAir8000 AGPS輔助定位教程與實(shí)踐

    本教程演示了Air8000LuatOS中利用AGPS輔助定位實(shí)現(xiàn)快速定位的方法,系統(tǒng)講解AGPS原理及開發(fā)應(yīng)用時(shí)的注意事項(xiàng)。 ? 一、AG
    的頭像 發(fā)表于 10-31 16:51 ?3102次閱讀
    <b class='flag-5'>LuatOS</b>下<b class='flag-5'>Air8000</b> AGPS輔助<b class='flag-5'>定位</b>教程與實(shí)踐

    LuatOS exgnss擴(kuò)展實(shí)戰(zhàn)進(jìn)階:GNSS功能開發(fā)全流程!

    GNSS功能開發(fā)涉及多環(huán)節(jié)協(xié)同,LuatOS exgnss擴(kuò)展是其中的關(guān)鍵樞紐。本文以全流程探秘形式,從硬件準(zhǔn)備、固件燒錄到代碼實(shí)現(xiàn),詳解
    的頭像 發(fā)表于 11-14 15:24 ?5712次閱讀
    <b class='flag-5'>LuatOS</b> <b class='flag-5'>exgnss</b><b class='flag-5'>擴(kuò)展</b><b class='flag-5'>庫</b>實(shí)戰(zhàn)進(jìn)階:GNSS功能<b class='flag-5'>開發(fā)</b>全流程!

    技術(shù)篇——Air8000開發(fā)板,一站式滿足多功能高擴(kuò)展開發(fā)需求!

    對(duì)于追求高效開發(fā)的你來說,Air8000開發(fā)板最新資料的開放絕對(duì)不容錯(cuò)過。無論是智能控制、數(shù)據(jù)采集還是多場(chǎng)景應(yīng)用開發(fā),其多功能內(nèi)核與高
    的頭像 發(fā)表于 06-04 15:59 ?629次閱讀
    技術(shù)篇——<b class='flag-5'>Air8000</b><b class='flag-5'>開發(fā)</b>板,一站式滿足多功能高<b class='flag-5'>擴(kuò)展開發(fā)</b>需求!

    多功能+高擴(kuò)展能力加持,Air8000開發(fā)板最新資料

    開發(fā)者福利來襲!Air8000開發(fā)板兼具全面功能與強(qiáng)大擴(kuò)展性的開發(fā)神器,將讓物聯(lián)網(wǎng)開發(fā)、原型設(shè)計(jì)
    的頭像 發(fā)表于 06-09 14:18 ?713次閱讀
    多功能+高<b class='flag-5'>擴(kuò)展</b>能力加持,<b class='flag-5'>Air8000</b><b class='flag-5'>開發(fā)</b>板最新資料

    北斗GPS雙模賦能Air8000定位精度革命與天線設(shè)計(jì)優(yōu)化的實(shí)踐路徑

    Air8000模塊通過集成北斗與GPS雙模導(dǎo)航系統(tǒng),構(gòu)建了全天候、高可靠的定位網(wǎng)絡(luò)。其獨(dú)特的天線設(shè)計(jì),包括微帶線阻抗控制與共面波導(dǎo)結(jié)構(gòu),有效解決了信號(hào)傳輸損耗問題,使得設(shè)備在弱信號(hào)區(qū)域仍能精準(zhǔn)定位
    的頭像 發(fā)表于 07-11 16:24 ?737次閱讀
    北斗GPS雙模賦能<b class='flag-5'>Air8000</b>:<b class='flag-5'>定位</b>精度革命與天線設(shè)計(jì)優(yōu)化的實(shí)踐路徑

    LuatOS藍(lán)牙配網(wǎng)全流程解析:Air8000開發(fā)入門必備

    針對(duì)Air8000開發(fā)板的藍(lán)牙配網(wǎng)功能,本文通過詳細(xì)步驟分解技術(shù)要點(diǎn),結(jié)合LuatOS系統(tǒng)特性,幫助開發(fā)者從零基礎(chǔ)搭建藍(lán)牙通信環(huán)境,掌握關(guān)鍵代碼邏輯與調(diào)試技巧。 一、藍(lán)牙配網(wǎng)概述 ?
    的頭像 發(fā)表于 07-10 17:11 ?698次閱讀
    <b class='flag-5'>LuatOS</b>藍(lán)牙配網(wǎng)全流程解析:<b class='flag-5'>Air8000</b><b class='flag-5'>開發(fā)</b>入門必備

    LuatOS藍(lán)牙配網(wǎng)開發(fā)全攻略:以Air8000為核心實(shí)戰(zhàn)教學(xué)

    聚焦Air8000核心板的藍(lán)牙配網(wǎng)功能,本文整合開發(fā)全流程:硬件準(zhǔn)備、腳本編寫、固件燒錄及測(cè)試驗(yàn)證,為開發(fā)者提供一站式解決方案。 一、藍(lán)牙配網(wǎng)概述 ? 文章開篇先簡(jiǎn)單介紹下 Air8000
    的頭像 發(fā)表于 07-10 17:17 ?627次閱讀
    <b class='flag-5'>LuatOS</b>藍(lán)牙配網(wǎng)<b class='flag-5'>開發(fā)</b>全攻略:以<b class='flag-5'>Air8000</b>為核心實(shí)戰(zhàn)教學(xué)

    從零到一:基于Air8000LuatOS softAP配網(wǎng)功能開發(fā)教程

    對(duì)于開發(fā)者而言,快速實(shí)現(xiàn)設(shè)備的無線網(wǎng)絡(luò)配置是項(xiàng)目落地的重要一步。本文以Air8000為核心載體,手把手教學(xué)如何基于LuatOS系統(tǒng)開發(fā)softAP配網(wǎng)功能,涵蓋原理講解、API調(diào)用及調(diào)
    的頭像 發(fā)表于 07-21 17:32 ?613次閱讀
    從零到一:基于<b class='flag-5'>Air8000</b>的<b class='flag-5'>LuatOS</b> softAP配網(wǎng)功能<b class='flag-5'>開發(fā)</b>教程

    高效開發(fā):解鎖Air8000 LuatOS softAP配網(wǎng)功能的核心技術(shù)!

    為縮短物聯(lián)網(wǎng)項(xiàng)目開發(fā)周期,掌握高效的配網(wǎng)技術(shù)至關(guān)重要。本文聚焦Air8000平臺(tái),深入講解如何利用LuatOS系統(tǒng)開發(fā)softAP配網(wǎng)功能,通過優(yōu)化代碼架構(gòu)與協(xié)議設(shè)計(jì),實(shí)現(xiàn)設(shè)備快速、穩(wěn)
    的頭像 發(fā)表于 07-17 15:49 ?674次閱讀
    高效<b class='flag-5'>開發(fā)</b>:解鎖<b class='flag-5'>Air8000</b> <b class='flag-5'>LuatOS</b> softAP配網(wǎng)功能的核心技術(shù)!

    揭秘Air8000對(duì)講黑科技:AirTalk+MQTT開發(fā)示例深度解析

    的實(shí)時(shí)傳輸,帶你深度理解這一黑科技背后的技術(shù)奧秘。 Air8000 系列的 Airtalk 是基于 LuatOS 核心的對(duì)講方案,采用 MQTT 協(xié)議實(shí)現(xiàn)設(shè)備端、手機(jī)端、網(wǎng)頁端的跨終端對(duì)講,支持服務(wù)器
    的頭像 發(fā)表于 08-06 17:16 ?793次閱讀
    揭秘<b class='flag-5'>Air8000</b>對(duì)講黑科技:AirTalk+MQTT<b class='flag-5'>開發(fā)</b>示例深度解析

    是否必須使用LuatIO?Air8000 GPIO配置與設(shè)計(jì)規(guī)范深度解析

    Air8000的GPIO應(yīng)用開發(fā)中,LuatIO的角色至關(guān)重要。本文剖析其必要性,結(jié)合設(shè)計(jì)注意事項(xiàng),為開發(fā)者提供從配置到優(yōu)化的全流程指南。 想要4G+GNSS+WiFi+BLE+TT
    的頭像 發(fā)表于 07-29 13:54 ?535次閱讀
    是否必須使用LuatIO?<b class='flag-5'>Air8000</b> GPIO配置與設(shè)計(jì)規(guī)范深度解析

    一招破解音頻硬件困局:Air8000參考設(shè)計(jì)讓開發(fā)零門檻

    音頻產(chǎn)品開發(fā)成本高、周期長(zhǎng)?Air8000參考設(shè)計(jì)以模塊化思路簡(jiǎn)化硬件開發(fā),預(yù)驗(yàn)證的電路方案與豐富的擴(kuò)展接口,讓開發(fā)者擺脫技術(shù)壁壘,輕松實(shí)現(xiàn)
    的頭像 發(fā)表于 09-04 15:17 ?990次閱讀
    一招破解音頻硬件困局:<b class='flag-5'>Air8000</b>參考設(shè)計(jì)讓<b class='flag-5'>開發(fā)</b>零門檻

    告別代碼迷宮!exgnss擴(kuò)展讓GNSS定位開發(fā)秒變簡(jiǎn)單

    還在為GNSS定位的復(fù)雜代碼頭疼?exgnss擴(kuò)展為你掃清障礙!它提供簡(jiǎn)潔的接口和高效的工具鏈,從信號(hào)捕獲到坐標(biāo)解析一氣呵成,開發(fā)效率直線
    的頭像 發(fā)表于 09-10 17:23 ?808次閱讀
    告別代碼迷宮!<b class='flag-5'>exgnss</b><b class='flag-5'>擴(kuò)展</b><b class='flag-5'>庫</b>讓GNSS<b class='flag-5'>定位</b><b class='flag-5'>開發(fā)</b>秒變簡(jiǎn)單

    Air8000-LuatOS exvib擴(kuò)展使用全流程:實(shí)戰(zhàn)驅(qū)動(dòng)的操作解析

    在振動(dòng)傳感領(lǐng)域,Air8000-LuatOS的exvib擴(kuò)展具備顯著優(yōu)勢(shì)。本文以實(shí)戰(zhàn)驅(qū)動(dòng),詳細(xì)解析其全流程使用方法,包括環(huán)境配置、核心功能實(shí)現(xiàn)及數(shù)據(jù)驗(yàn)證,確保開發(fā)者能快速構(gòu)建穩(wěn)定可靠
    的頭像 發(fā)表于 11-04 18:28 ?1145次閱讀
    <b class='flag-5'>Air8000-LuatOS</b> exvib<b class='flag-5'>擴(kuò)展</b><b class='flag-5'>庫</b>使用全流程:實(shí)戰(zhàn)驅(qū)動(dòng)的操作解析

    Air8000-LuatOS exvib擴(kuò)展實(shí)操指南:全流程技術(shù)細(xì)節(jié)深度解讀

    掌握exvib擴(kuò)展的使用,是提升Air8000-LuatOS項(xiàng)目開發(fā)效率的關(guān)鍵。本文以全流程實(shí)操為核心,深度解讀技術(shù)細(xì)節(jié),涵蓋初始化、數(shù)據(jù)采集、異常處理等環(huán)節(jié),為
    的頭像 發(fā)表于 11-01 20:09 ?288次閱讀
    <b class='flag-5'>Air8000-LuatOS</b> exvib<b class='flag-5'>擴(kuò)展</b><b class='flag-5'>庫</b>實(shí)操<b class='flag-5'>指南</b>:全流程技術(shù)細(xì)節(jié)深度解讀