模板: Pico-SIM7080G-Manual

来自Waveshare Wiki
跳转至: 导航搜索

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开始运行对应程序,可以通过串口助手查看运行状态