大数跨境
0
0

使用教程|PB-01/02入门使用

使用教程|PB-01/02入门使用 安信可科技
2020-12-18
0
导读:安信可科技新品蓝牙模块PB-01/02入门使用。

12月10日,安信可科技发布了两款基于上海奉加微电子PHY6212芯片蓝牙模块PB-01和PB-02,以及对应的开发板。不少开发者们在淘宝上购买了样品后,不知道如何使用,今天我们就给大家介绍一下PB-01/PB-02入门使用。

文章目录 

1.如何为模组烧录固件?

2.模组的AT指令集介绍;

3.如何实现模组与手机BLE调试助手进行通讯?

4.如何实现模组与微信小程序进行通讯?

5.如何快速入门SDK二次开发?

6.如何实现基于PB-01/02的天猫冷暖七彩灯应用?

7.如何实现蓝牙网关ESP32-G与PB-01/02进行组网通讯?


本篇教程的硬件基于PB-01/02模组或开发板,如选择模组可按照教程进行接线。


1.如何为模组烧录固件?

PB-01/02 入门使用教程

1.1 准备工具

•  安信可串口调试助手 V1.2.3.0

下载链接:点击下载

•  PB-01/02 串口烧录工具&固件

百度网盘:点击下载   提取码:1234

  *注意:请务必解压后再打开使用!  


1.2 模组接线

按照表格将PB-01/02模组与USB转TTL工具一一进行连接,TTL工具的另一端连接电脑的Micro USB接口。如果选择了开发板,可以直接用一条Micro USB数据线连接开发板与电脑。
PB-01/02
USB转TTL
RXD
TXD
TXD
RXD
RST
RTS
TM
DTR
3V3
3V3
GND
GND


1.3 开始烧录

第一步、进入烧录模式

打开安信可串口调试助手PhyPlusKit工具

先对PhyPlusKit工具进行设置:同时按下RSTPROG按键,出现UART RX : cmd>>:信息,则表示进入了烧录模式。


点击Erase进行擦除,擦除成功会出现文字提示,如图所示:

第二步、设置烧录工具

点击菜单栏的Settings,进行设置Configuration

勾选Start Flash address,设置参数为9000
设置Base Run address参数为1FFF4800;
设置完成后点击OK;

Timeout设置为4000;
Erase Size设置为512K;
HEX Merge—BOOT,双击填入ota_singlebank_noFCT.hex这个文件;
右侧选择Dual No FCT
HEX Merge—APP,双击填入simpleBleCentral.hex这个文件。
这两个文件都已放在刚才下载的压缩包中。

第三步、进行烧录
设置完成后直接点击Write进行烧录,烧录完成后如下图。

第四步、烧录成功验证
烧写完成后,安信可还口调试助手会出现如下界面,表示成功烧录。

*注意:
烧写的时候需要将TM引脚拉低后再次复位,出现cmd>>:表示模块进入烧录模式。


2.模组的AT指令集介绍

PB-01/02 入门使用教程

2.1 AT指令格式

AT 指令分为三种格式类型,如下:

类型 指令格式
描述

查询指令

AT+ < x > ?

查询命令中的当前值

设置指令

AT+ < x > =< ```>

设置用户自定义的参数值

执行指令

AT+ < x >

执行某些参数不可变的功能

*注意:

1. 并非所有指令都有这三种类型的命令;

2. 指令必须大写,并且以回车换⾏符结尾(CR LF);

3. 所有指令返回以回车换⾏符开始(CR LF);

4. 所有指令返回每行都以回车换⾏符结尾(CR LF)。

指令示例:


字符串
HEX
指令
AT\r\n
41 54 0D 0A
返回
\r\nOK\r\n
0D 0A 4F 4B 0D 0A

2.2 AT指令表

序号
指令
功能
备注

1

AT

测试AT


2

AT+GMR

查询固件版本


3

AT+RST

重启模组


4

AT+NAME

查询或设置蓝牙广播名称

重启后生效

5

AT+MAC

设置或查询模组MAC地址

重启后生效

6

AT+STATE

查询蓝牙连接状态


7

AT+BLEUART

设置进入透传模式


8

AT+POWER

设置发射功率

重启后生效

9

AT+CONRANG

设置连接参数

重启后生效

10

AT+ADVINT

设置广播间隔

重启后生效

11

AT+ADVDATA

自定义广播内容

重启后生效

12

AT+ADVABLE

广播使能


13

AT+ RESTORE

恢复出厂设置

恢复后自动重启

14

AT+SERUUID

修改主服务UUID

重启后生效

15

AT+SLEEP

设置休眠模式


16

AT+MTUEXCHANGE

修改蓝牙MTU值


17

AT+SEND

AT 模式下发送数据


18

+DATA:

AT 模式下收到数据


*注意:

PB-01/02的默认MTU值为23,可以通过AT+MTUEXCHANGE指令进行修改,最大值为250。


3.如何实现模组与手机BLE调试助手进行通讯?

PB-01/02 入门使用教程

3.1 准备工具

• 安信可串口调试助手  V1.2.3.0 
下载链接:点击下载
• 蓝牙调试助手  手机APP
在应用商店中搜索下载,推荐使用BLE调试宝-调试助手

3.2 开始调试

第一步、检测模块是否正常工作

发送AT返回OK,表示模组可以正常使用。

第二步、通过APP连接模组与手机,并实现互相通讯

模组上电后会广播默认名称为 “Ai-Thinker”的蓝牙设备,手机通过APP连接并开启notify后即可与模块相互通讯,通过串口调试助手验证这一步操作,如图所示。


*注意:

要通过手机APP 蓝牙调试助手才能扫描到设备,在手机->设置->蓝牙里可能扫描不到。


4.如何实现模组与微信小程序进行通讯?

PB-01/02 入门使用教程

微信小程序源代码地址https://github.com/Ai-Thinker-Open/AiPBxxForWeChat/

4.1 准备工具

• 安信可串口调试助手  V1.2.3.0 

下载链接:点击下载

• 自助开发微信小程序

可参考资料:微信官方文档-小程序

4.2 开始连接

第一步、检测模组是否正常工作

第二步、微信小程序连接模组
模块默认上电后会广播默认名称为 Ai-Thinker的蓝牙设备,用微信小程序能成功搜到模块发出来的设备信息。


5.如何快速入门SDK二次开发?

PB-01/02 入门使用教程

5.1准备工具

•  Keil 软件

•  下载并熟悉PB-01/02 SDK: 

     https://github.com/Ai-Thinker-Open/AiThinker-Open-PB-BleMesh
•  安装开发环境
| 拷贝 SDK 至工作目录| 安装 MDK Keil5 for ARM 开发环境| 通过 MDK 打开 SDK 目录中的样例的项目文件即可对项目进行编译调试等操作

(向左滑动查看全部代码)

5.2熟悉PB-01/02 SDK 目录架构



BLE知识讲解

GAP通用访问配置文件

Ble 协议栈中的 GAP 层负责处理设备访问模式,包括设备发现、建立连接、终止连接、初始化安全管理和设备配置,所以在 ble 协议栈中有不少函数均是以 GAP 为前缀,这些函数会负责以上的内容。
GAP 层总是作为下面四个钟角色之一:
Broadcaster 广播者——不可以连接的一直在广播的设备。
• Observer 观测者——可扫描广播设备,但不能发起建立连接的设备。
• Peripheral 从机——可被连接的广播设备,可以在单个链路层连接中作从机。
 Central 主机 ——可以扫描广播设备并发起连接,在单个链路层或多链路层中作为主机。

• 在典型的蓝牙低功耗系统中,从机设备广播特定的数据,以便让主机知道他是一个可以连接的设备,广播内容包括设备地址以及一些额外的数据,如设备名、服务等。主机收到广播数据后,会向从机发送扫描请求 ScanRequest,然后从机将特定的数据回应给主机,称为扫描回应 ScanResponse。主机收到扫描回应后,便知道这是一个可以建立连接的外部设备,这就是设备发现的全过程。此时,主机可以向从机发起建立连接的请求,连接请求包括下面一些参数。

 连接间隔——在两个 BLE 设备的连接中使用调频机制,两个设备使用特定的信道收发数据,然后过一段时间后再使用新的信道。(链路层处理信道切换),两设备在信道切换后收发数据称之为连接事件,即使没有应用数据的收发,两个设备任然会通过交换链路层数据来维持连接,连接间隔就是两个连接事件之间的时间间隔,连接间隔以1.25ms 为单位,连接间隔的值为 6(7.5ms)~3200(4s)。

• 从机延时——这个参数的设置可以使从机跳过若干连接事件,这给了从机更多的灵活度,如果它没有数据发送时,可以选择跳过连接时间继续休眠,以节省功耗。

管理超时——这是两个成功连接事件之间的最大允许的间隔,如果超过了这个时间(这个值的单位是 10ms)而没有成功的连接事件,设备被认为丢失连接,返回到未连接状态,管理超时的范围是 100(100ms)~3200(32s)另外,超时值必须大于有效的连接间隔 [有效的连接间隔=连接间隔*(1+从机延时)]。

 安全管理——只有已认证的连接中,特定的数据数据才能被读写,一旦连接建立,两个设备进行配对,当配对完成后,形成加密连接的密钥,在典型的应用中,外设请求集中器提供密钥来完成配对工作。密钥是一个固定的值,如 000000,也可以随机生成一个数据提供给使用者,当主机设备发送正确的密钥后,两设备交换安全密钥并加密认证链接。在许多情况下,同一对外设和主机会不时的连接和断开,ble 的安全机制中有一项特性,允许两个设备之间建立长久的安全密钥信息,这种特性称为绑定,他允许两设备连接时快速的完成加密认证,而不需要每次连接时执行配对的完整过程。


GATT(Generic Attribute Profile):通用属性配置文件
通用属性配置文件是在属性协议(ATT)基础上构建,为属性协议传输和存储数据建立了一些通用的操作和框架。


5.3 编译和运行demo

使用SDK说明:在SDK所在的目录中,example目录包含了示例项目,其中每个示例有一个 bin 目录,其中的hex文件为可执行的程序固件,初次使用本SDK的用户可以直接烧录该文件进行实验。
第一步、使用PlyPlusKit 工具为模组/开发板擦除固件(和烧录固件中的步骤相同,此处不赘述)
第二步、编译示例,生成HEX文件
下载PB-01/02的SDK,从安装目录下的example\ble_peripheral选择一个样例,比如 bleUart-RawPass,打开MDK 项目文件。

使用KEIL软件编译,生成HEX文件。


5.4 调试和烧写

在MDK工具栏按钮,点击 Option for target 按钮 ,打开项目的 option 对话框。
在 C/C++标签页的 Preprocessor Symbols_Define 里面,开发者可以改变对应的预编译宏:
  • CFG_SLEEP_MODE=PWR_MODE_SLEEP :使能低功耗模式,固件程序执行过程中, 会在空闲过程进入睡眠,睡眠之后调试器无法进行调试跟踪,断点也失效。
  • CFG_SLEEP_MODE=PWR_MOD_ENO_SLEEP :关闭低功耗模式,固件程序执行过 程中,处理器一直处于唤醒状态。
  • DEBUG_INFO=1:使能调试信息,默认通过串口输出:P9(Tx),P10(Rx)
  • DEBUG_INFO=0:关闭调试信息


如下图所示,烧录程序成功!


6.如何实现基于PB-01/02的天猫冷暖七彩灯应用?

PB-01/02 入门使用教程

经过工程师的实际测试验证,PB-01/02已经实现了对接天猫精灵和语音控制,接下来我们以PB-01/02对接天猫语音控制灯的例子接下来讲解一下这一功能的操作步骤。
6.1 准备工具 
•  天猫精灵(方糖R基础款,其它版本也可以)

•  PB-01/02 串口烧录工具&固件

百度网盘点击下载   提取码:1234

•  天猫精灵三元组(支持自助在平台购买或者申请属于自己的三元组)
6.2  烧录固件
因为有三元组的介入,所以烧录固件时有几处不同。需要在PlyPlusKit 工具中进行如下设置。
HEX,双击填入固件
Batch-Path,选择三元组配置文件
右侧,勾选UART Setting,Port 选择COM7,其它选项均按照图中所示设置。按下Connect,打开并且连接串口;

以上就是资料包里面的上位机烧录配置界面。依次烧录固件以及三元组配置文件即可。
6.2 连接配对
该版本的固件同时具有彩灯以及冷暖灯效果,我们PB-01/02开发板上分别也含有RGB灯以及双色的LED灯。

第一步、配置天猫精灵

对天猫精灵进行恢复出厂设置,让它处于配网模式,在手机应用商城下载“天猫精灵”APP。

打开天猫精灵APP找到你的天猫精灵型号,提交配网信息,配网成功后天猫精灵会有语音提示。

完成以上操作后,我们把烧录好固件的PB-01/02开发板上电,此时我们只需要对天猫精灵说“找队友”,天猫精灵就会和PB-01/02开发板进行配对连接,刷新APP页面以后我们就会看到设备上线,并且配对成功。


功能演示

1.语音控制。

我们可以对天猫精灵说出如下语句,PB-01/02开发板上面的灯光会做出对应响应。

“天猫精灵,开灯

“天猫精灵,关灯

“天猫精灵,把灯的亮度调到最高

“天猫精灵,把灯调为冷色

“天猫精灵,把灯调为红色

“天猫精灵,把灯调为紫色

“天猫精灵,灯的色温调暖一点”

... ... ...

2.APP控制

除了语音控制,还可以通过APP远程控制PB01/02开发板上的冷暖灯和RGB灯。

打开天猫精灵APP,通过拨动如下图中的按钮和滑块可以实现灯的智能控制。


7.如何实现蓝牙网关ESP32-G与PB-01/02进行组网通讯?

PB-01/02 入门使用教程

我们在12月18日的同一时间也发布了一款WiFi蓝牙网关 ESP32-G,并且实现了这台网关与PB-01/02进行组网通讯的功能。本文继续讲解一下这一功能的实现操作步骤。

7.1 准备工具

• ESP32-G WIFI蓝牙网关/PB-01/02
• 安信可串口调试助手 V1.2.3.0
• 本项目需客户具备自行搭建MQTT服务器的能力,可参考以下教程:
小白入门搭建MQTT服务器,使用安信可AT透传MQTT固件,轻松对接服务器。(附带demo)
7.2 PB-01/02 模组恢复出厂模式
将模组与电脑进行连接。打开串口调试助手,发送指令让魔族恢复出厂模式。
| AT+RESTORE


7.3 模组连接蓝牙网关

通过串口调试助手向网关发送AT指令连接蓝牙网关。

| AT+SETUP

成功连接后,蓝牙模块会打印 connect ok,如下图

7.4 模组向网关发送数据

通过串口调试助手向网关发送AT指令和数据。

|  AT+TEST=01,d18888,01020304

蓝牙网关收到数据后,再将该数据转发到 MQTT 服务器中,如下图

由于订阅同一个主题,发送上去会直接接收相同主题的数据。


7.5 MQTT服务器下发数据到PB-01/02模组

MQTT 服务器发送一串数据给蓝牙网关。

| {“addr”:“0005”,“opcode”:“d18888”,“data”:“01020304”}

蓝牙网关将数据转发到蓝牙模组上,蓝牙模组成功收到数据,如下图所示

*注意:
• 蓝牙网关需要正确设置MQTT参数,确保能在MQTT后台的客户端 ID 查看到蓝牙网关的 MAC 地址
• 蓝牙模块节点广播数据格式:

      
| AT+TEST=01,d18888,01020304
01——目标地址
d18888——opcode
01020304——广播数据
opcode 目前支持 get:d08888, set:d18888,ack:d38888,delete:d48888

样品购买

开发板买一送一


本篇文章留言前5名的用户,可参与PB-01/02开发板买活动!

活动规则:


  • 本次活动为买1个PB-01/02开发板,送1个串口转TTL的转接板CP2102;

  • 本篇文章留言前五名的朋友,可向公众号发送“买一送一”,获取客服的微信(前5名以公众号手动回复的消息为准哦);

  • 参与活动的用户可添加微信获取福利,没有参与的朋友可关注下期活动哦!

  • 非诚勿扰,包邮哦亲!

部分图片来源于网络,侵删

文案:Ai-Thinker-徐宏

审核:Ai-Thinker-刘伟

发文:Ai-Thinker-企鹅




【声明】内容源于网络
0
0
安信可科技
全球领先的联网模组、智能家居等物联网硬件方案提供商。
内容 393
粉丝 0
安信可科技 全球领先的联网模组、智能家居等物联网硬件方案提供商。
总阅读321
粉丝0
内容393