我租的房子采光到底行不行?用 QuecDuino 给自己算了一笔账(续一)

接入扩展版后接下来就可以接入传感器了,这里我们以光感传感器为例,采用三跟杜邦公线进行连接,连接时各个口要一一对应:

这里有个必须提前知道的坑:排针上 A5 挨着 A0/A1,看起来差不多,但它不是 ADC 输入引脚。我第一次就接错了,读数恒定在 119~149 怎么照都不动。只有 A0=ADC0、A1=ADC1 是真正的模拟输入。 下面第五节会完整讲这个坑,以及另一个完全不同、但表现很像的坑。

AHT20 QuecDuino 说明
VCC 3.3V
GND GND
SCL I2C SCL 见下方说明
SDA I2C SDA 地址 0x38,不能改成 0x39

这里有个和 Arduino 不一样的地方必须提醒:QuecDuino 的 I2C 引脚不是任意 GPIO,它是模组内部复用的固定功能引脚:

from machine import I2C
self._i2c = I2C(I2C.I2C0, I2C.STANDARD_MODE)
self._addr = 0x38

I2C0 对应的物理引脚查开发板手册的引脚复用表。别拿 Arduino 的习惯去猜 A4/A5 在哪,EG800Z 上根本不是那个位置。

一个必须提前知道的事:分压

我在表格里写了「需分压」,但这里先不解释为什么——这个坑我留在第五节单独展开,因为它是这篇文章里最值得警惕的一个问题,也是很多同类教程不会告诉你的部分。

你只要知道一件事:KY-018 的模拟输出绝对不能直接接到A0。 具体怎么接,看第六节。

至于数码管,如果只是调试时看读数,可以先不接。它是 12 段结构,接线多,等主链路跑通再美化不迟。

免焊接的可靠性

套件宣传"免焊接",实测下来确实成立——杜邦线插拔两百次没出现接触不良。

但有个前提:分压电阻必须焊在面包板上,不能靠杜邦线搭。 电阻腿太细,杜邦线夹不住,晃一下就断了,而这种故障表现为"读数随机跳变",极难排查。我在第二版里把分压网络焊成了一块小板子,一劳永逸。

四、软件搭建

这一步开始,QuecDuino 和 Arduino 就彻底分道扬镳了。

第1 步:装 USB 驱动

从QuecPython 资源下载页下与模组型号匹配的 USB 驱动(本板是 EG800Z,ASR 系列),解压后运行 setup.exe。

设备管理器里看到 Quectel USB 开头的串口就成了。如果看到 Mobile ECM Network Adapter 或 CDC Ethernet Control Modle 带感叹号,这是正常的,不影响烧录和开发,官方文档里明确说了不用管。

第 2 步:安装 QPYcom

使用QuecPython进行开发需要用到专用的开发调试工具——QPYcom,包括但不限于调试代码、分析日志、文件传输、烧录固件、合并固件等。

打开QuecPython工具下载页面,根据操作系统选择对应的工具进行下载。

QPYcom工具不需要安装,解压就可以使用。

第 3 步:确认模组型号

仓库里附的固件是 QPY_OCPU_EG800Z_CNLA_FW.zip。注意 CNLA 这个后缀。

我查了官方 quecgnss 模块的支持列表,写的是 EG800ZCN_LG / LN 系列。EG800Z 有多个后缀版本,LA 与 LG/LH 分属有无 GNSS 的不同变体,而产品页也写的是"可选 GNSS 定位功能"。

这意味着:手上这块板子很可能没有 GNSS 功能。 如果你的项目需要定位,第一件事是在 REPL 里查:

import quecgnss
ret = quecgnss.init()
print(ret)   # 0 表示初始化成功,返回 -1 就是不支持

我这个采光项目不需要定位,正好绕开了这个限制——但你得提前知道,别做到一半才发现。

第 4 步:烧录 QuecPython 固件

出厂默认是不支持QuecPython的,没有对应串行端口,需要线刷QuecPython固件。

  1. 解压固件包,用 Load FW Files 加载 at_command.hbinpkg
  2. 杜邦线短接 BOOT 引脚进入下载模式
  3. 重启设备,设备管理器里出现 Quectel QDLoader Port,记下 COM 号
  4. 选对应 COM,点 Start,等进度条走完显示 PASS

如果不短线boot也可以通过命令开启,在COM3 - Quectel USB AT Port 串行端口模式中执行命令: AT+QDOWNLOAD=1后会出现QDLoad端口,选择该端口,在下载页面选择之前下载好的固件,点击右下角的下载固件则会开始更新固件,更新成功后记得重新插拔USB重启。

烧录固件成功后可以看到出现了新的端口,选择COM7 - USB串行设备后可以执行交互式python命令:

固件包解压路径不能含中文、空格和特殊字符,QFlash 识别不到。这条踩过的坑就不用再踩了。

#移远产品体验官 #QuectelPi #UniKnectGen1Pro