SIM7020C NB-IoT HAT

SIM7020C NB-IoT HAT
SIM7020C NB-IoT HAT
{{{name2}}}
{{{name3}}}
基本信息
分类: NB-IoT模块
{{{userDefinedInfo1}}}: {{{userdefinedvalue1}}}
{{{userDefinedInfo2}}}: {{{userdefinedvalue2}}}
{{{userDefinedInfo3}}}: {{{userdefinedvalue3}}}
品牌: Waveshare
功能简介
特性 树莓派NB-IoT扩展
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 UART RPi
相关产品
SIM7000C NB-IoT HAT

SIM7020C NB-IoT HAT
SIM7600CE 4G HAT
SIM800C GSM/GPRS HAT
GSM/GPRS/GNSS HAT
GSM/GPRS/GPS Shield (B)

♦ {{{Product2}}}
♦ {{{Product3}}}
♦ {{{Product4}}}
♦ {{{Product5}}}
♦ {{{Product6}}}

目录

产品概述

本产品是一款具有NB-IoT(窄带物联网)功能的树莓派扩展板,具有低功耗、低成本、广覆盖等优点,适用于新型的智能仪表和远程控制等物联网应用。

产品特性

  • 适用于Raspberry Pi Zero/Zero W/Zero WH/2B/3B/3B+
  • 支持TCP、UDP、LWM2M、HTTP、FTP、MQTT等功能
  • 板载USB接口,可用于软件调试等
  • 板载两路UART接口,可用于AT指令收发和更新固件(仅UART2)
  • 引出控制引脚,可接入Arduino/STM32等主控板
  • 板载电平转换电路,默认为3.3V工作,可通过跳线帽设置成5V
  • 板载SIM卡槽,支持NB-IoT专用卡
  • 板载2个LED指示灯,方便查看模块运行状态
  • 支持串口波特率范围300bps ~ 921600bps (默认115200bps)
  • 支持AT命令控制(3GPP TS 27.007,27.005和SIMCOM增强型AT命令集)
  • 支持SIM应用工具包(SAT Class 3、GSM 11.14 Release 98、USAT)
  • 提供完善的配套资料手册(Raspberry/Arduino/STM32等示例程序)

通信参数

  • 支持频段
    • B1/B3/B5/B8 (支持电信/联通/移动的NB-IoT卡)
  • 传输功率
    • Class 3 (0.25W@LTE)
  • 数据传输
    • 上行:≤62.5Kbps
    • 下行:≤26.15Kbps
  • 短消息
    • 文本和PDU模式(须SIM卡本身支持)

其他参数

  • 供电电压:5V
  • 逻辑电压:5V / 3.3V (默认为3.3V)
  • 休眠模式电流:1.2mA(@DRX=2.56s)
  • 省电模式电流:9uA
  • 工作温度:-40°C ~ 85°C
  • 存储温度:-45°C ~ 90°C
  • 产品尺寸:30.2mm x 65mm

接口说明

5V

电源正(5V电源输入)

GND

电源地

RX1

串口1数据接收

TX1

串口1数据发送

DTR

休眠控制引脚拉高休眠,拉低唤醒(须设置“AT+CSCLK=1”)

RI

中断唤醒引脚默认高电平,当收到短信息或URC上报会有120ms低电平脉冲(须设置“AT+CFGRI=1”)

RX2

串口2数据接收

TX2

串口2数据接收

PWR

开关机控制引脚

RESET

复位引脚开机状态拉低电平可复位,关机状态无效

跳线帽说明

树莓派引脚定义图

VCCIO

:可通过跳线帽设置工作电平为3.3V或5V

PWR

:开关机控制引脚,默认接到树莓派的P4引脚

指示灯说明

PWR

  给模块的5V和GND供电时亮起

NET

  64ms亮/800ms熄灭——未注册上网络
  64ms亮/3000ms熄灭——已注册上网络
  64ms亮/300ms熄灭——数据传输时
  熄灭——关机或PSM休眠模式

接入电脑调试

硬件连接

通过串口模块接入电脑连接图

用户在使用SIM7020模块前除了micro USB线、LTE天线外,还需要另外准备以下东西:

硬件连接操作:

  1. 将NB-IoT卡安装到模块背面卡槽,并连接好LTE天线。(使用时须把 LTE天线 旋转到板子外侧,如右图所示)
  2. 把CP2102模块引脚对应接到SIM7020X的串口1(或串口2),再用USB线连入电脑。
  3. 给SIM7020模块供电,此时PWR灯亮红灯,NET灯不亮状态。
  4. 按PWRKEY按键约1s松开,等待2秒左右,看到NET灯开始闪烁,则模块开机成功。
  5. 使用配套的串口助手打开,选择对应的串口端口和波特率115200,勾选加回车换行,
  6. 打开扩展可看到实现录入的AT指令,点击对应的指令即可直接发送。
    SIM7020X-NB-IoT-HAT-tt.jpg

简单联网测试

简单联网测试截图

下表列举一些常用AT指令,可以简单快速地检测SIM7020的AT串口通信和网络连接是否正常。
进行下文演示的联网通信实验前建议都先做简单联网测试,确认网络连接正常再操作。
相关的AT指令详细说明可参阅:SIM7020 Series_AT Command Manual。

命令

说明

返回值

AT

AT测试指令

OK

ATE

ATE1设置回显,ATE0关闭回显

OK

AT+CSQ

网络信号质量查询,返回信号值

OK

AT+CGMR

查询固件版本

OK

AT+CGREG?

查询网络注册状态

OK

AT+CGACT?

查询PDP状态

OK

AT+COPS?

查询网络信息

OK

AT+CGCONTRDP

查询网络状态

OK

AT+CFUN=0

关闭RF

OK

AT*MCGDEFCONT

配置APN,如:AT*MCGDEFCONT="IP","3GNET"

OK

AT+CFUN=1

开启RF

OK

TCP/IP通信

本文主要介绍SIM7020模块TCP/IP通信功能。

SIM7020模块不支持透传,不支持 server 模式。

SIM7020 TCP/IP默认是多路client架构,共支持5路sockets,包括TCP或者UDP。

SIM7020X-NB-IoT-HAT-08.png

TCP/IP通信前,先根据上文“硬件配置”和“简单联网测试”操作,确保模块联网正常。

SIM7020模块TCP、UDP通信以及DNS解析和Ping功能,AT指令详细说明可参阅:SIM7020 Series_TCPIP_Application_Note。

【TCP Client】

TCP Client测试截图

相关指令:

AT指令

指令说明

返回值

AT+CSOC=1,1,1

创建 TCP socket, <socket_id>=0

OK

AT+CSOCON=0,2317,"118.190.93.84"

连接远端server

OK

AT+CSOSEND=0,0,"Hello World"

发送数据

OK

AT+CSOCL=0

关闭socket

OK

AT+CSOSENDFLAG

使能发送ACK 回执

OK

AT+CSORCVFLAG

使能接收ACK 回执

OK

AT+CSOCON?

检查通信端口和类型

OK

【UDP Client】

UDP Client测试截图

相关指令:

多路sockets测试截图

AT指令

指令说明

返回值

AT+CSOC=1,2,1

创建 UDP socket, <socket_id>=0

OK

AT+CSOCON=4,524,"116.247.119.165"

连接远端server

OK

AT+CSOSEND=4,0,"Waveshare"

发送数据

OK

AT+CSOCL=0

关闭socket

OK

AT+CSOSENDFLAG

使能发送ACK 回执

OK

AT+CSORCVFLAG

使能接收ACK 回执

OK

AT+CSOCON?

检查通信端口和类型

OK

【多路sockets】

本例演示SIM7020模块同时使用5路SOCKETS通信,相关指令参考TCP Client和UDP Client。

【DNS解析和Ping功能】

模块须正常注册上网络后,才能使用DNS解析和Ping功能,相关AT指令如下:

AT指令

指令说明

返回值

AT+CIPPING

Ping指令,如:AT+CIPPING="61.135.169.121"

OK

AT+CDNSGIP

解析服务器,如:AT+CDNSGIP="www.baidu.com"

OK

SIM7020X-NB-IoT-HAT-12.png

SIM7020X-NB-IoT-HAT-13.png

HTTP通信

本文主要介绍SIM7020模块HTTP通信功能,主要分HTTP GET和HTTP POST。

相关的AT指令详细说明可参阅:SIM7020 Series_HTTP_Application_Note。

HTTP GET测试截图1
HTTP GET测试截图2

【HTTP GET】

相关指令:

AT指令

指令说明

返回值

AT+CHTTPCREATE="https://www.waveshare.com/"

创建HTTP Host示例

OK

AT+CHTTPCON=0

连接 server

OK

AT+CHTTPSEND=0,0,"/index.html"

发送 http 请求

OK

AT+CHTTPDISCON=0

断开连接

OK

AT+CHTTPDESTROY=0

释放销毁 HTTP 示例

OK

AT+CHTTPCREATE?

检查HTTP连接状态

OK

说明:测试HTTP相关指令时,因NB-IoT网络问题,AT应答时间相对较长,请耐心等候。

【HTTP POST】

相关指令:

HTTP POST测试截图

AT指令

指令说明

返回值

AT+CHTTPCREATE="http://139.217.9.49:8080/"

创建 HTTP 服务器端

OK

AT+CHTTPCON=0

连接 server

OK

AT+CHTTPSEND=0,0,"/index.html"

发送 http 请求

OK

AT+CHTTPDISCON=0

断开连接

OK

AT+CHTTPDESTROY=0

释放销毁 HTTP 示例

OK

AT+CHTTPCREATE?

检查HTTP连接状态

OK

说明:测试HTTP相关指令时,因NB-IoT网络问题,AT应答时间相对较长,请耐心等候。

MQTT通信

本文主要介绍SIM7020模块MQTT通信功能。
相关的AT指令详细说明可参阅:SIM7020 Series_MQTT_Application_Note。

MQTT测试截图1
MQTT测试截图2

MQTT订阅主题和发布消息

下文为方便演示MQTT通信功能,下文借助网上找到的MQTT测试工具进行测试。

相关指令:

AT指令

指令说明

返回值

AT+CMQNEW="198.41.30.241","1883",12000,100

创建 MQTT 连接

OK

AT+CMQCON=0,3,"myclient",600,0,0

发送 MQTT 请求

OK

AT+CMQSUB=0,"mytopic",1

订阅主题

OK

AT+CMQPUB=0,"mytopic",1,0,0,8,"31323334"

发布主题和消息

OK

AT+CMQUNSUB=0,"mytopic"

取消订阅主题

OK

AT+CMQDISCON=0

断开 MQTT 连接

OK

说明:测试MQTT相关指令时,因NB-IoT网络问题,AT应答时间相对较长,请耐心等候。

接入树莓派使用

硬件连接

SIM7020X NB-IoT HAT板载树莓派GPIO接口,可直接插入各版本树莓派使用;下表为树莓派管脚与模块引脚连接情况(树莓派三代B+):

与树莓派引脚连接图

SIM7020X NB-IoT HAT

Raspberry Pi

5V

5V

GND

GND

RXD

TXD (对应BCM的14)

TXD

RXD (对应BCM的15)

PWR

P7 (对应BCM的P4)

软件配置

【引脚初始化】

接入树莓派实物图

模块出厂默认PWR引脚是通过跳线帽跳选到树莓派的P4引脚,为确保SIM7020X NB-IoT HAT接入树莓派后能正常工作,才需要初始化树莓派引脚的电平输出。

参考操作如下:

  • 下载树莓派代码,把SIM7020X整个文件夹复制到/home/pi/ 路径下,
  • 命令行进入到/home/pi/目录下,执行指令
chmod 777 pi_gpio_init.sh
  • 设置开机初始化脚本,运行命令:
sudo nano /etc/rc.local
  • 在exit 0前面加入 (如下图所示):
sh /home/pi/SIM7020X/pi_gpio_init.sh

【串口配置】

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

  • 执行如下命令进入树莓派配置:
sudo raspi-config
  • 选择Interfacing Options ->Serial ->no -> yes,关闭串口调试功能。
  • 打开/boot/config.txt文件,找到如下配置语句使能串口,如果没有,可添加在文件最后面:
enable_uart=1
  • 重启生效。

树莓派minicom调试

minicom AT指令测试

将模块插入树莓派中,安装minicom,minicom是linux平台串口调试工具:

sudo apt-get install minicom

执行minicom -D /dev/ttyS0 可进入minicom串口调试界面

默认波特率为115200,ttyS0为树莓派3B/3B+的串口,Zero/2B为ttyAMA0

树莓派示例程序演示

下载示例程序,把BCM2835整个文件夹拷贝到树莓派上,比如放到/home/pi/下,并改名为SIM7020X。

【bcm2835安装】

进入SIM7020X下的bcm2835目录,编译安装bcm2835库,执行指令:

./configure & make & sudo make check & sudo make install

SIM7020X-NB-IoT-HAT-24.png

【编译和运行】

树莓派示例程序结构图参考下图:

SIM7020X-Demo-Code-intro.jpg

下面以编译和运行AT示例程序为例:

cd /home/pi/SIM7020X/examples/AT
sudo make clean && sudo make && sudo ./main
  • 示例程序测试截图:

说明:更多示例程序持续更新中… …

文档

程序

软件

数据手册

SIM7020C模组官方链接

微雪搜集的资料
教程名2
  • 列表2
教程名3
  • 列表3
教程名4
  • 列表4
教程名5
  • 列表5
教程名6
  • 列表6

相关教程

树莓派系列教程
教程名2
  • 列表2
教程名3
  • 列表3
教程名4
  • 列表4
教程名5
  • 列表5
教程名6
  • 列表6
Mail.png 创客、技术牛、腹愁者,使命召唤红包伺候


身为创客的你,基于我们的产品,做了些屌炸天的东西出来,居然没人知道?
人世间最得意的事,就是写教程,做笔记;拍视频,赚外快... ...



QQ:2355861363
EMAIL:services@waveshare.net
电话:0755-83040712

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证。
Phone-wiki.png
手机百科