BG95 开发板介绍

支持的模组列表

功能列表

基本概述

QuecPython_BG95_EVB 开发板是一款专门针对QuecPython设计的、小巧便携的“口袋型”开发板。

主模组搭载BG95,搭载Type-C接口,开发者仅需一条USB Type-C 数据线即可轻松玩转开发板。

该开发板兼容树莓派zero,树莓派zero的扩展板可以在BG95开发板上直接使用。

功能说明

开发板的主要组件、接口布局见下图

img

资料下载

开发板资源

开发板接口

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串行时钟

开发板主要管脚布局见下图

img

小提示
开发板的更多资料,请访问 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:硬件准备

    开始之前需要准备以下配件

    1. 开发板
    2. USB 数据线 (USB-A TO USB-TypeC)
    3. PC (Windows10)
    4. SIM 卡
    5. 4G 天线
  • Step2:天线&SIM卡安装

安装开发板配套的天线,安装位置为 MAIN 天线座位置,并将 SIM 卡插入开发板上的 SIM 卡座。

  • Step3:开发板连接

使用 USB Type-C 数据线连接开发板的 Type-C/Micro USB 接口和电脑 USB 口即可完成供电。

  • Step4:开发板开机

将PWK_AUTO的两个引脚使用跳帽短接之后上电后会自动开机,或者上电后长按PWK开机,建议从上电到按下PWK按键之间的时间间隔不少于 30 ms。

进行以上操作后等待主板上电源指示灯亮(主板上丝印为PWR灯,参考上文指示灯)

执行以上操作后PWR灯常亮即开机成功

驱动安装

  • 打开QuecPython官网驱动下载链接

  • 选择与模组型号匹配的驱动,该开发板搭载的模组有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与模组间的文件传输

下载方法一:

image-2021081301
  • Step1:打开串口

首先选择模组的交互口,点击"打开串口"按钮

  • Step2:通过工具按钮下载

可以通过文件页面右侧上面的 "+","-" 按钮来上传和删除文件

  • Step3:通过拖拽形式下载

也可以通过拖拽的方式将文件页面左侧显示的本地文件直接拖拽到右侧模组中去(也可以拖拽文件夹)

  • Step4:下载进度和结果

下载过程中会在状态栏显示下载文件名和下载进度

下载方法二:

image-2021081301
  • 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)若以上方法无效,请重新烧录固件或直接重启模块