BG95 开发板介绍
支持的模组列表
功能列表
基本概述
QuecPython_BG95_EVB 开发板是一款专门针对QuecPython设计的、小巧便携的“口袋型”开发板。
主模组搭载BG95,搭载Type-C接口,开发者仅需一条USB Type-C 数据线即可轻松玩转开发板。
该开发板兼容树莓派zero,树莓派zero的扩展板可以在BG95开发板上直接使用。
功能说明
开发板的主要组件、接口布局见下图
资料下载
开发板资源
开发板接口
8Pin排针管脚分配表
排针 | 编号 | 丝印 | 引脚 | 功能 |
---|---|---|---|---|
JP6 | 1 | PWK_AUTO | 15 | POWERKEY |
JP6 | 2 | PWK_AUTO | - | GND |
JP6 | 3 | VDD_EXT | - | 1.8V |
JP6 | 4 | VDD_EXT | 29 | VDD_EXT |
JP6 | 5 | MODULE_EN | - | 3.6V |
JP6 | 6 | MODULE_EN | - | 3.6V |
JP6 | 7 | GNSS_EN | - | 3.3V |
JP6 | 8 | GNSS_EN | 51 | GNSS_EN |
- 1 & 2:自动开机
- 3 & 4:VDD_EXT 连接时可对外供电,测量功耗时需断开
- 5 & 6:接通 DCDC 对模组供电
- 7 & 8:使能 GNSS 有源供电
40Pin排针管脚分配表
排针 | 编号 | 名称 | 功能复用 | 功能 | 排针 | 编号 | 名称 | 功能复用 | 功能 |
---|---|---|---|---|---|---|---|---|---|
JP7 | 1 | 3V3 | - | 3.3V输出 | JP8 | 2 | 5V | - | 5V输出 |
JP7 | 3 | SDA1 | I2C1_SDA GPIO14 |
I2C1串行数据 通用输入输出 |
JP8 | 4 | 5V | - | 5V输出 |
JP7 | 5 | SCL1 | I2C1_SCL GPIO13 |
I2C1串行时钟 通用输入输出 |
JP8 | 6 | GND | - | 接地 |
JP7 | 7 | P35 | GPIOX UART4_TXD |
通用输入输出 UART4发送 |
JP8 | 8 | TX2 | UART2_TXD | UART2发送 |
JP7 | 9 | GND | - | 地 | JP8 | 10 | RX2 | UART2_RXD | UART2接收 |
JP7 | 11 | P06 | GPIO3 PCM_DIN |
通用输入输出 数字音频输入信号 |
JP8 | 12 | P37 | GPIOX I2C_SDA |
通用输入输出 I2C串行数据 |
JP7 | 13 | P05 | GPIO2 PCM_SYNC |
通用输入输出 数字音频同步信号 |
JP8 | 14 | GND | - | 接地 |
JP7 | 15 | P04 | GPIO1 PCM_CLK |
通用输入输出 数字音频时钟信号 |
JP8 | 16 | P86 | GPIO19 | 通用输入输出 |
JP7 | 17 | 3V3 | - | 3.3V输出 | JP8 | 18 | P88 | GPIO21 | 通用输入输出 |
JP7 | 19 | MO2 | SPI2_MOSI GPIO8 UART0_TXD |
SPI2主输出从输入 通用输入输出 UART0发送 |
JP8 | 20 | GND | - | 接地 |
JP7 | 21 | MI2 | SPI2_MISO GPIO7 UART0_RXD |
SPI2主输入从输出 通用输入输出 UART0接收 |
JP8 | 22 | P20 | GPIOX | 通用输入输出 |
JP7 | 23 | CLK2 | SPI2-CLK GPIO5 I2C0_CLK |
SPI2时钟 通用输入输出 I2C0时钟 |
JP8 | 24 | CS2 | SPI2_CS GPIO6 I2C0_SDA |
SPI2片选 通用输入输出 I2C0串行数据 |
JP7 | 25 | GND | - | 接地 | JP8 | 26 | P38 | GPIOX | 通用输入输出 |
JP7 | 27 | P25 | GPIO9 SPI0_CS |
通用输入输出 SPI0片选 |
JP8 | 28 | P26 | GPIO10 SPI0_CLK |
通用输入输出 SPI0时钟 |
JP7 | 29 | P34 | GPIOX UART4_RXD |
通用输入输出 UART4接收 |
JP8 | 30 | GND | - | 接地 |
JP7 | 31 | P87 | GPIO20 | 通用输入输出 | JP8 | 32 | PWM | PWM0 GPIO17 |
PWM0输出 通用输入输出 |
JP7 | 33 | P85 | GPIO18 PWM1 |
通用输入输出 PWM1输出 |
JP8 | 34 | GND | - | 接地 |
JP7 | 35 | P28 | GPIO12 SPI0_MISO UART3_RXD |
通用输入输出 SPI0主输入从输出 UART3接收 |
JP8 | 36 | P39 | GPIOX | 通用输入输出 |
JP7 | 37 | P07 | GPIO4 PCM_DOUT |
通用输入输出 数字音频输出信号 |
JP8 | 38 | P27 | GPIO11 SPI0_MOSI UART3_TXD |
通用输入输出 SPI0主输出从输入 UART3发送 |
JP7 | 39 | GND | 接地 | JP8 | 40 | P36 | GPIOX I2C_SCL |
通用输入输出 I2C串行时钟 |
开发板主要管脚布局见下图
小提示
开发板的更多资料,请访问 https://python.quectel.com/resource-download?cid=23
开发板配置
外设资源管脚分配表明细如下:
序号 | 名称 | 型号 | 是否支持 | 丝印 | 备注 |
---|---|---|---|---|---|
1 | USB_TYPEC接口 | - | 是 | - | - |
2 | SIM卡座 | SMN-315-ARP7 | 是 | CARD2 | Nano-SIM |
3 | LED指示灯(详见下方说明) | - | 是 | - | - |
板载指示灯如下
- SIM_CHK: 卡槽 SIM 卡存在时,SIM_CHK 指示灯亮起。
- NET:网络指示灯。
- PSM:睡眠指示灯。
- PWM:PWM 功能指示灯。
- PWR:电源指示灯。
上述指示灯位置参考上文开发板正面图下方丝印(模组所在面为正面)
快速入门
硬件准备
以下是开发板上手之后的硬件准备步骤
Step1:硬件准备
开始之前需要准备以下配件
- 开发板
- USB 数据线 (USB-A TO USB-TypeC)
- PC (Windows10)
- SIM 卡
- 4G 天线
Step2:天线&SIM卡安装
安装开发板配套的天线,安装位置为 MAIN 天线座位置,并将 SIM 卡插入开发板上的 SIM 卡座。
- Step3:开发板连接
使用 USB Type-C 数据线连接开发板的 Type-C/Micro USB 接口和电脑 USB 口即可完成供电。
- Step4:开发板开机
将PWK_AUTO的两个引脚使用跳帽短接之后上电后会自动开机,或者上电后长按PWK开机,建议从上电到按下PWK按键之间的时间间隔不少于 30 ms。
进行以上操作后等待主板上电源指示灯亮(主板上丝印为PWR灯,参考上文指示灯)
执行以上操作后PWR灯常亮即开机成功
驱动安装
选择与模组型号匹配的驱动,该开发板搭载的模组有BG95,在下载页面右侧选择该型号的USB驱动QuecPython_USB Driver Win10_BG点击下载,如果开发板搭载的是其他型号同样按照以上操作即可。
下载后解压驱动压缩包,找到"setup.exe" 或者是"setup.bat",双击运行即可,安装完之后打开设备管理器就可以看到设备管理器中端口的黄色感叹号消失了,说明安装成功,能够正常通信。
出现 Mobile ECM Network Adapter 或 CDC Ethernet Control Modle (ECM) 等设备未被识别属于正常现象,不影响固件烧录和后续开发,无需理会。
- 右键打开【我的电脑】——选择【管理】——选择【设备管理器】,然后在设备管理器中选择 【端口】,按照步骤打开页面后如图所示能刷新出Quectel USB 名称开头的串口则USB驱动安装成功。
工具安装
- QPYcom获取
使用QuecPython进行开发需要用到专用的开发调试工具——QPYcom,包括但不限于调试代码、分析日志、文件传输、烧录固件、合并固件等。
打开QuecPython工具下载页面,根据操作系统选择对应的工具进行下载。
注意:该工具无需安装,解压即用。
- VSCode插件
编辑Python代码一般会用到专用于Python或者兼容多种语言的IDE,可以有效提升开发效率,这里推荐VSCode
针对VScode,QuecPython推出专用插件实现代码提示、代码补全和串口调试等功能,安装方法见下图
在VSCode中点击侧边栏插件市场,在插件市场中搜索 “QuecPython”,根据搜索结果下载该插件即可
固件烧录
固件获取
模组在出厂时通常烧录有标准 AT 固件或 QuecOpen 固件,如需基于 QuecPython 对模块进行开发,需要手动为其重新烧录专门的 QuecPython 固件。
面对官网种类众多的固件,如何选择合适的固件包,首先需要知道使用的模组的型号,模组型号可以通过模组的镭雕或者发送AT指令来获得。
在获取到模组型号之后根据模组的型号去官网下载该模组对应的固件即可,固件的名称一般为QPY_OCPU_版本号_模组型号_FW
,没有特殊需求默认下载最新版本即可。
点击下载列的下载按钮即可下载,下载成功后会得到一个固件名称命名的压缩包文件(zip包)
从官网下载的固件包为压缩包格式,固件压缩包下载到本地后,需进行解压。解压后可获得两个文件,其中 .bin 格式的是 QuecPython 固件本体,.md 格式的是更新日志。
请务必将压缩包内容解压至一个不包含中文、空格和其他特殊字符的路径下,否则下载工具可能无法正常识别到固件,同时下载工具路径也不可包含中文、空格和其他特殊字符。
固件烧录
- Step1:创建项目
首先确保模组连接正常并已开机,打开QPYcom工具进入下载页面,点击"创建"项目,新建要下载的固件项目,项目名称自定义,配置完成后持久化保存
- Step2:选择固件
选择要下载到模组的固件(根据要下载的模组型号选择对应的固件,若为新格式固件则所有模组型号都选择.bin文件即可)
如果是老版本固件,固件文件格式不一定以bin结尾,其中BG95系列选择官网下载固件包解压后mbn结尾的文件。
- Step3:设置下载模式
单击“Download script”右侧的下拉选择箭头,选择"Download FW"
- Step4:开始烧录固件
点击"Download FW"后,开始下载固件,下载过程会有进度条和进度百分比显示,等待下载完毕会有弹窗提示下载成功
其中BG95系列需要打开DM串口后再点击"Download FW",直接点击会提示打开串口
REPL调试
REPL全称为Read-Eval-Print-Loop (交互式解释器),可以在REPL中进行QuecPython程序的调试
运行 QPYcom 工具后,选择正确的串口(波特率无需指定)并打开,即可开始 Python 命令行交互。
- Step1:进入交互页面
打开QPYcom工具,端口选择连接Quectel USB REPL Port,选择“交互”界面
- Step2:打开串口
点击“打开串口”按钮,在交互界面输入print(‘hello world’),按回车后可以看到执行的结果信息
>>> print('hello world')
hello world
注意:工具交互页面输入时需要输入英文字符,中文字符将会被屏蔽
开发第一个脚本
编写第一个脚本文件
创建helloworld.py文件输出“hello world”,打印“hello world”,编写脚本如下所示:
print("hello world")
通过QPYcom将上面编辑好的文件下载到模组中去并运行
PC与模组间的文件传输
下载方法一:

- Step1:打开串口
首先选择模组的交互口,点击"打开串口"按钮
- Step2:通过工具按钮下载
可以通过文件页面右侧上面的 "+","-" 按钮来上传和删除文件
- Step3:通过拖拽形式下载
也可以通过拖拽的方式将文件页面左侧显示的本地文件直接拖拽到右侧模组中去(也可以拖拽文件夹)
- Step4:下载进度和结果
下载过程中会在状态栏显示下载文件名和下载进度
下载方法二:

- Step1:创建项目
根据需求,创建用户项目(点击"创建"按钮),步骤同上文烧录固件
- Step2:配置要下载的文件
选择需要下载到模块的用户脚本(在"用户脚本"区域通过右键菜单添加)
- Step3:设置下载模式
左击下拉选择箭头,选择"下载脚本",即"Download Script"
- Step4:开始下载脚本
点击"下载脚本"开始下载脚本,下载过程中有进度条提示
运行脚本文件
- Step1:下载脚本
将要执行的脚本文件下载到模组中去,具体步骤参考上文
- Step2:通过repl执行脚本
打开串口之后,在QPYcom交互页面输入以下代码执行脚本文件
import example
example.exec("/usr/helloworld.py") # filePath为要执行的脚本文件路径
- Step3:通过GUI工具执行脚本
或者通过QPYcom文件页面 执行 按钮执行脚本文件,在工具的文件页面选择要执行的脚本文件然后点击 "▷"按钮
执行结果如图
停止程序运行
如何停止正在运行的程序,根据运行的脚本文件类型有以下方法:
程序名是否为main.py | 程序中是否包含了死循环 | 程序中是否使用了多线程 | 停止步骤 |
---|---|---|---|
✓ | ✓ | ✓ | (1)按 Ctrl + A 键进入 RAW 模式(2)按 Ctrl + D 键重启 QuecPython 虚拟机(3)按 Ctrl + B 键回到普通交互模式(4)若以上方法无效,请重新烧录固件 |
✗ | (1)按 Ctrl + C 键打断程序运行(2)若以上方法无效,请重新烧录固件 | ||
✗ | ✓ | (1)按 Ctrl + A 键进入 RAW 模式(2)按 Ctrl + D 键重启 QuecPython 虚拟机(3)按 Ctrl + B 键回到普通交互模式(4)若以上方法无效,请耐心等待程序运行结束 | |
✗ | (1)按 Ctrl + C 键打断程序运行(2)若以上方法无效,请重新烧录固件 | ||
✗ | ✓ | ✓ | (1)按 Ctrl + D 键重启 QuecPython 虚拟机(2)若以上方法无效,请直接重启模块 |
✗ | (1)按 Ctrl + D 键重启 QuecPython 虚拟机(2)若以上方法无效,请直接重启模块 | ||
✗ | ✓ | (1)按 Ctrl + C 键打断程序运行(2)若以上方法无效,请重新烧录固件或直接重启模块 | |
✗ | (1)按 Ctrl + C 键打断程序运行(2)若以上方法无效,请重新烧录固件或直接重启模块 |