文章目录

  • 前言
  • 一、准备工作
  • 1.硬件准备
  • 2.软件准备
  • 3.微信公众号
  • 三、AT指令
  • 四、相关配置
  • 五、订阅信息和上报数据到公众号
  • 六、联系我们


前言

本文将介绍如何使用将A9G通过GPS定位得到的经纬度等数据上报至服务器,然后在微信公众号上可以显示定位。

一、准备工作

1.硬件准备

  • A9G开发板
  • GSM天线
  • GPS天线
  • SIM卡
  • USB转TTL
  • 杜邦线若干

2.软件准备

安信可串口调试助手 查看输出的log

3.微信公众号


三、AT指令

涉及到的AT指令主要有:
初始化A9G:

AT+RST=1 //复位A9G
AT+CGATT=1 //附着网络,如果需要上网,这条指令是必选的
AT+CGDCONT=1,"IP","CMNET" //设置PDP参数
AT+CGACT=1,1 //激活PDP,正确激活以后就可以上网了

初始化GPS :

AT+GPS=1 //开启GPS
AT+GPS? // 查询 GPS 的状态
AT+GPSRD=N //N秒输出一条 NEMA 信息,从AT串口

创建MQTT客户端:

AT+MQTTCONN="wx.ai-thinker.com",1883,"cloud",120,0,"admin","public" //连接MQTT服务器

订阅数据:

AT+CGSN  //获取IMEI
867959033016029

AT+MQTTSUB="/IMEI/devPub",1,0  //订阅MQTT主题信息,IMEI可通过AT+CGSN指令进行获取

上报数据:

AT+MQTTPUB="/IMEI/devPub",43,1,0,0  //上报定位数据到MQTT服务器
{"long":value,"lat":value,"qos":0}  //定位数据,要符合JSON格式

四、相关配置

  1. 将SIM卡插入A9G开发板的SIM卡槽,并且接上GSM天线和GPS天线去室外进行测试
  2. 当USB转TTL打印GPS数据,出现A字母就表示A9G已经定位成功,如下图
  3. 由于GPS定位信息输出的是NMEA的信息,需要通过公式进行转换
    以下数据进行演示 A,2236.1467,N,11350.4585(格式:IMEI的格式)
    计算公式如下:
    22度+36.1467/60=22.602445(经纬度)
    113度+50.4585/60=113.840975
  4. A9G开发板发送入网和MQTT连接指令,对应相关的指令可以查看第三章,如下图:
  5. 通过AT+CGSN指令进行获取到IMETI码,在后面加上/W20210011003770字符