北斗衛星導航系統(以下簡稱北斗系統,英文縮寫BDS),是中國著眼于國家安全和經濟社會發展需要,自主建設運行的全球衛星導航系統,是為全球用戶提供全天候、全天時、高精度的定位、導航和授時服務的國家重要時慷訓礎設施,
北斗三號已經在2020年正式開通,預計2021年開放給民用,我們在這里可以提前了解一下北斗二代的編程技術,三代的編程原理也是類似的,
你需要的設備
1)一臺帶串口的北斗終端
我使用的是成都國星的車載北斗終端,

2)電腦上有串口或者U轉串的線
現在的電腦一般都不配串口,可以買一根USB轉串口的轉接線,我從網上買了一根綠聯的,質量挺好,連接之后,安裝相應的驅動程式,

第一步,查看可用的串口
安裝好U轉串的驅動之后,可以在計算機管理里看到可用的串口,我這里是COM5,

第二步,從串口接收一行文本
在Visual Studio里新建一個控制臺專案,在System.IO.Ports里提供了一個SerialPort類,可以方便地進行串口通訊,北斗設備的串口的波特率一般是115200,具體看廠商設備的說明書,
//using System.IO.Ports;
SerialPort port = new SerialPort("COM5", 115200);
port.Open();
string line = port.ReadLine();
Console.WriteLine(line);
port.Close();
運行之后,我的程式從串口里收到一行資料:
$GNRMC,074126.087,V,,,,,0.00,260.32,250121,,,N*5A
表示北斗設備正常,你接收到的資訊可能與我的不一樣,
第三步,獲取北斗卡號
先上代碼,
SerialPort port = new SerialPort("COM5", 115200);
port.Open();
port.Write("$CCICA,0,0*4B\r\n");
for (int i = 0; i < 10; i++)
{
string line = port.ReadLine();
if (line.StartsWith("$BDICI"))
{
Console.WriteLine(line);
}
}
如果北斗設備正常,可以得到類似下面的一行資訊,925867就是北斗卡號,
$BDICI,0925867,2204536,1934946,6,60,3,N,0*0F
簡單說明一下:
$CCICA,0,0*4B\r\n
是發送給串口的一行命令,如果命令符合北斗通訊的語法規則,串口會收到一條 $BDICI 的反饋資訊,逗號分隔了許多引數,第一個引數就是北斗卡號,
好了,今天先介紹到這里,最最基本的北斗串口通訊就是這么簡單,后續我再分享其它的內容,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/252680.html
標籤:其他
