A7670E-Cat-1-GNSS-HAT 教程

资料

视频

文档

程序

工具及驱动

数据手册

A7600 与A7670的AT指令兼容:

相关应用案例

A76XX PPP拨号上网


产品特点

  • 基于 Raspberry Pi 40PIN GPIO 接口设计,适用于 Raspberry Pi 系列主板
  • 支持 TCP/IP、HTTP(s)、MQTT(s)、FTP(s) 和 SSL 等网络通信协议
  • 支持拨号上网、打电话和发短信等功能
  • 支持 LBS 基站定位,可通过移动网络获取大致的位置信息
  • 支持 GNSS 定位,可通过卫星信号获取位置信息
  • 支持 TTS 文字转语音功能,可将中文或英文文本转换为语音输出
  • 板载 USB 接口,可用于测试AT指令、联网通信等
  • 板载音频接口,可接入耳机进行录音、打电话和TTS语音播放等
  • 引出 A7670E 模组串口引脚,方便接入 Arduino/ESP32 等主控板
  • 板载 SIM 卡槽,支持 1.8V 和 3V SIM 卡
  • 板载 2 个 LED 指示灯,方便查看模块运行状态
  • 提供完善的配套资料手册 (Raspberry/Jetson Nano/Arduino/ESP32/示例程序)

硬件测试

实物连接

  • 用户在使用模块前除了Type C USB线、GNSS天线、LTE天线外,还需要准备以下东西:
一张4G SIM卡(移动、联通或电信卡,未停机且开通4G或GPRS);
一根带麦克风耳机线(可选);
  • 断电的情况下,装入已经激活的4G SIM卡、插入带麦克风的耳机线(可选),再接上USB线到电脑。
  • 把Type C USB线一端接PC机USB接口,另一端接A7670E Cat-1/GNSS HAT的USB接口,PWR灯亮起,等待约3~5秒模块启动,NET灯常亮,模块启动成功,等待模块自动寻找网络,NET灯开始闪烁
  • 打开设备管理器,第一次使用需要安装 Windows驱动,安装方法参考下图:
      
  • 驱动安装成功后,可以看到多出下图所示COM口:

拨号上网

Windows下使用LTE Cat-1网络拨号上网

使用Type-C to USB-A线连接模块和windows之后,使用串口调试助手打开AT COM发送以下指令开启RNDIS上网

AT+DIALMODE=0
AT$MYCONFIG="usbnetmode",0
  • 网速测速,打开测速网址:www.speedtest.net,鼠标点击测速,开始测速。下图为实际测速截图:


说明:
理论上,A7670E模组使用Cat-1/2G不同网络,上下行速率如下表。
但实际测速受网络覆盖率,网络拥堵情况和基站情况等因素影响,所以不同的时间段,不同的地点测速的数据都会有差异。

网络制式上行速率下行速率
LTE Cat-15Mbps10Mbps
EDGE236.8Kbps236.8Kbps
GPRS85.6Kbps85.6Kbps

串口助手调试

软件设置参考下图框选处:

常用AT指令说明

命令说明返回值
ATAT测试指令OK
ATEATE1设置回显
ATE0关闭回显
OK
AT+SIMCOMATI查询模组信息OK
AT+IPREX设置模块硬件串口波特率+IPREX:
OK
AT+CRESET复位模块OK
AT+CSQ网络信号质量查询,返回信号值+CSQ: 25,99
OK
AT+CPIN?查询SIM卡状态,返回READY,表示SIM卡能正常识别+CPIN: READY
AT+COPS?查询当前运营商,正常联网后会返回运营商信息+COPS:
OK
AT+CREG?查询网络注册状态+CREG:
OK
AT+CPSI?查询UE系统信息
AT+CNMP网络模式选择命令:
2:Automatic
13:GSM only
14:WCDMA only
38:LTE only
OK


TCP/UDP串口数据透传

命令说明返回值
AT+NETOPEN打开网络开放模式OK
+NETOPEN: 0
AT+CIPRXGET=1缓冲区访问模式OK
AT+CIPOPEN=0,"TCP","39.99.166.146",2317设置TCP/IP和端口+CIPOPEN: 0,0
OK
AT+CIPSEND=0,9发送数据>
wavehare数据内容OK
+CIPSEND: 0,9,9
AT+CIPCLOSE=0结束TCP连接+CSQ: 25,99
OK
AT+NETCLOSE关闭网络开放模式OK
+NETCLOSE: 0

TTS文本转语音

TTS文本转语音的常用命令如下:

AT+CTTSPARAM=? //查看调节参数的范围
AT+CTTSPARAM=1,3,0,1,1 //设置参数
AT+CTTSPARAM? //读取TTS当前设置的参数
AT+CTTS=1,"6B228FCE4F7F75288BED97F3540862107CFB7EDF" //合成并播放UCS2文本
AT+CTTS=2,"1234567890" //合成并且播放text文本

LBS基站定位

LBS基站定位功能的常用命令如下:

AT+CLBS=?  //查看可以设置的参数范围
AT+SIMEI=xxxxx //如果没有IMEI,则先设置IMEI,xxxxx必须对应模组贴纸上的IMEI码
AT+CLBS=2 //获取详细地址
AT+CLBS=1 //获取当前经纬度

HTTP请求

HTTP功能的常用命令如下:

AT+HTTPINIT  // 开启HTTP
AT+HTTPPARA="URL",https://www.waveshare.cloud/api/sample-test/ // 设置目标URL信息
AT+HTTPACTION=0 // HTTP Get请求
AT+HTTPREAD=0,500 // 输出HTTP返回值
AT+HTTPDATA=5,1000 // 设置HTTP参数

MQTT请求

GNSS卫星定位功能的常用命令如下:

AT+CMQTTSTART  // 开启MQTT
AT+CMQTTACCQ=0,"Waveshare-7670X",0 // 设置ClientID
AT+CMQTTCONNECT=0,"tcp://mqtt.easyiothings.com",20,1 // 连接MQTT服务器
AT+CMQTTTOPIC=0,8 // 设置发布主题
AT+CMQTTPAYLOAD=0,9 // 设置消息体内容
AT+CMQTTPUB=0,0,60 // 发布消息
AT+CMQTTSUB=0,8,1 //订阅主题

GNSS卫星定位

GNSS卫星定位功能的常用命令如下:

AT+CGNSSPWR=1  //开启GNSS
AT+CGNSSTST=1 //开启信息输出
AT+CGNSSPORTSWITCH=0,1 //切换NMEA数据输出口
AT+CGPSINFO //获取卫星经纬度数据

打电话

拨打电话的指令简单,具体指令如下:

ATD<phone_number>;  //如拨打10000:ATD10000;
AT+CHUP //挂断电话

如果觉得输出音量太小,可以利用以下命令进行调节:

AT+COUTGAIN=?  //调节音量大小,(0-7)
AT+COUTGAIN=7   //设置音量为7,返回OK

收发短信

一.发送英文短信

1.设置当地短信中心:AT+CSCA="+8613800755500"+回车,返回OK。
注:中国移动的短信服务中心号是+861380xxxx500,其中 xxxx 是你所在的长途电话区号,短信中心每个地方可能不一样,具体可百度查询或拨打移动联通客服,此短信中心为深圳(0755)。
2.AT+CMGF=1 :设置短信模式为TEXT ;
3.AT+CMGS="phone number"<回车> ,设置接收方手机号 ,然后会返回:“>”,发送需要的内容,如“Send massage test!”,结尾不需要回车,编辑完短信后以十六进制的格式发送1A发信息发送(1A是“CTRL+Z”的键值,用于告诉模块执行发送操作,也可以发送1B即“ESC”取消操作),发送成功后模块返回+CMGS:15确认发送成功。如下图所示。

A7600X-Message1.jpg
二.接收英文短信

1.手机上发送一条:“This is a receive test for SIM7600X!”到试验模块上
2.接受到信息时,串口会制动上报信息,“SM”, 20,代表存在 SM 里面有20条信息了,刚刚发的信息就是第 20 条
3.读取信息:AT+CMGR=20 读取第20条信息(AT+CMGL="ALL" 为读取所有信息)
4.删除信息:AT+CMGD=20,如下图所示
5.将显示的信息通过编码转换器转换成文本。

 
三.发送中文短信
设置发送短信参数

AT+CMGF=1             //设置为文本模式 
AT+CSCS="UCS2"           //设置信息文本为UCS2编码集
AT+CSMP=17,167,2,25          //设置文本模式参数。 
AT+CMGS="00310033003400330032003100310039003100300031"          //设置接收方手机号的UCS2集;

等待返回>,此时发送进过转换的信息内容(00530049004D003700360030003000584E2D658777ED4FE16D4B8BD5),结尾不需要回车,编辑完短信后以十六进制的格式发送1A发信息发送,如下图所示:

四.接收中文短信

AT+CMGF=1   //设置文本显示
AT+CSCS="GSM"  //设置GSM编码集
AT+CNMI=2,1  //设置新信息提醒
//接收到信息时,串口会自动上报信息,如下图所示放回的是第21条信息
AT+CMGR=21  //读取序号的短信内容

把软件中的信息转成中文,如下图所示:

树莓派使用说明

硬件准备与连接

  • 一块树莓派4B/树莓派5
  • 一块A7670E Cat-1/GNSS HAT
  • 一张4G通讯卡
  • 一根LTE天线
  • 一根GPS陶瓷天线

将上述所有物品连接如下图所示:

串口配置

由于树莓派串口默认用于终端调试,如需使用串口,则需要修改树莓派设置。

  • 执行如下命令进入树莓派配置:
sudo raspi-config
  • 选择Interfacing Options ->Serial ->no -> yes,关闭串口调试功能。

示例程序

树莓派示例程序

打开树莓派终端执行:

mkdir A7670E_Raspberry&&cd A7670E_Raspberry
python -m venv env
source env/bin/activate
pip install pynmea2 pyserial paho-mqtt
wget https://www.waveshare.net/w/upload/4/4b/A7670E_Cat-1-GNSS_HAT_Raspberry_Code.zip
unzip A7670E_Cat-1-GNSS_HAT_Raspberry_Code.zip

GNSS

此Demo使用Pynmea库解析NMEA 0183格式的卫星数据为经纬度

cd GNSS
python GNSS_example.py

执行过后等待获取GPS信息,当硬件启动、天气、卫星信号弱等原因出现时,GPS位置信息获取较慢

HTTP

此Demo提供测试HTTP接口

cd HTTP
python HTTP_example.py

MQTT

此Demo结合Waveshare Cloud平台,将树莓派运行状态通过MQTT上传至云端

1. 注册登录Waveshare Cloud,通过设备|设备属性页面一键添加功能选择树莓派设备并填入设备名

2. 从设备列表中获取到该设备的MQTT相关参数

3. 将参数数据填入代码中

4. 执行代码,在云端设备

python MQTT_example.py

5. 通过仪表盘查看具体设备仪表信息

Jetson Nano使用说明

硬件准备与连接

  • 一块Jetson Nano
  • 一块A7670E Cat-1/GNSS HAT
  • 一张4G通讯卡
  • 一根LTE天线
  • 一根GPS陶瓷天线

将上述所有物品连接如下图所示:

示例程序

JetsonNano示例代码

打开Jetson Nano终端执行:

mkdir A7670E_jetsonNano&&cd A7670E_jetsonNano
python -m venv env
source env/bin/activate
pip install pynmea2 pyserial paho-mqtt
wget https://www.waveshare.net/w/upload/1/17/A7670E_Cat-1-GNSS_HAT_JetsonNano_Code.zip
unzip A7670E_Cat-1-GNSS_HAT_JetsonNano_Code.zip

GNSS

此Demo使用Pynmea库解析NMEA 0183格式的卫星数据为经纬度

cd GNSS
sudo bash -c 'source ../env/bin/activate && python GNSS_example.py'

HTTP

此Demo提供测试HTTP接口

cd HTTP
sudo bash -c 'source ../env/bin/activate && python HTTP_example.py' 

MQTT

此Demo结合Waveshare Cloud平台,将树莓派运行状态通过MQTT上传至云端

1. 注册登录Waveshare Cloud,通过设备|设备属性页面添加功能添加设备

2. 从设备列表中获取到该设备的MQTT相关参数

3. 将参数数据填入代码中

4. 执行代码,在云端设备

sudo bash -c 'source ../env/bin/activate && python MQTT_example.py'		

Arduino/ESP32使用说明

硬件准备与连接

  • 一块Arduino
  • 一块A7670E Cat-1/GNSS HAT
  • 一张4G通讯卡
  • 一根LTE天线
  • 一根GPS陶瓷天线

将上述所有物品连接方式如下:

A7670E Cat-1/GNSS HAT

Arduino

5V

5V

GND

GND

RX

11

TX

10

GNSS

此Demo使用TinyGPS++库解析NMEA 0183格式的卫星数据为经纬度

1.打开Arduino IDE,Librarys 搜索TinyGPSPlus

2.烧录程序,查看串口调试器内容