A7670E Cat-1/GNSS HAT
| ||||||||||||||||||||||
| ||||||||||||||||||||||
产品特点
- 基于 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驱动,安装方法参考下图:
拨号上网
Windows下使用LTE Cat-1网络拨号上网
使用Type-C to USB-A线连接模块和windows之后,使用串口调试助手打开AT COM发送以下指令开启RNDIS上网
AT+DIALMODE=0 AT$MYCONFIG="usbnetmode",0
说明:
理论上,A7670E模组使用Cat-1/2G不同网络,上下行速率如下表。
但实际测速受网络覆盖率,网络拥堵情况和基站情况等因素影响,所以不同的时间段,不同的地点测速的数据都会有差异。
网络制式 | 上行速率 | 下行速率 |
---|---|---|
LTE Cat-1 | 5Mbps | 10Mbps |
EDGE | 236.8Kbps | 236.8Kbps |
GPRS | 85.6Kbps | 85.6Kbps |
串口助手调试
常用AT指令说明
命令 | 说明 | 返回值 |
---|---|---|
AT | AT测试指令 | OK |
ATE | ATE1设置回显 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 |
- 更多详细AT指令请参考:A76XX_Series_AT_Command_Manual_V1.01.pdf
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确认发送成功。如下图所示。
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/e/e6/A7670E-Cat-1_GNSS_HAT_Demo_Code.zip unzip A7670E-Cat-1_GNSS_HAT_Demo_Code.zip cd Raspberry
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陶瓷天线
将上述所有物品连接如下图所示:
示例程序
打开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/e/e6/A7670E-Cat-1_GNSS_HAT_Demo_Code.zip unzip A7670E-Cat-1_GNSS_HAT_Demo_Code.zip cd JestonNano
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.烧录程序,查看串口调试器内容
资料
视频
文档
程序
工具及驱动
数据手册
A7600 与A7670的AT指令兼容:
- A76XX_Series_AT_Command_Manual_V1.09.pdf
- A76XX_Series_TCPIP_Applicati0n_Note_V1.00.pdf
- A76XX_Series_Audio_Application_Note_V1.00.pdf
- A76XX_Series_FTP(S)_Application Note_V1.00.pdf
- A76XX_Series_HTTP(S)_Application Note_V1.00.pdf
- A76XX_Series_LBS_Application Note_V1.00.pdf
- Series_MQTT(S)_Application Note_V1.00.pdf
- A76XX_Series_SSL_Application_Note_V1.00.pdf
- A76XX Series_GNSS_Application Note_V1.03.pdf
- A7672X_A7670X_Series_Hardware_Design_V1.03.pdf
相关应用案例
FAQ
以A7670E Cat-1/GNSS HAT连接树莓派为例,通过GNSS_example.py代码解析出卫星信号的经纬度信息之后,将经纬度数据带入支持NMEA 0183坐标系的地图中即可
这里使用Waveshare Cloud提供的地图服务来作演示:
1.通过设备2.将参数填入Raspberry/GPSMaps/A7670E_GNSS_Python.py程序中。
3.将A7670E Cat-1/GNSS HAT连接树莓派,运行示例程序中Raspberry/GPSMaps/A7670E_GNSS_Python.py,等待卫星信号解析完成,在地图中即可查看位置信息。
4.
- 对的,A7670E 后缀E指欧洲,针对的欧洲市场,亚洲频段跟欧洲差不多,可以支持亚洲使用
- 美国频段不一样,再加上一些限制因素限制,所以无法使用
{{{5}}}