模板: Pico-SIM7080G-Manual
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及对应的端口
- 5.文件->打开->main.py,点击运行即可,如下图所示:
树莓派环境下的使用
- 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端口
如图所示:
如果你当前的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
运行现象
HTTP
在本实例中,Raspberry Pico通过NB-IoT连接上互联网,通过HTTP GET获取到 获取到天气网站的天气信息,同时把 Pico 上的温度信息 通过HTTP POST 推送到服务器上。
用户可以通过网页访问,查看实时上传的数据。大致的软件示意图如下所示:
硬件准备
按下图所示,把Pico-SIM7080G-Cat-M/NB-IoT模块焊接上排座或排针,然后接入Pico主板、电池、天线和NB-IoT卡:
服务器网页部署
以 http://pico.wiki/esp-chart.php 为例。其软件框图大致如下图所示:
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部分:
- 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)查看运行结果,如下图所示:
4、你可以通过Thonny软件查看、修改、或者运行调试代码。
运行现象
运行HTTP.py,则Pico可以开始通过HTTP GET 天气网站的天气信息,同时可以将Pico主板上的温度通过HTTP POST到pico.wiki上。
此时,我们通过网页访问http://pico.wiki/esp-chart.php,网页可以以图表的形式直接展示出实时上传的数据。如下图所示:
GET:
POST:
网页端访问:
MQTT
软件下载
- MQTT软件下载点击下载1.7.1版本
- 软件配置:
运行现象
- 运行MQTT.py,则Pico控制Pico-SIM7080G-Cat-M/NB-IoT进行初始化配置,然后订阅MQTT后发送"on"
GPS
实例说明
本示例主要演示GPS定位相关测试。进行该实例前,必须把GPS天线的接收头放到室外(或窗口,可以看到天空的地方),另外阴雨天气无法获取到GPS定位。
运行现象
C
环境搭建
【C/C++】 Windows教程1——环境搭建
【C/C++】 Windows教程2——创建工程
例程使用
1. 打开对应C程序文件夹
2. 通过Vs coed打开,选择对应编译工具跟需要运行的例程(将不用的注释掉,用的解除注释,单次只能运行一个)
3. 点击编译按键进行编译
4.按住Pico的BOOT按键后上电,可使Pico进入磁盘模式,并将build文件下的UF2文件拖拽到RPI-RP2盘符中
5.此时Pico开始运行对应程序,可以通过串口助手查看运行状态