今日复盘1-26
今天主要是写骑行服蓝牙项目app版。走通元气搭档蓝牙协议。
工作中遇到的技术问题:
1、写入[106,0,0,32,5,50,50,50,69,151]报错【write characteristics failed:{"code":10007,"message":"property not support"}】,但是用调试工具写入6A 00 00 20 05 32 32 32 45 97成功
解决:
(1)确保数据和写入特征值准确,询问硬件人员是如何接收app发送出去的数据的
(2)硬件人员排除了特征值
(3)发app安装包给硬件人员,给他们调试,他们发现接收不到命令
(4)安装NRF安装包,将上个版本的设备与这个设备进行对比,特征值和服务方面没发现什么问题 www.downcc.com
(5)也不是写入命令的格式的原因
(5)最终发现问题【订阅200ms每条 阻塞了写入】
(6)如何使notify和read/write分开,互相不阻塞
(6)调大推送数据间隔,还是无效
(7)最终发现是read之后,监听特征值里面没有返回数据(推送的数据是Notify的,不是Read的),导致read和write这条线堵死,导致write一直失败
如何区分监听到的值是notify的还是read的?根据数据的characteristicId是等于read的characteristicId还是notify的characteristicId
(8)硬件进行修改

2、如何处理获取到的数据value?
解决:
var view = new DataView(value.buffer)
view.getUint16(3)

情绪问题:
平常心

学到了什么:
咱也不懂硬件,咱只能意会一下这个传输流程~~~
展开
评论