匿名
未登录
登录
丢石头百科
搜索
查看“模板:SIM7020C-NB-IoT-HAT Manual”的源代码
来自丢石头百科
名字空间
模板
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
模板:SIM7020C-NB-IoT-HAT Manual
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
== 产品概述 == 本产品是一款具有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 == 接口说明 == {| class="list table table-striped table-bordered" |- || 5V || 电源正(5V电源输入) |- || GND || 电源地 |- || RX1 || 串口1数据接收 |- || TX1 || 串口1数据发送 |- || DTR || 休眠控制引脚拉高休眠,拉低唤醒(须设置“AT+CSCLK=1”) |- || RI || 中断唤醒引脚默认高电平,当收到短信息或URC上报会有120ms低电平脉冲(须设置“AT+CFGRI=1”) |- || RX2 || 串口2数据接收 |- || TX2 || 串口2数据接收 |- || PWR || 开关机控制引脚 |- || RESET || 复位引脚开机状态拉低电平可复位,关机状态无效 |} == 跳线帽说明 == [[File:Raspberry-Pi-P4.jpg|300px|thumb|树莓派引脚定义图]] {| class="list table table-striped table-bordered" |- || VCCIO || :可通过跳线帽设置工作电平为3.3V或5V |- || PWR || :开关机控制引脚,默认接到树莓派的P4引脚 |} == 指示灯说明 == {| class="list table table-striped table-bordered" |- || PWR || 给模块的5V和GND供电时亮起 |- || NET || 64ms亮/800ms熄灭——未注册上网络<br/> 64ms亮/3000ms熄灭——已注册上网络<br/> 64ms亮/300ms熄灭——数据传输时<br/> 熄灭——关机或PSM休眠模式 |} == 接入电脑调试 == === '''硬件连接''' === [[File:SIM7020X-NB-IoT-HAT-04.jpg|300px|thumb|通过串口模块接入电脑连接图]] 用户在使用SIM7020模块前除了micro USB线、LTE天线外,还需要另外准备以下东西: *一张NB-IoT专用卡(电信、移动或联通) *串口模块(推荐用[[CP2102 USB UART Board]]) 硬件连接操作: #将NB-IoT卡安装到模块背面卡槽,并连接好LTE天线。<font color="red">(使用时须把 '''LTE天线''' 旋转到板子外侧,如右图所示)</font> #把CP2102模块引脚对应接到SIM7020X的串口1(或串口2),再用USB线连入电脑。 #给SIM7020模块供电,此时PWR灯亮红灯,NET灯不亮状态。 #按PWRKEY按键约1s松开,等待2秒左右,看到NET灯开始闪烁,则模块开机成功。 #使用配套的串口助手打开,选择对应的串口端口和波特率115200,勾选加回车换行, #打开扩展可看到实现录入的AT指令,点击对应的指令即可直接发送。<br />[[File:SIM7020X-NB-IoT-HAT-tt.jpg|border|600px]]<!-- <br /><br />[[File:SIM7020X-NB-IoT-HAT-06.png|600px]]--> === '''简单联网测试''' === [[File:SIM7020X-NB-IoT-HAT-07.png|简单联网测试截图|right|thumb|300px]] 下表列举一些常用AT指令,可以简单快速地检测SIM7020的AT串口通信和网络连接是否正常。<br/> 进行下文演示的联网通信实验前建议都先做简单联网测试,确认网络连接正常再操作。<br/>相关的AT指令详细说明可参阅:SIM7020 Series_AT Command Manual。 {| class="list table table-striped table-bordered" |- || '''命令''' || '''说明''' || '''返回值''' |- || 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。 [[File:SIM7020X-NB-IoT-HAT-08.png|600px]] TCP/IP通信前,先根据上文“硬件配置”和“简单联网测试”操作,确保模块联网正常。 SIM7020模块TCP、UDP通信以及DNS解析和Ping功能,AT指令详细说明可参阅:SIM7020 Series_TCPIP_Application_Note。 ==== '''【TCP Client】''' ==== [[File:SIM7020X-NB-IoT-HAT-09.png|thumb|300px|TCP Client测试截图]] 相关指令: {| class="list table table-striped table-bordered" |- || 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】''' ==== [[File:SIM7020X-NB-IoT-HAT-10.png|thumb|300px|UDP Client测试截图]] 相关指令: [[File:SIM7020X-NB-IoT-HAT-11.png|thumb|300px|多路sockets测试截图]] {| class="list table table-striped table-bordered" |- || 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 |- | style="width:234px;height:19px;" | AT+CSOCL=0 | style="width:224px;height:19px;" | 关闭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指令如下: {| class="list table table-striped table-bordered" |- || AT指令 || 指令说明 || 返回值 |- || AT+CIPPING || Ping指令,如:AT+CIPPING="61.135.169.121" || OK |- || AT+CDNSGIP || 解析服务器,如:AT+CDNSGIP="www.baidu.com" || OK |} [[File:SIM7020X-NB-IoT-HAT-12.png|600px]]<br /><br />[[File:SIM7020X-NB-IoT-HAT-13.png|600px]] === '''HTTP通信''' === 本文主要介绍SIM7020模块HTTP通信功能,主要分HTTP GET和HTTP POST。 相关的AT指令详细说明可参阅:SIM7020 Series_HTTP_Application_Note。 [[File:SIM7020X-NB-IoT-HAT-14.png|300px|thumb|HTTP GET测试截图1]] [[File:SIM7020X-NB-IoT-HAT-15.png|300px|thumb|HTTP GET测试截图2]] ==== '''【HTTP GET】''' ==== 相关指令: {| class="list table table-striped table-bordered" |- || AT指令 || 指令说明 | style="width:95px;height:16px;" | 返回值 |- || 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】''' ==== 相关指令: [[File:SIM7020X-NB-IoT-HAT-16.png|300px|thumb|HTTP POST测试截图]] {| class="list table table-striped table-bordered" |- || AT指令 || 指令说明 | style="width:95px;height:16px;" | 返回值 |- || 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通信功能。<br />相关的AT指令详细说明可参阅:SIM7020 Series_MQTT_Application_Note。 [[File:SIM7020X-NB-IoT-HAT-17.png|300px|thumb|MQTT测试截图1]] [[File:SIM7020X-NB-IoT-HAT-18.png|300px|thumb|MQTT测试截图2]] === '''MQTT订阅主题和发布消息''' === 下文为方便演示MQTT通信功能,下文借助网上找到的MQTT测试工具进行测试。 相关指令: {| class="list table table-striped table-bordered" |- || 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+): [[File:SIM7020X-Connect.jpg|300px|thumb|与树莓派引脚连接图]] {| class="list table table-striped table-bordered" |- || '''SIM7020X NB-IoT HAT''' || '''Raspberry Pi''' |- || '''5V''' || 5V |- || '''GND''' || GND |- || '''RXD''' || TXD (对应BCM的14) |- || '''TXD''' || RXD (对应BCM的15) |- || '''PWR''' || P7 (对应BCM的P4) |} === '''软件配置''' === ==== '''【引脚初始化】''' ==== [[File:SIM7020X-NB-IoT-HAT-20.png|thumb|300px|接入树莓派实物图]] 模块出厂默认PWR引脚是通过跳线帽跳选到树莓派的P4引脚,为确保SIM7020X NB-IoT HAT接入树莓派后能正常工作,才需要初始化树莓派引脚的电平输出。 参考操作如下: *下载树莓派代码,把SIM7020X整个文件夹复制到/home/pi/ 路径下, *命令行进入到/home/pi/目录下,执行指令 chmod 777 sim7020_nbiot_hat_init *设置开机初始化脚本,运行命令: sudo nano /etc/rc.local *在exit 0前面加入 (如下图所示): sh /home/pi/SIM7020X/sim7020_nbiot_hat_init ==== '''【串口配置】''' ==== 由于树莓派串口默认用于终端调试,如需使用串口,则需要修改树莓派设置。 *执行如下命令进入树莓派配置: sudo raspi-config *选择Interfacing Options ->Serial ->no -> yes,关闭串口调试功能。 *打开/boot/config.txt文件,找到如下配置语句使能串口,如果没有,可添加在文件最后面: enable_uart=1 *重启生效。 === '''树莓派minicom调试'''=== [[File:SIM7020X-NB-IoT-HAT-23.png|300px|thumb|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库,执行指令: chmod +x configure && ./configure && sudo make check && sudo make install [[File:SIM7020X-NB-IoT-HAT-24.png|400px]] ==== '''【编译和运行】''' ==== 树莓派示例程序结构图参考下图: [[File:SIM7020X-Demo-Code-intro.jpg|800px]] 下面以编译和运行AT示例程序为例: cd /home/pi/SIM7020X/examples/AT sudo make clean && sudo make && sudo ./main *示例程序测试截图: <gallery> File:SIM7020-RPI-AT-TEST.png|AT File:SIM7020C-TCP-TEST.jpg|TCP File:SIM7020C-UDP-TEST.jpg|UDP </gallery> == 接入STM32使用 == === '''硬件连接''' === SIM7020X NB-IoT HAT引出了串口控制引脚,可用于接入STM32单片机使用;下表为STM32F103R管脚与模块引脚连接情况(微雪Open103V): [[File:SIM7020X-Connect.jpg|300px|thumb|与STM32引脚连接图]] {| class="list table table-striped table-bordered" |- || '''SIM7020X NB-IoT HAT''' || '''STM32F103''' |- || '''5V''' || 5V |- || '''GND''' || GND |- || '''RXD''' || PA2 (对应USART2的TX) |- || '''TXD''' || PA3 (对应USART2的RX) |} === '''STM32示例程序演示''' === *说明:测试TCP例程还需要额外的串口通信模块接入到开发板的USART1接口,以获取程序运行后打印输出的提示信息。 <gallery> File:SIM7020-STM32-TCP.png|TCP </gallery> == 接入Jetson Nano使用== Jetson Nano板载类似RaspberryPi 40Pin GPIO接口,SIM7020C NB -IoT HAT可直接接入使用,Jetson Nano的终端访问串口不影响与SIM7020C NB -IoT HAT(即Pin14和Pin15)串口通信。 [[File:SIM7020x-NB-IoT-25.png|thumb|400px|Jetson Nano实物连接图]] {| class="wikitable" style="text-align:center;" |- ! SIM7020C-NB-IoT HAT ! Jetson Nano |- | 5V || 5V |- | GND || GND |- | TXD || 14 (BCM编码) |- | RXD || 15 (BCM编码) |- | PWR || 4(BCM编码) |} ===Jetson Nano minicom串口调试=== 1、将SIM7020X NB-IoT HAT接入Jetson Nano中,按下PWRKER键两秒后开机<br \> 2、[[树莓派系列教程3:访问树莓派|使用SERIAL登录Jetson Nano终端]],安装minicom,在终端下输入: sudo apt-get install minicom 3、运行minicom进行串口调试,在终端下输入 sudo minicom -D /dev/ttyTHS1 -b 115200 4、 发送AT指令测试,退出时按下PWRKEY按键三秒后开始关机,退出minicom先按Ctrl+A,再按X,最后按ENTER<br \> [[File:SIM7020x-NB-IoT-26.png|400px]] ===Python例程=== 安装函数库<br \> sudo apt-get python3-pip sudo pip3 install pyserial sudo apt-get install p7zip 使用wget工具下载源码到Jetson Nano指定文件夹,复制下面命令 wget -P ~/Documents/ https://{{SERVERNAME}}/w/upload/3/3d/SIM7020X-NB-IoT-HAT-Demo-Code.7z 进入刚创建并下载了源码的目录,使用p7zip工具解压到当前目录,并更改读写执行权限 cd ~/Documents sudo p7zip --uncompress SIM7020X-NB-IoT-HAT-Demo-Code.7z sudo chmod 777 -R SIM7020X-NB-IoT-HAT-Demo-Code [[File:SIM7020x-NB-IoT-27.png|400px]] ===='''AT'''==== SIM7020C NB-IoT HAT接入Jetson Nano,按PWRKEY键两秒开机<br \> 进入JetsonNano/AT目录,执行命令: cd ~/Documents/SIM7020X-NB-IoT-HAT-Demo-Code/JetsonNano/AT/ sudo python3 AT.py [[File:SIM7020x-NB-IoT-28.png|400px]] ===='''TCP'''==== SIM7020C NB-IoT HAT接入Jetson Nano,若SIM7020C NB-IoT HAT未开机,按PWRKEY键两秒开机<br \> cd ~/Documents/SIM7020X-NB-IoT-HAT-Demo-Code/JetsonNano/TCP/ sudo python3 TCP.py [[File:SIM7020x-NB-IoT-29.png|400px]] ===='''UDP'''==== SIM7020C NB-IoT HAT接入Jetson Nano,若SIM7020C NB-IoT HAT未开机,按PWRKEY键两秒开机<br \> cd ~/Documents/SIM7020X-NB-IoT-HAT-Demo-Code/JetsonNano/UDP/ sudo python3 UDP.py [[File:SIM7020x-NB-IoT-30.png|400px]] ==Arduino例程== === 硬件连接 === 硬件连接到开发板UNO PLUS / Arduino UNO: [[File:Arduino-SIM800C.jpg|300px|thumb|接入UNO PLUS]] 硬件连接到开发板UNO PLUS / Arduino UNO: {| class="wikitable" |- ! SIM800C GSM/GPRS HAT !! UNO PLUS / Arduino UNO |- | 5V || 5V |- | GND || GND |- | TX1 || 2 |- | RX1 || 3 |} === '''Arduino示例演示''' === <gallery> File:Arduino-SIM800C-SMS.jpg|SMS </gallery> 说明:更多示例程序持续更新中… …
返回至
模板:SIM7020C-NB-IoT-HAT Manual
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志