• 路径规划(1)--连接GPS接收端


    从淘宝上入手的GPS接收端U-BLOX M8N,带UART串口连接线。

    一.打开树莓派上的UART串口通信

    1.下载pi3-miniuart-bt-overlay.dtb,并将dtb文件拷贝到/boot/overlays/目录下

    下载地址:http://pan.baidu.com/s/1qXS0hoK

    2.编辑/boot目录下的config.txt文件,增加两行

      sudo nano /boot/config.txt

      dtoverlay=pi3-miniuart-bt-overlay

      force_turbo=1


     

    3.编辑/boot目录下的cmdline.txt文件,删除console=serial1,115200

    sudo nano /boot/cmdline.txt  dwc_otg.lpm_enable=0console=tty1 root=/dev/mmcblk0p2  kgdboc=serial1,115200rootfstype=ext4 elevator=deadline fsck.repair=yes  rootwait

    4.关闭板载蓝牙的方法:

    sudo systemctldisablehciuart

    5.编辑/lib/systemd/system/hciuart.server 将 “ttyAMA0”修改为“ttyS0”

    sudo nano /lib/systemd/system/hciuart.service  ExecStart=/usr/bin/hciattach /dev/ttyS0 bcm43xx115200noflow -


     

    6.更新并重启

    sudo apt-get update

    sudo apt-get upgrade

    sudo reboot

    二、连接UBLOX M8N-001接收端(002可以做基站也可以做移动端)

        UART串口线插板子上的vvc,gnd,rxd, txd插板子上的PIN角(rxd, txd交叉插),对应的pin位分别为01,06,08,10


     

    三、打开串口工具接收GPS数据:

    我们可以使用树莓派下 minicom 进行测试

    sudo apt-get install minicom

    sudo minicom -D /dev/ttyAMA0 -b 115200


     

    四、附GPS协议指令解析

    GPS模块采用NMEA 0183协议,NMEA 0183是美国国家海洋电子协会(National Marine Electronics Association)为海用电子设备制定的标准格式。目前业已成了GPS导航设备统一的RTCM(Radio Technical Commission for Maritime services)标准协议。

    NMEA-0183协议采用ASCII码来传递GPS定位信息,我们称之为帧。

    帧格式形如:$aaccc,ddd,ddd,„,ddd*hh(CR)(LF)

    1、“$”:帧命令起始位

    2、aaccc:地址域,前两位为识别符(aa),后三位为语句名(ccc)

    3、ddd„ddd:数据

    4、“*”:校验和前缀(也可以作为语句数据结束的标志)

    5、hh:校验和,$与*之间所有字符ASCII码的校验和(各字节做异或运算,得到

    校验和后,再转换16进制格式的ASCII字符)

    6、(CR)(LF):帧结束,回车和换行符


     

    在一般的项目中,最常用的指令是第4个,即$GPRMC ,推荐定位信息,长度70字节。$GPRMC(推荐定位信息,Recommended Minimum Specific GPS/Transit Data),$GPRMC语句的基本格式如下:

    $GPRMC,(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12)*hh(CR)(LF)

    (1) UTC时间,hhmmss(时分秒)

    (2) 定位状态,A=有效定位,V=无效定位

    (3) 纬度ddmm.mmmmm(度分)

    (4) 纬度半球N(北半球)或S(南半球)

    (5) 经度dddmm.mmmmm(度分)

    (6) 经度半球E(东经)或W(西经)

    (7) 地面速率(000.0~999.9节)

    (8) 地面航向(000.0~359.9度,以真北方为参考基准)

    (9) UTC日期,ddmmyy(日月年)

    (10)磁偏角(000.0~180.0度,前导位数不足则补0)

    (11) 磁偏角方向,E(东)或W(西)

    (12) 模式指示(A=自主定位,D=差分,E=估算,N=数据无效)

    举例如下:

    $GPRMC,023543.00,A,2308.28715,N,11322.09875,E,0.195,,240213,,,A*78 

  • 相关阅读:
    UIlabel自适应高度和自动换行
    ios2048小游戏
    NSPredicate
    NSURLConnection同步与异步请求 问题
    视频播放器开发中遇到的一些小问题MPMoviePlayerController
    storyboard中xib文件不加载问题
    cell的imageVIew的fram问题
    NSArray和NSDictionary添加空对象,以及nil和Nil和NULL和NSNull
    xcode5 和code6中push后方法执行的先后问题
    UItableView自定义标题(headerView)重用问题
  • 原文地址:https://www.cnblogs.com/onekey/p/10306719.html
Copyright © 2020-2023  润新知