前言
本文将介绍如何使用将A9G通过GPS定位得到的经纬度等数据上报至服务器,然后在微信公众号上可以显示定位。
一、准备工作
1.硬件准备
- A9G开发板
- GSM天线
- GPS天线
- SIM卡
- USB转TTL
- 杜邦线若干
2.软件准备
- 安信可串口调试助手 查看输出的log
3.微信公众号
关注“安信可科技”公众号,在公众号里的定位器可以显示设备上报的定位信息。微信公众号定位器的源码网址:https://github.com/xuhongv/AiThinkerWechatForNB-IoT
三、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格式
四、相关配置
- 将SIM卡插入A9G开发板的SIM卡槽,并且接上GSM天线和GPS天线去室外进行测试
- 当USB转TTL打印GPS数据,出现A字母就表示A9G已经定位成功,如下图
- 由于GPS定位信息输出的是NMEA的信息,需要通过公式进行转换
以下数据进行演示 A,2236.1467,N,11350.4585(格式:IMEI的格式)
计算公式如下:
22度+36.1467/60=22.602445(经纬度)
113度+50.4585/60=113.840975
- A9G开发板发送入网和MQTT连接指令,对应相关的指令可以查看第三章,如下图:
- 通过AT+CGSN指令进行获取到IMETI码,在后面加上/W20210011003770字符串,通过在线二维码器生成二维码,如867959033016029/W20210011003770字符串
- 微信关注 《安信可科技》 微信公众号后,找到定位器
- 在定位器中选择NB系列模组
- 进入到安信可NB系列模组定位应用界面
五、订阅信息和上报数据到公众号
- 点击扫描模组二维码,扫描之前生成的IMEI/W20210011003770二维码,扫描成功后会提示订阅成功
- 订阅成功后,通过串口调试助手发送MQTT发布指令,公众号界面上显示对应的定位位置
六、联系我们
官方官网:https://www.ai-thinker.com
开发DOCS:https://docs.ai-thinker.com
官方论坛:http://bbs.ai-thinker.com
技术支持:[email protected]