Pico-SIM7080G-Cat-M/NB-IoT

来自Waveshare Wiki
跳转至: 导航搜索
SIM7020C NB-IoT HAT
{{{name2}}}
{{{name3}}}
功能简介
特性 Pico Cat-M/NB-IoT扩展
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 UART

说明

产品介绍

产品概述

本产品是一款具有 NB-IoT (窄带物联网)、Cat-M (也叫 eMTC,增强机器类通信) 和 GNSS (全球导航卫星系统) 功能的树莓派 Pico 扩展板,国内 NB-IoT 全网通,串口 AT 指令控制,支持 HTTP/MQTT/LWM2M/COAP 等协议通信。具有低延迟、低功耗、广覆盖和低成本等优点,非常适用于如智能仪表、资产跟踪和远程监控等物联网应用。

产品特性

  • 板载 Raspberry Pi Pico 接口,适用于 Raspberry Pi Pico 系列主板
  • UART 接口通信,串口 AT 指令控制
  • 支持 TCP/UDP/HTTP/HTTPS/TLS/DTLS/PING/LWM2M/COAP/MQTT 等通信协议
  • 支持 GNSS 定位 (GPS、GLONASS、北斗 和 Galileo)
  • 板载 3.7V 锂电池接口及充电电路,可外接可充电锂电池实现外部供电,支持边充边放
  • 板载 2 个 LED 指示灯,方便查看模块运行状态
  • 板载 nano SIM 卡槽,国内支持电信/联通/移动的 NB-IoT 专用卡
  • 提供完善的配套资料手册 (MicroPython 示例程序和使用手册等)

产品参数

产品型号

SIM7080G

SIM7020C / SIM7020E

工作频段

NB-IoT

B1/B2/B3/B4/B5/B8/B12/B13/B18/B19/
B20/B25/B26/B28/B66/B71/B85

SIM7020C:
LTE-FDD:B1/B3/B5/B8
SIM7020E: LTE-FDD:B1/B3/B5/B8/B20/B28

Cat-M

B1/B2/B3/B4/B5/B8/B12/B13/B14/B18/
B19/B20/B25/B26/B27/B28/B66/B85

不支持

GNSS

GPS, GLONASS, BeiDou, Galileo

不支持

适用地区

全球通用

SIM7020C:中国
SIM7020E:欧洲/非洲/澳洲/东南亚

数据传输

NB-IoT(Kbps)

136(DL)/150(UL)

26.15(DL)/62.5(UL)

Cat-M(Kbps)

589(DL)/1119(UL)

-

其他参数

通信协议

TCP/UDP/HTTP/HTTPS/TLS/DTLS/PING/LWM2M/COAP/MQTT 等

供电方式

通过锂电池接口或 Raspberry Pi Pico 的 USB 口

锂电池接口

3.7V ~ 4.2V

逻辑电平

3.3V

单模组耗流

空闲模式:10mA

空闲模式:5.6mA

休眠模式:1.2mA

休眠模式:0.4mA

PSM 模式:3.2uA

PSM 模式:3.4uA

指示灯

NET:网络指示灯
Charge:充电指示灯

开关

锂电池供电开关

SIM 卡

NB-IoT / Cat-M卡 (仅支持 1.8V)

NB卡(1.8V / 3V)

天线接口

LTE、GNSS

LTE

产品尺寸

73.5 × 24.00mm

接口定义

Pico-SIM7080G-Cat-M-NB-IoT-details-inter.jpg

产品尺寸

Pico-SIM7080G-Cat-M-NB-IoT-details-size.jpg

示例演示

Python例程

windows环境下的使用

  • 1.按住Pico板上的BOOTSET按键,将pico通过Micro USB线接到电脑的USB接口,待电脑识别出一个可移动硬盘(RPI-RP2)后,松开按键。
  • 2.将python目录中pico_micropython_xxxxxxxx.uf2 文件复制到识别的可移动盘(RPI-RP2)中
  • 3.打开Thonny IDE(注意:要使用最新版本的Thonny,否则是没有Pico的支持包的,当前Windows下的最新版本为v3.3.3)
  • 4.点击工具->设置->解释器,如图所示选择Pico及对应的端口

Pico-lcd-0.96-img-config.png

  • 5.文件->打开->main.py,点击运行即可,如下图所示:

Pico-lcd-0.96-img-run.png
本例程提供了一个简单的程序...

树莓派环境下的使用

  • 1.刷固件的过程与Windows上一样,你可以选择在PC或者树莓派上将pico_micropython_xxxxxxxx.uf2 文件拷入pico中。
  • 2.在树莓派山打开Thonny IDE (点击树莓logo -> Programming -> Thonny Python IDE ),你可以在Help->About Thonny查看版本信息

以确保你的版本是有Pico支持包的,同样你可以点击Tools -> Options... -> Interpreter选择MicroPython(Raspberry Pi Pico 和ttyACM0端口
如图所示:
Pico-lcd-0.96-img-config2.png
如果你当前的Thonny版本没有pico支持包,输入以下指令来更新Thonny IDE

sudo apt upgrade thonny

3.点击File->Open...->python/main.py,运行脚本即可

AT Test

实例说明

该例程主要是方便用户可以通过Thony软件,直接测试验证模组的AT指令收发。主程序首先会直接给模组开机,然后检测网络情况,之后会循环检测用户输入的AT指令,帮通过串口发送给模组,然后把模组的AT指令返回回传到Pico的串口打印出来。
详细的AT指令集请见:SIM7080_Series_AT_Command_Manual_V1.02.pdf

运行现象

SIM7080G-AT-TEST.png

HTTP

在本实例中,Raspberry Pico通过NB-IoT连接上互联网,通过HTTP GET获取到 获取到天气网站的天气信息,同时把 Pico 上的温度信息 通过HTTP POST 推送到服务器上。
用户可以通过网页访问,查看实时上传的数据。大致的软件示意图如下所示:
Pico-SIM7020-HTTP-demo-diagram.png

硬件准备

按下图所示,把Pico-SIM7080G-Cat-M/NB-IoT模块焊接上排座或排针,然后接入Pico主板、电池、天线和NB-IoT卡:
Pico-SIM7020X-NB-IoT-connection.png

服务器网页部署

http://pico.wiki/esp-chart.php 为例。其软件框图大致如下图所示:
Pico-SIM7020-HTTP-Demo-2.png
1、服务器搭建php,mysql等环境,创建数据库文件,比如:

  • 数据库:example_esp_data
  • 密码:your_password
  • 用户名:your_username
  • 创建数据库表:
CREATE TABLE Sensor (
   id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
   value1 VARCHAR(10),
   value2 VARCHAR(10),
   value3 VARCHAR(10),
   reading_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)

2、服务器端的php示例文件,有post-data.php 和 esp-chart.php

  • post-data.php:HTTP POST的API接口,SIM7080G模块可以通过调用此API接口,往服务器POST数据。
  • esp-chart.php:用户端访问的网页,可通过此页面获取到SIM7080G上传的最新数据,并通过图表展示出来。

Pico端软件设置

1、参考教程:Template:Raspberry Pi Pico Quick Start 选择在 Windows 或 树莓派 系统下运行MicroPython开发环境
(推荐选用Windows 开发环境,下文以Windows开发环境为例)。

2、下载Python例程:HTTP.py ,代码部分预览如下:

  • HTTP GET部分:
# HTTP GET TEST
def http_get():
   send_at('AT+SHDISC', 'OK')
   send_at('AT+SHCONF="URL",\"'+http_get_server[0]+'\"', 'OK')
   set_http_length()
   send_at('AT+SHCONN', 'OK', 3000)
   if send_at('AT+SHSTATE?', '1'):
       set_http_content()
       resp = str(send_at_wait_resp('AT+SHREQ=\"'+http_get_server[1]+'\",1', 'OK',8000))
       # print("resp is :", resp)
       try:
           get_pack_len = int(resp[resp.rfind(',')+1:-5])
           if get_pack_len > 0:
               send_at_wait_resp('AT+SHREAD=0,'+str(get_pack_len), 'OK', 5000)
               send_at('AT+SHDISC', 'OK')
           else:
               print("HTTP Get failed!\n")
       except ValueError:
           print("ValueError!\n")
   else:
       print("HTTP connection disconnected, please check and try again\n")
  • HTTP POST部分:
  1. HTTP POST TEST
def http_post():
   send_at('AT+SHDISC', 'OK')
   send_at('AT+SHCONF="URL",\"' + http_post_server[0] + '\"', 'OK')
   set_http_length()
   send_at('AT+SHCONN', 'OK', 3000)
   if send_at('AT+SHSTATE?', '1'):
       set_http_content()
       send_at('AT+SHCPARA', 'OK')
       if send_at('AT+SHBOD=62,10000', '>', 1000) :
           send_at(http_post_tmp, 'OK')
           resp = str(send_at_wait_resp('AT+SHREQ=\"/'+http_post_server[1]+'\",3','OK', 8000))
           # print("resp is :", resp)
           try:
               get_pack = int(resp[resp.rfind(',')+1:-5])
               print(get_pack)
               if get_pack > 0:
                   send_at_wait_resp('AT+SHREAD=0,' + str(get_pack), 'OK', 3000)
                   send_at('AT+SHDISC', 'OK')
               else:
                   print("HTTP Post failed!\n")
           except ValueError:
               print("ValueError!\n")
       else:
           print("Send failed\n")
   else:
       print("HTTP connection disconnected, please check and try again\n")

更多关于SIM7080G模组HTTP应用文档内容,请见:SIM7070/SIM7080_Series_HTTP_Application_Note_V1.02.pdf

3、把连接好 Pico-SIM7080G-Cat-M/NB-IoT 模块的Pico主板,通过USB连接到电脑上。

  • 运行Thonny软件,选择MicroPython(Raspberry Pi Pico),打开示例程序的路径。
  • 先点击Stop(序号1),最后点击Run(序号2)按钮,开始运行程序,可通过Shell窗口(序号3)查看运行结果,如下图所示:Pico-SIM7020X-NB-IoT-Run-Code.png

4、你可以通过Thonny软件查看、修改、或者运行调试代码。

  • 如果代码最终敲定,想要脱机自动运行的话,可以选择 File -> Save as -> Raspberry Pi Pico,另存为 main.py。
    Pico-Save-as-main py.png

运行现象

运行HTTP.py,则Pico可以开始通过HTTP GET 天气网站的天气信息,同时可以将Pico主板上的温度通过HTTP POST到pico.wiki上。
此时,我们通过网页访问http://pico.wiki/esp-chart.php,网页可以以图表的形式直接展示出实时上传的数据。如下图所示:
GET:
SIM7080G-HTTP-GET.png
POST:
SIM7080G-HTTP-POST.png
网页端访问:
Pico-SIM7020X-NB-IoT-HTTP-POST-Result.png

MQTT

软件下载

运行现象

  • 运行MQTT.py,则Pico控制Pico-SIM7080G-Cat-M/NB-IoT进行初始化配置,然后订阅MQTT后发送"on"

Pico SIM7080G Cat M NB IoT MQTT 1.jpg

GPS

实例说明

本示例主要演示GPS定位相关测试。进行该实例前,必须把GPS天线的接收头放到室外(或窗口,可以看到天空的地方),另外阴雨天气无法获取到GPS定位。

运行现象

Pico SIM7080G Cat M NB IoT GPS 1.jpg

C

环境搭建

【C/C++】 Windows教程1——环境搭建
【C/C++】 Windows教程2——创建工程

例程使用

1. 打开对应C程序文件夹
Pico SIM7080G Cat M NB IoT 2.jpg
2. 通过Vs coed打开,选择对应编译工具跟需要运行的例程(将不用的注释掉,用的解除注释,单次只能运行一个)
Pico SIM7080G Cat M NB IoT 3.jpg

Pico SIM7080G Cat M NB IoT 1.jpg
3. 点击编译按键进行编译
Pico-Eval-Board-win-4.jpg
4.按住Pico的BOOT按键后上电,可使Pico进入磁盘模式,并将build文件下的UF2文件拖拽到RPI-RP2盘符中
Pico SIM868 3.jpg
5.此时Pico开始运行对应程序,可以通过串口助手查看运行状态

Pico快速上手

固件下载

MicroPython固件下载
Pico MicroPython.gif
C_Blink固件下载
Pico Blink.gif
教程名3
列表3
教程名4
列表4
教程名5
列表5
教程名6
列表6
教程名7
列表7
教程名8
列表8

视频教程

PICO系列教程1——基础介绍

PICO系列教程2——外设GPIO

PICO系列教程3——PWM(脉冲宽度调制)

PICO系列教程4——ADC(模拟数字转换器)

PICO系列教程5——UART (异步收发传输器)

PICO系列教程6——I2C(集成电路总线)

PICO系列教程7——SPI(串行外设接口)

PICO系列教程8——PIO(可编程输入输出端口)

文字教程

基础介绍

Raspberry Pi Pico的基础介绍

MicroPython系列

【MicroPython】machine.Pin类函数详解
【MicroPython】machine.PWM类函数详解
【MicroPython】machine.ADC类函数详解
【MicroPython】machine.UART类函数详解
【MicroPython】machine.I2C类函数详解
【MicroPython】machine.SPI类函数详解
【MicroPython】rp2.StateMachine类函数详解

C/C++系列

【C/C++】 Windows教程1——环境搭建
【C/C++】 Windows教程2——创建工程

Arduino IDE 系列

环境搭建

  • 打开Arduino IDE,进入File->Preferences
  • 在弹出的对话框中,在“Additional Boards Manager URLs”字段中输入以下URL(需要梯子):
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
  • 点击OK关闭对话框。
  • 进入IDE中的工具->开发板管理器
  • 在搜索框中输入“pico”,然后选择“添加”:
  • 无法下载的,可以点击此处下载压缩包提取密码为 0755 ,然后复制到指的目录下
    • 解压后,复制到C:\Users\username\AppData\Local\Arduino15下
    • 例如:我的用户名是ZhangSan,那么就是C:\Users\ZhangSan\AppData\Local\Arduino15下
    • 注意:要将文件管理器中的隐藏的项目打开:点击查看 -> 勾选隐藏的项目,不勾选会看不见AppData文件夹

Pico-W系列教程(即将上线)

  • 敬请期待

开源例程

MircoPython视频例程(github)
MicroPython固件/Blink例程(C)
树莓派官方C/C++示例程序 (github)
树莓派官方micropython示例程序 (github)
Arduino官方C/C++示例程序 (github)

FAQ

技术支持

联系人:黄工
EMAIL:3005763927@qq.com
电话:0755-83040712
QQ:3005763927
微信:扫下方二维码添加
Hkx-wx.jpg

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证