BC25_QuecPython_EVB_V1.0/1.2 快速入门
1 概述
BC25_QuecPython_EVB_V1.0 和 BC25_QuecPython_EVB_V1.2 是基于移远 BC25 NB-IoT 无线通信模块设计的,适用于 QuecPython 开发方式的开发板。开发板可以通过 NB-IoT 无线电通信协议(3GPP Rel-13 和 3GPP Rel-14*)与移动网络运营商基础设备建立通信,来调试和开发基于 NB-IoT 的物联网应用。
开发板引出了 BC25 模块的大部分引脚并进行了电平转换,便于用户连接各种外设。同时采用了 PCB 内置天线的设计,并搭载了 USB 转串口芯片,用户仅需准备一根 USB Type-C 接口的数据线即可完成大部分开发工作。
BC25_QuecPython_EVB_V1.0 和 BC25_QuecPython_EVB_V1.2 两款开发板的绝大部分功能完全一致。
2 开发板功能
2.1 硬件资源汇总
BC25_QuecPython_EVB_V1.0/1.2 开发板搭载的主要器件及位置如下表所示。请结合 BC25 QuecPython EVB V1.0 开发板丝印图进行参考。

| 器件类型 | 型号 / 功能 | 数量 | 位号 | 备注 |
|---|---|---|---|---|
| NB-IoT 无线通信模块 | BC25PA-04-STD | 1 | U1 | |
| USB 转双串口芯片 | 1 | U4 | ||
| CP2105 | V1.0 | |||
| CH342 | V1.2 | |||
| Nano-SIM 自弹卡座 | 1 | CARD1 | ||
| USB Type-C 接口 | 1 | USBC1 | ||
| 按键 | 5 | |||
| 开机按键(PWK) | 1 | S1 | ||
| 复位按键(RST) | 1 | S2 | ||
| 唤醒按键(EINT) | 1 | S3 | ||
| 自定义按键 1(KEY1) | 1 | S4 | ||
| 自定义按键 2(KEY2) | 1 | S5 | ||
| 电源切换开关 | 1 | K1 | ||
| 串口切换开关 | 2 | |||
| 主串口(MAIN)切换 | 1 | K3 | ||
| 调试串口(DEBUG)切换 | 1 | K2 | ||
| LED 灯 | 2 | |||
| 电源指示灯(POW) | 1 | D2 | ||
| 网络指示灯(NET) | 1 | D1 | ||
| IO 排针 | J5、J6 | |||
| 13-Pin × 2 | V1.0 | |||
| 15-Pin × 2 | V1.2 | |||
| 双向电压电平转换器 | 3 | U7、U8、U9 | ||
| 外部供电排针 | 1 | J3 | ||
| 上电自动开机排针 | 1 | J4 | ||
| 板载天线 | 1 |
2.2 关于 BC25 模块
BC25 是一款高性能、低功耗的 NB-IoT 无线通信模块,其尺寸仅为 17.7 mm × 15.8 mm × 2.2 mm,能最大限度地满足终端设备对小尺寸模块产品的需求,同时有效帮助客户减小产品尺寸并优化产品成本。
BC25 在设计上兼容移远通信 GSM/GPRS 系列的 M26 模块,同时兼容 NB-IoT 系列 BC26 和 BC28 模块,方便客户快速、灵活的进行产品设计和升级。
BC25 提供丰富的外部接口和协议栈,同时可支持中国移动 OneNET 和中国电信物联网开放平台,为客户的应用提供极大的便利。
关于 BC25 模块的详细信息,请参阅官方资料。
2.3 关于串口
BC25 模块设有三个串口:主串口、调试串口和辅助串口。
| 功能 | 引脚名称 | 引脚号 | 备注 |
|---|---|---|---|
| 主串口接收 | RXD | 17 | |
| 主串口发送 | TXD | 18 | |
| 调试串口接收 | DBG_RXD | 38 | |
| 调试串口发送 | DBG_TXD | 39 | |
| 辅助串口接收 | AUX_RXD | 28 | |
| 辅助串口发送 | AUX_TXD | 29 |
2.3.1 主串口
在使用传统 AT 指令方式进行开发时,主串口可用于 AT 指令通信和数据传输,默认波特率为 9600 bps。在使用 QuecPython 方式进行开发并烧录相应固件后,主串口用于 Python 用户交互(REPL),默认波特率为 57600 bps。
当主串口切换开关(K3)拨至“排针”一侧时,用户可自行使用单独的 USB 转 TTL 串口模块通过开发板上排针 J6 的第 4 和第 5 脚连接到主串口。主串口本身为 1.8 V 电压域,在引出到排针时已通过板载的双向电压电平转换器转换为 3.3 V。
当主串口切换开关(K3)拨至“USB”一侧时,用户可使用 USB Type-C 数据线通过板载的 USB 转串口芯片连接到主串口。在 Windows 操作系统中,当连接正常时,主串口在设备管理器中显示为 Standard COM Port(对于 1.0)或 SERIAL-B(对于 1.2)。
2.3.2 调试串口
通过日志查看工具,调试串口可用于查看底层日志信息以进行软件调试。调试串口也可以用于软件升级(固件烧录)。调试串口的默认波特率为 921600 bps。
当调试串口切换开关(K2)拨至“排针”一侧时,用户可自行使用单独的 USB 转 TTL 串口模块(需确认其支持 921600 bps 或更高波特率)通过开发板上排针 J6 的第 6 和第 7 脚连接到调试串口。调试串口本身为 1.8 V 电压域,在引出到排针时已通过板载的双向电压电平转换器转换为 3.3 V。
当调试串口切换开关(K2)拨至“USB”一侧时,用户可使用 USB Type-C 数据线通过板载的 USB 转串口芯片连接到调试串口。在 Windows 操作系统中,当连接正常时,主串口在设备管理器中显示为 Enhanced COM Port(对于 1.0)或 SERIAL-A(对于 1.2)。
2.3.3 辅助串口
在使用传统 AT 指令方式进行开发时,辅助串口可用于 AT 指令通信和数据传输,默认波特率为 9600 bps。在使用 QuecPython 方式进行开发并烧录相应固件后,用户可将辅助串口初始化为一般的通用串口 UART1,用于连接各类串口外设并通信。
用户可自行使用单独的 USB 转 TTL 串口模块通过开发板上排针 J5 的第 7 和第 8 脚连接到辅助串口。辅助串口本身为 1.8 V 电压域,在引出到排针时已通过板载的双向电压电平转换器转换为 3.3 V。
关于串口在 QuecPython 中使用的更多信息,请参阅 QuecPython 官方 Wiki:
2.4 关于按键
开发板搭载了 5 个按键,包括 3 个功能按键和 2 个自定义按键。
2.4.1 开机按键(PWK)
开机按键(PWK)与 BC25 模块的 7 号引脚(PWRKEY)直接相连。按键按下时,该引脚将被拉低到地。在模块上电时,可以通过按下开机按键至少 1 秒钟使得模块开机。
如果希望实现模块上电自动开机,可以将 PWRKEY 引脚直接连接到 GND。在开发板上,PWRKEY 和 GND 分别通过 J4 的两根排针引出,因而只需使用跳线帽或杜邦线将 J4 短接即可。
2.4.2 复位按键(RST)
复位按键(RST)与 BC25 模块的 15 号引脚(RESET)直接相连。按键按下时,该引脚将被拉低到地。可以通过按下复位按键至少 1 秒钟使得模块复位。
该功能通常用于在模块中已有程序运行时,若希望烧录新的程序(固件),在烧录开始前需要拉低 RESET 引脚。具体用法请参阅官方资料。
2.4.3 唤醒按键(EINT)
唤醒按键(EINT)与 BC25 模块的 19 号引脚(PSM_EINT)直接相连。按键按下时,该引脚将被拉低到地。当 BC25 模块处于软关机(通过 AT 指令或 Python 函数控制的关机)或深休眠(Deep Sleep)模式时,拉低该引脚产生的电平下降沿将使得模块被唤醒。
2.4.4 自定义按键(KEY1 和 KEY2)
KEY1 和 KEY2 通过板载的双向电压电平转换器与 BC25 模块的 32 和 33 号引脚相连。在使用 QuecPython 开发时,这两个引脚分别对应 GPIO15 和 GPIO16,可用于测试 GPIO 电平读取和外部中断等功能。
2.5 关于供电
在大部分情况下,USB 接口可以满足开发板的整体供电需求。在少数特殊情况下,用户可将电源切换开关从“USB”侧切换到“DC”侧,然后使用外部电源通过板载的外部供电排针(J3)为开发板进行 5V 直流供电。建议外部电源的最大输出电流不低于 1 A。
2.6 关于 IO 外设
BC25_QuecPython_EVB_V1.0/1.2 开发板对 BC25 的大部分引脚都进行了电平转换(3.3 V),并引出到排针 J5 和 J6 上,便于用户连接各类外设。
当使用 QuecPython 方式进行开发时,这些排针的功能请参考 BC25 QuecPython EVB V1.0 开发板引脚功能图。

与 BC25_QuecPython_EVB_V1.0 相比,BC25_QuecPython_EVB_V1.2 的 J5 和 J6 排针从 13 Pin 增加到 15 Pin。新增的 4 根排针与电源相关(GND 和 VBAT),其余部分与 BC25_QuecPython_EVB_V1.0 一致。
2.6.1 GPIO
在使用 QuecPython 方式进行开发时,BC25 模块有 18 个引脚可作为 GPIO 使用。开发板引出了其中的 15 个(转换为 3.3 V 电平)。具体用法请参阅 QuecPython 官方 Wiki:
2.6.2 ADC
BC25 模块的 9 号引脚可作为 ADC 使用,测量范围为 0 - 1.8 V,分辨率 10-bit。在开发板上,该引脚通过一个分压电路被引出到 J6 的第 13 脚,测量范围扩大为 0 - 3.6 V。具体用法请参阅 QuecPython 官方 Wiki:
2.6.3 I2C
在使用 QuecPython 方式进行开发时,BC25 模块提供 2 路 I2C 接口(引脚 20、21 和 23、22)。在开发板上,两路接口分别被引出到 J5 的 10、11 和 12、13 脚(转换为 3.3 V 电平)。具体用法请参阅 QuecPython 官方 Wiki:
2.6.4 SPI
在使用 QuecPython 方式进行开发时,BC25 模块提供 1 路 SPI 接口(引脚 3 - 6)。该接口仅可作为主机使用,最高通信时钟频率不超过 39 MHz。在开发板上,SPI 接口被引出到 J5 的 3 - 6 脚(转换为 3.3 V 电平)。具体用法请参阅 QuecPython 官方 Wiki:
2.6.5 串口
请参阅上文 2.3 节。
2.6.6 外部唤醒
开发板 J6 的 12 脚与一个三极管开关电路相连接。当外部给其施加一个高电平时,开关导通,BC25 模块的 19 号引脚被拉低到地,使得模块被唤醒。具体原理可参阅上文 2.4.3 节。
3 QuecPython 开发环境搭建
3.1 关于 QuecPython
QuecPython 是执行 Python 代码的运行环境,是一种全新的物联网开发方式。QuecPython 移植于 MicroPython 开源库,开发者在移远通信模块上使用 MicroPython 脚本即可调用模块软件功能和外部硬件接口,进行二次开发。
与传统的 CSDK 开发方式相比,QuecPython 开发方式无需配置电脑端的开发和编译环境,只需在模块内烧录 QuecPython 固件,然后编写脚本,传输至模块中执行即可。
关于 QuecPython 技术的详细信息,请参阅官方资料。
3.2 硬件准备
- BC25_QuecPython_EVB_V1.0/1.2 开发板 × 1
- USB Type-C 数据线 × 1
- NB-IoT 物联网卡 × 1(可选)
- 安装有 Microsoft Windows 操作系统的个人电脑 × 1
注意事项
开发板到手后,请仔细检查是否存在元件虚焊、脱焊,电路板变形、缺损、开裂等现象。若出现此类现象,立即停止后续操作,并与板卡的提供者联系。
建议选择质量可靠的 USB Type-C 数据线。部分 USB Type-C 线缆只具备供电功能,无法传输数据,请注意甄别。
开发板仅支持 NB-IoT 网络制式的物联网卡,无法使用普通物联网卡和手机 SIM 卡。
物联网卡普遍启用了机卡绑定机制。请选择全新的、未在其他设备上使用过的 NB-IoT 物联网卡,否则可能导致卡片锁死或其他异常。
若暂时无需测试网络功能,可不插入物联网卡使用。
个人电脑建议安装 Windows 10 或更新版本的 Windows 操作系统,且保证其正常连接到互联网。
3.3 驱动安装
BC25 模块的用户交互和固件烧录都是通过模块本身的串口进行的。开发板搭载了 USB 转串口芯片,使得用户可以通过开发板上的 USB 接口与模块的主串口和调试串口进行连接和通信。因此,当通过板载 USB 接口连接模块时,需要手动安装相应芯片的驱动程序。
- BC25_QuecPython_EVB_V1.0:安装 CP2105 芯片驱动
- BC25_QuecPython_EVB_V1.2:安装 CH342 芯片驱动
注意事项
官网下载页面暂未提供此类驱动下载,建议用户自行通过网络搜索并下载安装。
请确认下载和安装的驱动与您使用的 Windows 操作系统的版本相适配。
如有必要,用户亦可不通过板载 USB 接口,而是通过开发板两侧引出的排针连接到模块串口。请参阅上文 2.3 节。
3.4 连接电脑
- 将 MAIN 和 DEBUG 串口切换开关均拨到 USB 一侧
- 将电源切换开关拨到 USB 一侧
- 将 NB-IoT 物联网卡根据丝印指示按正确的方向插入卡座中
- 使用质量可靠的数据线将开发板与电脑相连接
- 若开发板电路正常,此时电源指示灯(POW)应亮起
- 在电脑端操作系统中,打开设备管理器,可看见两个新增的串口设备
- SERIAL-B 或 Standard COM Port:连接到模块的主串口
- SERIAL-A 或 Enhanced COM Port:连接到模块的调试串口
- 使用串口工具(如 QCOM)与 SERIAL-B / Standard COM Port 端口建立连接
- 波特率 9600 bps,数据位 8,停止位 1,校验无
注意事项
- 应确保电脑端的 USB 接口能够满足开发板的供电需求:
- 请将开发板连接至电脑的 USB 3.0 接口。建议台式主机用户将开发板连接至机箱后部的 USB 接口。
- 使用集线器(USB-Hub)的用户,请务必确认集线器为有源型号(支持独立供电)并已连接至外部电源,否则请勿将开发板与集线器相连接。
- 若 USB 口无法满足供电需求,请将电源切换开关(USB - DC)拨到 DC 一侧,然后通过 USB Type-C 口附近的 5V 和 GND 排针连接外部直流电源。
- 若设备管理器中未出现相应串口或名称与之不符,建议尝试:
- 断开并重新连接开发板。
- 重启电脑。
- 重新安装串口驱动。
- 更换 USB 数据线。
- 连接到其他电脑测试。
- 买块新的开发板。
QCOM 工具可在 QuecPython 官网的下载页面获取。
使用 QCOM 工具与模块进行交互时,需手动勾选界面下方的 Send With Enter 选项。若使用其他串口工具,也需打开类似选项。
3.5 模块开机
- 按住开机按键(PWK),持续 1 秒以上,然后松开
- 可观测到网络指示灯(NET)发生轻微闪烁
- 同时可见串口有明文信息输出(包含
RDY等字样),表明开机成功
注意事项
- 如需实现上电后自动开机,请使用跳线帽或杜邦线短接 USB Type-C 口附近的 PWK_ON 的两根排针。
- 建议在 QuecPython 固件烧录完成后再短接。
- 若串口工具收到的是乱码,可能是以下情况:
- 若串口工具未收到任何信息,可能是以下情况:
- 模块未成功启动:检查供电情况。
- 数据传输异常:检查或更换数据线。
- 串口参数设置有误:检查串口工具设置项,或更换其他串口工具。
- 模块此前已经开机:将开发板断电,然后重新上电再测试。
- 硬件故障和其他罕见问题:去官方交流群咨询。
3.6 关闭休眠
开发板上搭载的 BC25 模块在出厂时默认烧录了标准 AT 固件,具有自动进入深休眠模式的特性。
模块进入深休眠模式将会最大程度的降低模块的功耗。一般情况下,当模块的 Modem 侧进入 PSM,且 AP 侧进入 Idle 态(任务全部挂起)时,模块会进入深休眠模式。若模块未插 SIM 卡,或在搜网失败等情况下,模块会在短时间内自动进入深休眠模式。
模块进入深休眠模式最直接的特征是串口不再接收数据且 VDD_EXT 电压为 0 V。
在深休眠模式下,CPU 电源会被断开、程序停止运行、上下行数据无法处理、串口不再响应,模块处于类似关机的状态(仅 RTC 继续运行)。故对于处于深休眠模式的模块,用户无法正常与之交互,亦无法烧录固件。为正常烧录 QuecPython 固件,建议手动关闭此功能。
- 在串口工具内输入
AT并发送- 若模块返回
OK,则表明通信正常,可以进行后续操作 - 若模块无任何响应,或是在此前已经输出了
+QATSLEEP语句,则说明进入了睡眠,需要唤醒
- 若模块返回
- 按住唤醒按键(EINT),持续 0.1 秒以上,然后松开
- 可观测到模块串口有
+QATWAKEUP语句输出,表示模块已被成功唤醒 - 在串口工具内输入
AT+QSCLK=0并发送,若模块返回OK,则表明已成功关闭休眠功能
注意事项
若模块可正常输出信息,但对用户发送的 AT 指令不产生任何响应,请检查串口工具的 Send With Enter 或其他类似选项是否已经打开。
若休眠功能关闭不成功,可多次唤醒(或重新上电)并尝试发送指令。
3.7 烧录固件
- 关闭电脑端的杀毒软件(如 360 等)
- 从 QuecPython 开发交流群的群文件中获取 QFlash 工具并解压
- 请务必将 QFlash 工具解压到不包含中文和空格的目录下
- 从 QuecPython 官网的下载页面获取 BC25 模块的最新版 QuecPython 固件并解压
- 固件名称格式类似于 QPY_V0002_BC25PA_FW,以实际为准
- 请务必将固件解压到不包含中文和空格的目录下
- 解压后将获得一个 changelog 文件和 .lod 格式的固件本体
- 打开 QFlash 工具文件夹,右击 QFlash 程序本体(如 QFlash_V5.8.exe),在右键菜单中选择以管理员身份运行(A)
- 在 QFlash 主界面上,点击 Load FW Files 按钮,选择刚才下载的 QuecPython 固件(.lod 格式)
- 在 COM Port 下拉菜单中,选择 SERIAL-A / Enhanced COM Port 对应的串口号
- 在 Baudrate 下拉菜单中,选择 921600
- 点击 Start 按钮,开始固件烧录
- 在烧录流程结束(或失败)前,严禁断开模块与电脑间的 USB 连接
- 待 QFlash 界面出现 PASS 字样时,表示烧录成功,此时可关闭 QFlash 工具
- 断开开发板与电脑的连接
3.8 开始开发
- 从 QuecPython 官网的下载页面获取最新版本的 QPYcom 工具并解压
- 再次将开发板与电脑相连接
- 打开 QPYcom 工具文件夹,右击 QPYcom.exe 文件,在右键菜单中选择以管理员身份运行(A)
- 在选择串口下拉菜单中,选择 SERIAL-B / Standard COM Port
- 在波特率下拉菜单中,选择 57600
- 点击打开串口按钮
- 按住开机按键(PWK),持续 1 秒以上,然后松开
待 QPYcom 工具的交互窗口中出现类似
mount.Type "help()" for more information.>>>
的字样时,表示 QuecPython 开发环境已经搭建成功。
4 常见问题
4.1 硬件相关
4.1.1 如何给第三方或自制的 BC25 开发板烧录 QuecPython 固件?
- 首先判断开发板上搭载的模块型号为 BC25,而非 BC25-B5 或 BC25-B8
- 后两者尚无公开的 QuecPython 固件
- 确保开发板已引出 BC25 模块的主串口(17、18 脚)和调试串口(38、39 脚)
- 若不经转换,模块串口的电平均为 1.8 V,在后续操作中需特别注意
- 将电脑通过 USB 转 TTL 串口模块与主串口建立连接
- 给模组上电并开机,然后根据上文 3.6 节的方法关闭其休眠功能
- 将电脑通过 USB 转 TTL 串口模块与调试串口建立连接
- 务必确认 USB 转串口模块支持 921600 bps 或更高波特率
- 根据上文 3.7 节的方法烧录 QuecPython 固件
4.2 软件相关
4.2.1 如何判断 BC25 模块是否已被烧录 QuecPython 固件?
- 将开发板通过 USB Type-C 数据线连接到电脑
- 若此前短接了 PWK_ON 排针,请在连接电脑前将其断开
- 若此前已对模块执行了开机操作,请断电后重连
- 使用串口工具与 SERIAL-B / Standard COM Port 端口建立连接
- 波特率 57600 bps,数据位 8,停止位 1,校验无
- 按住开机按键(PWK),持续 1 秒以上,然后松开
- 检查串口是否有明文信息输出(包含
mount等字样) - 如有此类输出则表明该模块已烧录有 QuecPython 固件
修订记录
| 版本号 | 修改内容 | 修改时间 | 修改者 |
|---|---|---|---|
| 0.0.1 | 初版 | 2022.04.10 | Exdream |
| 0.1.2 | 拼写细节勘误 | 2022.05.02 | Exdream |
| 0.1.3 | 补充开发板功能介绍部分 | 2022.05.27 | Exdream |
