焊板子、擼代碼、寫文章——LuatOS社群工程師們熱火朝天的2022虎年春節(jié)寫照。無論何時何處,心里總?cè)紕又`魂之舞,沒有什么能阻擋真正的熱愛!
今天特別帶來喬幫主喬工關(guān)于合宙Air551G雙頻定位開發(fā)板的試用分享,一篇詳實(shí)易懂的用心之作,尤其適合新上手的朋友們。
1
Air551G開發(fā)板試用分享
一、開箱
合宙挺給力,節(jié)前就拿到了這塊Air551G開發(fā)板,板子制作的不錯,和我其他的板子對比起來,感覺高級不少。
左邊是Air551G,右邊是我另外其他廠家一個型號的。

二、連線
美中不足的是,它的連接線是5針1.25mm的傳感器接口,拿到后,可能沒有合適的線(年前活動未能同步發(fā)出,年后有配套接線)。有的同學(xué),直接把接頭口給取下來,直接焊線了。
我手頭剛好有6針的接頭,剪斷一根,削了一針變5針,剛剛好用。

然后把剪斷的部分,對接上標(biāo)準(zhǔn)的杜邦線,方便接在其他開發(fā)板上使用。當(dāng)然,如果本身就有對應(yīng)的1.25接口,那更好了。
初次使用,看了說明書,可以當(dāng)一個普通的串口設(shè)備使用,那就先直接用USB2TTL連接,進(jìn)行調(diào)試好了。等弄清楚了,再上開發(fā)板也不遲。

Air551G開發(fā)板有五個引腳,其中VCC使用3.3V或者5V電源均可,GND接地,PPS暫時不用,RX、TX接其他設(shè)備的對應(yīng)的TX、RX即可。

三、串口連接使用
這個開發(fā)板,串口波特率默認(rèn)情況下,選擇115200即可,打開串口,就能看到信息Biu Biu Biu的發(fā)過來了。
通過Air551G的手冊,我們可以知道,它是主動上報信息的。通電后,就會自動通過串口上報獲取到的定位相關(guān)信息。


收不到定位信息如何解決?
初次使用,如果簡單了解過這些信息的格式,可能會郁悶:怎么沒有成功定位啊,定位到的經(jīng)緯度信息,怎么都是0呢?
這是因?yàn)椋粋€單純的GPS定位模塊,需要在室外使用,越開闊的地方越好。而我們常用的手機(jī)上使用了基站、WIFi等輔助定位,在室內(nèi)也通常可以定位,但是在地下車庫或者隧道里面,或者信號不好的地方,輔助也不給力,也不能定位了。
那就把Air551放到窗外即可:

不一會兒,串口收到的信息,就發(fā)生了變化,數(shù)字部分,豐富多了。
串口收到的這些信息,就是導(dǎo)航衛(wèi)星發(fā)送的電文信息,也就是NMEA協(xié)議報文。
通常情況下,會包含如下的報文:

定位模塊都會主動獲取衛(wèi)星定位系統(tǒng)的報文信息,然后通過串口上報。
上面的報文信息,會分為幾類:
1)定位信息:**GGA,通常使用;
2)當(dāng)前衛(wèi)星信息:**GSA,一般可以忽略,調(diào)試需要;
3)推薦定位信息:**RMC;
4)地面速度信息:**VTG;
5)可見衛(wèi)星信息:**GSV,一般可以忽略,調(diào)試需要。
如果是通過單一的衛(wèi)星導(dǎo)航系統(tǒng)定位,則上面的**為對應(yīng)衛(wèi)星導(dǎo)航系統(tǒng)的標(biāo)識,如果是多系統(tǒng)定位的話,那么1-4的**會是GN,5則為各衛(wèi)星導(dǎo)航系統(tǒng)的標(biāo)識。
衛(wèi)星導(dǎo)航系統(tǒng)通用標(biāo)識
-
GN:全球?qū)Ш叫l(wèi)星系統(tǒng)GNSS;
-
GP:美國全球定位系統(tǒng)GPS;
-
GL:俄羅斯全球軌道導(dǎo)航衛(wèi)星系統(tǒng)格洛納斯GLONAS;
-
BD:中國的北斗衛(wèi)星導(dǎo)航系統(tǒng)BDS;
-
GA:歐盟伽利略衛(wèi)星導(dǎo)航系統(tǒng)GALILEO,全球覆蓋,問題較多;
-
IRN:印度區(qū)域衛(wèi)星導(dǎo)航系統(tǒng)IRNSS,范圍較小,印度本土及周邊、印度洋區(qū)域;
-
QZ:日本準(zhǔn)天頂衛(wèi)星導(dǎo)航系統(tǒng)QZSS,是美國GPS的輔助系統(tǒng),主要服務(wù)日本,亦覆蓋東亞、澳洲等地。
Air551G支持的衛(wèi)星定位導(dǎo)航系統(tǒng),包括:GPS、BDS、GLONAS、GALILEO、IRNSS等。在北京地區(qū),GPS、BDS、GLONAS、GALILEO都能搜到對應(yīng)的衛(wèi)星,IRNSS沒有見到過。
在上述的報文信息中,我們可以看到GP、GL、GA、BD等GSV信息,對應(yīng)的就是當(dāng)前位置,可見的各衛(wèi)星導(dǎo)航系統(tǒng)的衛(wèi)星信息。其中,我們可以看到有BDGSC,5開頭的BDGSC,5,1至BDGSC,5,5,這個就是一組北斗導(dǎo)航衛(wèi)星,當(dāng)前有5顆能為我們提供服務(wù)。
但是,其中還有BDGSV開頭的信息,這是因?yàn)樾l(wèi)星導(dǎo)航系統(tǒng)有不同的頻段,提供差異性的服務(wù),也包括系統(tǒng)升級和增強(qiáng)對不同接收端系統(tǒng)的兼容。
通過Air551G提供的資料,我們了解到,支持的北斗導(dǎo)航,包括:BD B1I、BD B1C、BD B2A、BD B2B等。
報文信息的具體資料,可以查看合宙提供的資料:
《 2_GK9701輸入輸出格式文檔V1.0.pdf 》中關(guān)于NMEA協(xié)議部分的詳細(xì)說明。
四、經(jīng)緯度信息到地圖坐標(biāo)轉(zhuǎn)換
以上報文信息中的GGA部分信息:
$GNGGA,063508.000,??53.35241,N,??638.40280,E,1,13,1.15,36.02,M,-5.15,M,,*58
E/W之前的為經(jīng)度信息,N/S之前的為維度信息,GPS拿到的經(jīng)緯度信息,需要經(jīng)過轉(zhuǎn)換兩次后,才能在百度地圖或者其他地圖上使用。

地圖坐標(biāo)轉(zhuǎn)換示例
假設(shè)取到的原始坐標(biāo)為:
lng0=11626.27158
lat0=3954.85016
第一次轉(zhuǎn)換為WGS84坐標(biāo)系通用格式:
GPS模塊經(jīng)緯度換算說明,可參考網(wǎng)址:
http://www.gnss-module.com/news/47-cn.html
(Math.floor表示取整)
lng1_d=Math.floor(lng0/100) = 116
lng1_m= (lng0-lng1_d*100)/60 = 0.43786
lng1=lng1_d+lng1_m=116.43786
lat1_d=Math.floor(lat0/100) = 39
lat1_m= (lat0-lat1_d*100)/60 = 0.91417
lat1=lat1_d+lat1_m=39.91417
第二次轉(zhuǎn)換為百度地圖坐標(biāo)系:
使用網(wǎng)頁轉(zhuǎn)換工具地圖坐標(biāo)系轉(zhuǎn)換,參考網(wǎng)址:
https://tool.lu/coordinate/
通過上述轉(zhuǎn)換工具,可以轉(zhuǎn)換為各地圖軟件的坐標(biāo)系;或者也可以在各地圖開發(fā)者服務(wù)中申請對應(yīng)的API接口。
使用上述網(wǎng)頁進(jìn)行轉(zhuǎn)換時,記住我們要選擇WGS84坐標(biāo)系:

轉(zhuǎn)換后的百度坐標(biāo)地址為:
經(jīng)度=116.45054049919501
維度=39.921605252645946
然后,我們?nèi)グ俣鹊貓D上,使用經(jīng)緯度進(jìn)行定位,看看是否準(zhǔn)確:

該定位地址,就是我們原始的經(jīng)緯度信息對應(yīng)的實(shí)際百度地圖位置。
五、NaviTrack基本使用
通過串口工具,能夠正常收到Air551G的信息后,我們就可以使用NaviTrack工具來更有效的獲取調(diào)試信息了。
先關(guān)閉串口工具,再打開NaviTrack,選擇正確的串口和波特率,Connect后,界面如下:

注意:需要運(yùn)行一段時間,且Air551G在室外,才能獲得豐富的定位信息。
在以上界面中,各子窗口展示功能:
1)Navi CMD:用于給Air551G發(fā)送命令;
2)Track:表示每次輸出經(jīng)緯度坐標(biāo)點(diǎn)在一個基準(zhǔn)位置的散落情況;
3)Signal:表示各導(dǎo)航衛(wèi)星的信號情況;
4)NAME info:對串口中的信息進(jìn)行了整理輸出,更便于查看分析;
5)Fix mode:修正模式;
6)Sky view:當(dāng)前可見衛(wèi)星一覽。
如果Sky view中,沒有顯示到衛(wèi)星,那么定位就不能進(jìn)行,NAME info部分的經(jīng)緯度信息,就會不顯示或者顯示為0,同時Singal部分也會沒有信息。
六、指令發(fā)送:
在Navi CMD界面中,我們可以給Air551G發(fā)送指令。
重置設(shè)備指令示例
如果要重置設(shè)備,我們可以發(fā)送指令:
PGKC030,4,2
其中:030表示指令編號;4,2表示硬重啟,也就是恢復(fù)到出廠模式。

在串口工具中,我們也可以發(fā)送該指令,但是其格式為完整格式:
$PGKC030,4,2*2A[CR][LF]
而Navi CMD會自動幫我們處理$和*后面的內(nèi)容,并自動添加回車換行[CR][LF];*后面的2A,表示 $和*中間部分的BCC校驗(yàn)(異或校驗(yàn))結(jié)果。
如果不了解如何進(jìn)行BCC校驗(yàn),可以通過網(wǎng)頁進(jìn)行計(jì)算。
BCC校驗(yàn)(異或校驗(yàn))在線計(jì)算參考網(wǎng)址:
http://www.ip33.com/bcc.html


由此我們也可以知道,給Air551G發(fā)送指令,其格式為:
$PGKC指令編號,參數(shù)1,參數(shù)2,...,參數(shù)n*BCC校驗(yàn)碼[CR][LF]
注意,其中的參數(shù)1~n,均為十六進(jìn)制,BCC校驗(yàn)碼,也為16進(jìn)制。(10進(jìn)制的10為16進(jìn)制的A)。

我們還可以再分別嘗試兩條指令,用于查看只使用北斗導(dǎo)航和所有衛(wèi)星導(dǎo)航的區(qū)別。
注意:在串口工具中,需要輸入完整的指令;在Navi CMD中,只用輸入$和*中間的部分即可。
只使用北斗導(dǎo)航示例
先試第一條,設(shè)置只使用北斗導(dǎo)航:
$PGKC121,0,8,0*39

執(zhí)行該指令后,NaviTrack的NMEA info和Sky view界面會發(fā)生如下變化:


因?yàn)閯偛艌?zhí)行的那一條指令,表示只使用L1的BD導(dǎo)航,所以現(xiàn)在只顯示了北斗導(dǎo)航的衛(wèi)星。
同樣的,如果我們使用串口工具發(fā)送指令后,會看到如下返回:

可以看到,報文中,就只有BD的信息了。
注意:使用串口工具,一定要勾選尾部添加CRLF,否則指令無效。
使用所有衛(wèi)星導(dǎo)航示例
我們在執(zhí)行使用所有衛(wèi)星導(dǎo)航指令后,上述界面中的衛(wèi)星,又會變得多了起來。
$PGKC121,5,3F,3F*34


以上展示了基本的指令使用,在前面的《2_GK9701輸入輸出格式文檔V1.0.pdf》中,有詳細(xì)的指令說明,有需要可以仔細(xì)研讀。
另外,出廠情況下,串口上報的信息會盡可能豐富,但是我們在實(shí)際使用中,如前面對報文簡介所說的,很多只是調(diào)試使用,實(shí)際使用時不用。我們可以使用輸出控制指令,設(shè)置需要輸出哪些信息即可。
具體指令格式為:

實(shí)際上,9-21位的0,并不需要輸入,我們只輸入1-8位即可,1表示開啟對應(yīng)的輸出,0表示關(guān)閉對應(yīng)的輸出。
GGA獲取經(jīng)緯度信息示例
在實(shí)際使用中,我們只需要通過GGA獲取經(jīng)緯度信息即可,那么發(fā)送的指令如下:
$PGKC242,0,0,0,1,0,0*2A
如果我們要把調(diào)試的信息都發(fā)出來,則使用如下的指令:
$PGKC242,1,1,1,1,1,1*2B
再次提醒:
在串口工具中,需要輸入完整的指令;在Navi CMD中,只需要輸入$和*之間的部分(不包含$和*)即可。
設(shè)置只輸出GGA信息后,我們就可以使用其他開發(fā)板的串口來連接Air551G,通過串口讀取即可。
到這里,我們了解了如何通過串口上報的報文,獲取經(jīng)緯度信息,以及通過發(fā)送對應(yīng)的指令來控制Air551G的運(yùn)行模式了。
后續(xù)通過合宙的其他LuatOS開發(fā)板,或者M(jìn)icroPython類的開發(fā)板,都能非常方便的獲取定位信息。再結(jié)合屏幕,就能夠進(jìn)行實(shí)際的定位展示了。
今天的分享就先到這里了,希望對大家有幫助,一起多交流~
-
開發(fā)板
+關(guān)注
關(guān)注
26文章
6291瀏覽量
118149
發(fā)布評論請先 登錄
猛!合宙MCU模組:Air1601/1602雙星出擊!
高效接入語音交互:合宙模組音頻方案如何選?
奮斗 STM32 開發(fā)板入門手冊
RL78/G22快速原型開發(fā)板:功能特性與使用指南
Renesas RSKRX231開發(fā)板:從入門到實(shí)戰(zhàn)的全方位指南
RL78/G16快原型開發(fā)板使用指南:從入門到實(shí)戰(zhàn)
【PZ7020-StarLite 入門級開發(fā)板】——FPGA 開發(fā)的理想起點(diǎn),入門與工業(yè)場景的雙重優(yōu)選
Air780EGH開源代碼來襲!定位功能快速入門指南
揭秘Air780EGH定位功能:源碼開放助力極速開發(fā) !
ALINX AMD RFSoC射頻開發(fā)板選型指南
Air8101多網(wǎng)融合戰(zhàn)略升級:Air780EPM模塊助力4G聯(lián)網(wǎng)落地
【新品】遠(yuǎn)距離圖傳數(shù)傳模塊開發(fā)板、藍(lán)牙模塊開發(fā)板、無線模塊開發(fā)板
多功能+高擴(kuò)展能力加持,Air8000開發(fā)板最新資料
技術(shù)篇——Air8000開發(fā)板,一站式滿足多功能高擴(kuò)展開發(fā)需求!
【北京迅為】iTOP-RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動開發(fā)-第4章 UART基礎(chǔ)知識
雙頻定位怎么用?看這篇——合宙Air551G開發(fā)板入門使用及基礎(chǔ)知識普及
評論