现在我们开始体验一种全新的物联网开发方式----移远QuecPython。
一. 什么是QuecPython
移远QuecPython是基于micropython,并整合了移远通讯功能的船新版本😎😎😎
用python开发 + 官方固件包含通讯模组库 + 兼容MicroPython + 性价比超高的cat1, cat4通讯模组!
你说有没有搞头?
附:QuecPython系统架构图
从系统架构图中可以看出,从平台底层到用户接口层的架构分层十分清晰,分别是Hardware平台硬件层、平台OS层、QuecPython Adapter Layer平台适配层、QuecPython VM虚拟机层、QuecPython Compiler编译器层和QuecPython Modules用户接口层。
其中Hardware平台硬件层,平台OS层属于C-SDK部分;QuecPython Adapter Layer平台适配层,QuecPython VM虚拟机层,QuecPython Compiler编译器层和QuecPython Modules用户接口层属于完整的QuecPython结构层次。
用户仅需关注QuecPython Modules用户接口层,该层提供了大量的API接口,包括I2C/SPI/GPIO/AUDIO/PWM/POWER/ADC/FOTA/Datacall/Aliyun等模块。
二. 我使用的开发板: EC600X_QuecPython_EVB_V1.2
1. 开发板资源
Quectel移远 EC600X Cat.1 通信模组
NANO SIM自弹卡座
GPS、LTE、WIFI/BT天线接口
USB Type-C数据接口
PWRKEY按键,RST按键,强制下载按键
两个自定义功能按键
音频功放,支持最高4Ω2W喇叭
温湿度传感器
G-Sensor 三轴加速度传感器
单色灯
驻极体MIC
Speaker 音频输出
光敏电阻
GPIO排针
LCD排针
三. 安装驱动
长按 PWK开机,听到了PC的叮咚声, 设备管理器里多了一坨未识别设备
现在开始安装驱动吧
下载地址: https://python.quectel.com/download 选ASR USB 驱动--Windows10
安装完成后,发现驱动正常了:
驱动完成后, 我们发现还有一个未驱动的警告, 我咨询了一下官方, 无视它即可.
四. QPYcom工具
该工具用于:
- 用户烧录固件
- 用户向设备中下载脚本
- 运行python交互模式
首先, 我们下载QPYcom
下载地址: https://python.quectel.com/download
下载完成后直接运行即可
五. 固件烧录
上面的图我们可以看到, 我们只有两个串口, 一个AT 一个DIAG , 而我们平时用的是COM PORT口, 为什么没有呢? 因为我们还没有烧录固件.
这里官方文档写的完全顺序错乱, 请留意, 拿到板子先烧固件.
固件下载还是在上面的下载地址
使用QPYcom工具下载固件的步骤如下:
下载QPYcom工具后,完整解压到任意目录,双击QPYcom.exe运行
将开发板连接到电脑并开机;
点击“下载”标签,进入下载页
在下载页面左侧导航栏创建项目,然后点击“选择固件”选择固件包
- 左键点击页面右下角倒三角形,在弹出的菜单中选择“下载固件”菜单,点击“下载固件”按钮,工具自动开始固件下载
下载固件时,无需选择串口,工具将自动选择并开始下载
请勿同时插入两个或两个以上的开发板,以免工具无法识别,导致下载出错
下载完成后, 我们多了一个COM
六. 体验命令行
python互动命令行大家都很熟悉吧, 我们稍微体验一下:
七. 烧录第一个脚本程序
我们先写一个小脚本
import utime
def sayHello():
for i in range(30):
print('hello world!')
utime.sleep(1)
if __name__ == '__main__':
sayHello()
1. 烧录脚本
点击“文件”标签,进入文件页(左侧为电脑本地的文件;右侧为模块端的文件)
左侧浏览电脑的文件,并选择对应的.py文件,拖动该文件到右侧的“Root”根节点,松开鼠标左键,即可自动下载文件到模块(也可以点击右侧栏的“+”按钮,浏览并选择文件,将文件下载到模块内)文件下载过程中,页面底部状态栏有下载进度,进度到100%表示文件下载成功。
此时 hello world.py文件已经下载到模块主目录下,可以通过QPYcom工具的“交互”查看,输入命令:
import uos
uos.listdir('/usr')
现在我们的程序已经写好了
2. 运行脚本
方式1:
运行后去交互控制台看结果
方式2:
导入 example 模块,并使用exec方法运行 python 脚本程序:
import example
example.exec(‘/usr/hello.py’)
目前的QPYcom不好用, 运行死循环程序后, 我们要把硬件reset 重启QPYcom才可以
八. 开机自动运行
QuecPython支持上电自动执行用户代码。Quectel 通信模组上电运行后,QuecPython会查找用户分区下名成为 main.py的程序文件并自动执行该文件。所以如果用户希望能上电后自动运行自己的代码,需要将自己的程序命名为main.py,连同它的依赖等文件,一起下载到模块内。
我们编写一个main.py
from usr import hello
hello.sayHello()
按一下开发板上的 RESET 按键,系统启动后,重新连接主串口,电脑键盘按下 Enter键,进入交互界面即可看到自动运行结果
自动运行的脚本,或者循环输出的脚本,将无法使用Ctrl+C停止运行; 锁死交互的模块,也无法终止脚本运行; 唯一的方法是:重刷固件。