# 蓝牙应用开发

# 简介

记录该项目每日进程

  • 编辑器设置
  • 协议制定(最好硬件方提供)
  • 功能实现测试页

# 名词

  • 数位: 一个十六位二进制数是一个字节,如 FF:EE 是两个字节
  • 设备: 一个设备下有多个服务
  • 服务: 一个服务下有多个特征
  • 特征: 每个特征都有各自的是否可读写权限,当有可读权限时才可获取特征值
  • ArrayBuffer: 一个用于创建内存大小的原型对象,十六进制数,如 new ArrayBuffer(2) 创建了两个字节的空间
  • uint: 无符号整型数。如 Uint8 为 8位二进制无符号整型数,占一个字节
  • 模二除法: 按位异或

# 编辑器设置

参照wepy的文档,进行一些编辑器上的设置,需要补充的是,vscode 中的 beautify 插件不支持wpy格式,需下载wepy对应的beautify进行格式化,推荐wpy-beautify。

# BLE

将文档中接口写入测试页中,拿取设备进行测试

# 测试项

第一阶段:不需要设备

  • 蓝牙适配器初始化
  • 关闭蓝牙模块
  • 获取适配器状态
  • 发现周围蓝牙设备
  • 停止获取周围蓝牙设备
  • 获取已发现蓝牙设备列表
  • 获取已连接蓝牙设备列表(需固定设备ID)

第二阶段:需要设备

  • 连接蓝牙设备
  • 断开连接蓝牙设备
  • 获取蓝牙设备服务列表
  • 获取指定服务对应的特征列表
  • 获取指定特征

第三阶段:需要设备特征有可通知权限

  • 订阅特征值
  • 接收蓝牙设备发出的特征值(小程序无法显示二进制数,所以需转成十六进制数,并提供给硬件工程师校验是否正确)

第四阶段:需要设备有一个可写特征

  • 写入特征值

第五阶段:需要拟定好的蓝牙数据传输协议

  • 根据协议规则封装一个解包(蓝牙设备传输过来的数据)和封包(发送给蓝牙设备的数据)的方法
  • 类似get和post请求的方式,根据上述方法封装写入特征值方法和读取特征值方法

第六阶段:接入业务逻辑

Last Updated: 4/17/2025, 11:55:44 AM