难道这是死机的问题?

事情是这样的

BLE网关收集NODE的数据上报到WIFI

在数据中都是NODE传感器的数据

而有一个需要上报的数据是信号强度 这个数据不能通过NODE采集

因为它是网关发现该NODE时BLE协议栈监测的数据

所以设计的一个 生产者-消费者模型 来处理这个数据

生产者---在BLE连接的时候 保存下来

难道这是死机的问题?

就是这里 把MAC-信号强度保存下来

 

生产者--当准备数据打包TX给WIFI发时候就去读出来 根据MAC找到它的信号强度

难道这是死机的问题?

下面 看一下这2个函数

难道这是死机的问题?

消费函数 read_rssi_buffer 看上去没有问题 找得到就返回比如-35这样真实数据

如果找不到 就返回0 也没有关系 数据可以发出去的

 

生产函数 insert_rssi_buffer 看上去有天大的问题 它本质是一个数组 每次往里面放东西

它的id一直在++ 从没有控制过!!!

增加LOG

难道这是死机的问题?

果然 到死机的时候 就是上限的时候

难道这是死机的问题?

 

现象是 网关没有复位 就是跑到后面几个LOG 没有动静了 好像悬空一样

另外一个疑惑的问题是 这个问题很明显 为什么之前一对一连接的时候 不会这样呢?

 

上一篇:普及一下什么是蓝牙和BLE,看完让你秒懂


下一篇:蓝牙芯片方案|伦茨科技-抖音遥控器方案