SIM7070G NB-IoT 模块

产品简介

SIM7070G是⼀款全球频段的NBIoT通讯模组,它不仅支持CAT-M、NBIoT、GSM、GPRS、EDGE通讯,还有GNSS卫星定位的功能。这使得该产品非常适合用于智慧物流、资产跟踪、智慧城市、农业、林业等场景的通讯。

此外,基于SIM7070G的Gravity通讯模组支持UART Gravity PH2.0-4P通讯接⼝及USB2.0接⼝。这方便了你将模组用于和MCU、PC、工控机、开发板等之间的通讯。

SIM7070G内置了功能丰富的AT指令,并提供了详细的使用手册和应用文档,包括HTTP、MQTT、FTP、CoAP、NIDD、PING等网络通讯协议的使用方法,你无需学习和开发复杂的底层网络协议,上手即用。

每个国家或地区对无线电通讯设备的管控都非常的严格,产品必须具备相关的认证。SIM7070G获得了全球大多数国家或地区的相关认证,具体如下:

有了以上的相关机构的检测和认证,你可以放心的将SIM7070G用于你的产品或项⽬,无需担心合规问题。

产品特点

应用场景

产品参数

电源

数据传输

通讯接口

支持频段

产品尺寸:49mm×42mm

功能示意图

接口说明 说明
NB_RF 接NB天线
GNSS 接GPS定位天线
UART UART接口(接口电平3.3V-5V)
USB-Type C USB设备接口,用于与电脑进行通信测试或者设置参数
Power IN 在供电不足的情况下需外接5-12V电源
SIM Card 插SIM卡

注意事项:

1.当模块使用PH2.0座子进行通信时建议外接5V-12V电源

2.模块通电即开机,首次插入NB卡后需要通电并等待1-2分钟注册网络

3.Net——网络信号指示灯

4.为了防止对SIM7070G模块内部flash造成损坏,请使用“AT+CPOWD=1”命令进行安全关机,而非直接断电

尺寸图

常用AT指令

命令 意义 返回值
AT AT测试指令 OK
ATE ATE1设置回显 ATE0关闭回显 OK
AT+CGMI 查询模组制造商 OK
AT+CGMM 查询模组型号标识 OK
AT+CGSN 查询产品序列号 OK
AT+CGMR 查询软件版本序列号 OK
AT+IPR=9600 设置模块临时硬件串口波特率为9600 OK
AT+IPR? 查询当前硬件串口波特率 OK
AT+CPIN? 查询SIM卡状态,返回READY,表示SIM卡能正常识别 OK
AT+CSQ 网络信号质量查询,返回信号值 OK
AT+CGREG? 检查网络注册 OK
AT+CMEE=1 报告移动设备错误 OK
AT+CGNAPN 在CAT-M或者NB-IOT中获取网络APN OK
AT+CPSI? 查询UE系统信息 OK
AT+CNACT=0,1 激活应用网络 OK
AT+CNACT? 查询网络IP OK
AT+CNACT=0,0 关闭应用网络 OK
AT+CNMP=38 选择LTE模式 OK
AT+CMNB=2 选择NB网络 OK
AT+CPOWD=1 关机 NORMAL POWER DOWN

注意:更多测试指令请参考AT指令集

示例应用

硬件准备

软件准备

安装驱动:

下载驱动文件并在桌面解压,在设备管理器的“其他设备”里会出现一个SIM端口,右键更新驱动程序

更新好后,可以在“其他设备”中看见以下几个端口,同样的右键更新这些SIM端口的驱动程序

安装好后如下图

注意:这个是NB模块,在国内只支持NB SIM卡

MQTT连接

命令 意义 返回值
AT+CNACT=0,1 激活应用网络 OK
AT+CNACT? 查询网络IP OK
AT+SMCONF 设置MQTT参数 OK
AT+SMCONN 启动MQTT连接 OK
AT+SMPUB 推送主题消息 OK
AT+SMSUB 订阅主题 OK
AT+SMUNSUB 取消订阅主题 OK
AT+SMSTATE 查询MQTT连接状态 OK
AT+SMPUBHEX 推送HEX类型的主题消息 OK
AT+SMDISC 断开MQTT连接 OK
AT+CNACT=0,0 断开应用连接 OK

本示例是通过AT指令,操作SIM7070G向Easy IoT平台发送设定的消息

进入Easy IoT,如果没有账号,可以先注册账号

登录成功之后,打开工作间,获取账户(user) 密码(password),添加新设备(Topic),并将上述三个重要参数记录下来,具体步骤如下:

AT+CNACT=0,1

//激活无线连接,第一个参数‘0’表示 PDP Index,第二个参数‘1’表示激活

AT+CNACT?

//获取本地 IP 地址

AT+SMCONF="URL","iot.dfrobot.com",1883

//设置 MQTT 服务器地址和端口,iot.dfrobot.com 是服务器地址,1883 是 MQTT 的默认端口

AT+SMCONF="USERNAME","user"

//设置 MQTT 用户名,在“user”里输入在Easy IoT平台上获取的账户(user)

AT+SMCONF="PASSWORD","password"

//设置 MQTT 密码,在“password”里输入在Easy IoT平台上获取的密码(password)

AT+SMCONF="CLIENTID","Topic"

//设置 MQTT 客户端ID,在“Topic”里输入在Easy IoT平台上获取的设备(Topic)

AT+SMCONF="CLEANSS",1

//设置清空会话,1 表示清空会话

AT+SMCONF="KEEPTIME",60

//设置保持连接时间,60 表示 60 秒

AT+SMCONF="QOS",1

//设置消息质量级别,1 表示至少一次

AT+SMCONF="RETAIN",1

//设置保留标识,1 表示消息和其 qos 将被保存

AT+SMCONF="TOPIC","Topic"

//设置发布主题名称,在“Topic”里输入在Easy IoT平台上获取的设备(Topic)

AT+SMCONF="MESSAGE","DFROBOT"

//设置发布消息详细信息,"DFROBOT"是消息内容

AT+SMCONN

//连接到 MQTT 服务器

AT+SMPUB="Topic",7,1,1

//发布消息,在“Topic”里输入在Easy IoT平台上获取的设备(Topic),7 是消息长度,1 表示保留消息,1 表示消息质量为1,注意:发布消息时需要勾选“回车换行”

//然后取消“回车换行”之后发送消息内容“DFROBOT“

AT+SMDISC

//断开与 MQTT 服务器的连接

AT+CNACT=0,0

//断开无线连接,第一个参数‘0’表示 PDP Index,第二个参数‘0’表示断开。

注意:发布消息时也需要回车换行,在发送消息内容时需要取消回车换行

读取GNSS定位信息

使用GNSS定位时,先插上GPS天线,并将模块放到室外,打开GNSS电源后,可选择适合自己项目的方式启动GNSS定位。

指令 意义 返回值
AT+CGNSPWR GNSS电源控制 OK
AT+CGNSINF 从NMEA句子中解析出的GNSS导航信息 OK
AT+CGNSCOLD GNSS冷启动 OK
AT+CGNSWARM GNSS暖启动 OK
AT+CGNSHOT GNSS热启动 OK
AT+CGNSMOD GNSS工作模式设置 OK
AT+CGNSXTRA 打开GNSS XTRA OK
AT+CGNSCPY 复制GNSS XTRA文件 OK
AT+SGNSCFG GNSS NMEA输出配置 OK
AT+SGNSCMD AT串口输出GNSS NMEA数据 OK

注意:GNSS的启动有三种方式:冷启动、暖启动、热启动。

  1. 冷启动:当GNSS 在全新的环境下启动,需要重新获取所有卫星信息时使用。通常用于首次使用、电池耗尽或设备移动距离过大。此情况下,启动时间较长。
  2. 暖启动:这是 GNSS 在最后一次定位后超过2小时再次启动,此时部分卫星信息已变化,需要更新这部分信息。启动时间介于冷启动和热启动之间,适用于设备暂时关闭后的再次启动。
  3. 热启动:这是 GNSS 在短时间内(2小时内)再次启动,设备位置变化不大,大部分卫星信息仍有效,启动时间最短,适用于短时间内的频繁启动。

本示例是通过AT指令进行GNSS定位

AT+CGNSPWR=1

//打开GNSS电源(UART或USB AT端口)

AT+CGNSINF

//读取GNSS导航信息

假设串口打印的定位数据为:1,1,20191024051848.000,12.345678,123.456789,123.123,0.00,-1.8,0,,1.4,1.7,0.9,,6,,12.4,12.0

以下是SIM7070G模组读取到的GNSS导航信息的具体含义:

  1. GNSS运行状态:数值1表示GNSS正在运行
  2. 定位状态:数值1表示成功定位
  3. UTC日期和时间:20191024051848.000,格式为年月日时分秒.毫秒
  4. 纬度:12.345678度
  5. 经度:123.456789度
  6. MSL海拔高度:123.123米
  7. 地面速度:-1.8千米/小时
  8. 地面航向:速度为0
  9. 定位模式:数值0表示自动选择使用GPS和GLONASS
  10. Reserved1:保留字段,数据缺失
  11. HDOP:水平精度因子,数值1.4
  12. PDOP:位置精度因子,数值1.7
  13. VDOP:垂直精度因子,数值0.9
  14. Reserved2:保留字段,数据缺失
  15. GNSS Satellites in View:可见的卫星数量,数值6
  16. Reserved3:保留字段,数据缺失
  17. HPA:水平保护极限,数值12.4米
  18. VPA:垂直保护极限,数值12.0米

注意:不能同时连接蜂窝网和GPS定位

HTTP(S)例程

指令 意义 返回值
AT+CSSLCFG 配置上下文标识符的SSL参数 OK
AT+SHCONF 设置HTTP(S)参数 OK
AT+SHSSL 选择SSL配置 OK
AT+SHCONN HTTP(S)连接 OK
AT+SHBOD 设置Body OK
AT+SHAHEAD 加入Head OK
AT+SHPARA 设置HTTP(S) Para OK
AT+SHCPARA 清除HTTP(S) Para OK
AT+SHCHEAD 清除Head OK
AT+SHSTATE 查询HTTP(S)连接状态 OK
AT+SHREQ 设置请求类型 OK
AT+SHREAD 读取响应值 OK
AT+SHDISC 断开HTTP(S) OK
AT+HTTPTOFS 下载文件到ap文件系统 OK
AT+HTTPTOFSRL 下载文件到ap文件系统的状态 OK

本示例是建立HTTP连接,并发送GET请求

AT+CNACT=0,1

//激活无线连接,第一个参数‘0’表示 PDP Index,第二个参数‘1’表示激活。

AT+CNACT?

//获取本地 IP 地址

AT+SHCONF="URL","http://www.baidu.com" 

//设置服务器URL

AT+SHCONF="BODYLEN",1024

//设置HTTP正文长度,为最大正文长度的范围

AT+SHCONF="HEADERLEN",350

//设置HTTP头长度,为最大头长度的范围

AT+SHCONN

//建立HTTP连接

AT+SHSTATE?

//获取HTTP状态

//“+SHSTATE: 1”:已连接 //“+SHSTATE: 0”:已断开

AT+SHCHEAD

//清除HTTP头部,因为HTTP头部是追加的

AT+SHAHEAD="User-Agent","Mozilla/5.0" 

//添加头部内容

AT+SHAHEAD="Cache-control","no-cache"

//添加头部内容

AT+SHAHEAD="Connection","keep-alive"

//添加头部内容

AT+SHAHEAD="Accept","*/*"

//添加头部内容

AT+SHREQ="/search?q=SIM7070G", 1

//设置请求类型为GET //响应将取决于服务器返回的数据的实际大小 //例如这里返回的数据大小为247

AT+SHREAD=0,247

//读取数据长度为247 //数据内容跟随 “+SHREAD: 247”

AT+SHDISC

//断开HTTP连接

AT+CNACT=0,0

//关闭无线连接,第一个参数‘0’表示 PDP Index,第二个参数‘1’表示激活

注意:保持一次请求的时间默认为60秒,你也可以选择30-1800的设置区间

功能模式

指令 意义 返回值
AT+CFUN=0 最小功能模式 OK
AT+CFUN=1 全功能模式(默认) OK
AT+CFUN=4 飞行模式 OK

注意:

1.设置“AT+CFUN=0” 后,模块进入最小功能模式,关闭射频功能和SIM卡的功能。在这种情况下,串口和USB仍然可以继续使用,但是与射频和SIM卡相关的功能以及部分AT命令不能使用。

2.设置“AT+CFUN=4” 后,模块进入飞行模式,关闭射频功能。在这种情况下,模块的串口和USB仍然可以使用,但是与射频相关的功能以及部分AT命令不可使用。

3.当模块进入最小功能模式或者进入飞行模式后,都可以通过命令“AT+CFUN=1”使之返回全功能模式。

更多资料下载

常见问题

Q:为什么SIM7070G没有信号?

A:设置NB-IOT或者CAT-M更容易获取信号

AT+CMNB=2      //设置NB-IOT模式
AT+CMNB=1      //设置CAT-M模式
AT+CMNB=3      //设置CAT-M和NB-IOT组合模式

A:固定LTE模式能更快注册到网络

AT+CNMP=38

Q:SIM7070G可以同时使用通讯和GNSS定位吗?

A:SIM7070G不能同时使用通讯及GNSS定位功能

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。

DFshopping_car1.png DFRobot商城购买链接