1 概述
蓝牙防丢器公版sdk支持涂鸦蓝牙防丢器的所有功能。
客户可基于公版sdk做适当裁剪或优化,实现个性化的防丢器产品,用于接入涂鸦智能云平台。
2 软件架构
app:应用层,dp点解析 + 业务逻辑
app_port:隔离层,用于隔离业务逻辑和驱动层
tuya_ble_sdk:涂鸦通用配网协议
芯片原厂sdk:原厂底层 + 驱动层
component:一些常用的第三方组件
2.1 app
2.1.1 app_lock
- lock_common:未分类的
- lock_hard:串口模拟硬件(入门或调试用)
- lock_dp_parser:dp点解析,数据方向:手机→设备
- lock_dp_report:dp点上报,数据方向:设备→手机
- lock_timer:定时器
- lock_music:铃声
- lock_test:整机产测,暂未使用
2.1.2 app_common
- app_common:未分类的
- app_flash:本地存储管理
- app_active_report:主动上报功能(防丢器未使用)和ibeacon功能实现
- app_test:授权
- app_port:如下
2.2 app_port
底层接口封装,为app层可能用到的所有接口提供统一的命名和管理,使应用层成为一个独立的模块,方便移植。
2.3 tuya_ble_sdk_demo
- tuya_ble_app_demo:tuya_ble_sdk的初始化和事件处理,头文件是常用参数配置
- tuya_ble_app_ota:涂鸦OTA功能
- tuya_ble_app_product_test:未使用,已在app_test文件中实现
- tuya_ble_app_uart_modual_handler:未使用
2.4 tuya_ble_sdk
涂鸦低功耗蓝牙通用配网sdk,实现低功耗蓝牙设备和手机APP之间的配网流程和基础通信协议。
详情参考:tuya_ble_sdk
2.5 component
cpt_……打头的group,第三方组件
2.6 芯片原厂sdk
2.6.1 suble
super ble,蓝牙和常用外设相关的驱动封装
- suble_common:未分类
- suble_scan_adv:扫描和广播
- suble_:ble参数
- suble_svc:服务和特征值
- suble_gpio:gpio
- suble_uart:串口
- suble_flash:flash
- suble_timer:定时器
- suble_key:按键
- suble_battery:电池电量
- suble_util:常用工具api
- suble_test:研发测试用
2.6.2 System,config,ip,driver,profile,app,lib
原厂文件
3 重点解析
3.1 Flash分区表
3.2 更换pid
如上图所示位置,可以进行常见的参数配置:
- 更换pid
- 更换默认授权信息(device id,auth key,mac)
- 设置固件标识名
- 设置固件版本号
- 修改蓝牙广播间隔
- 修改蓝牙连接间隔
3.3 配置铃声
结尾