w800 具有 ble 功能,所以当我看到家里有几个蓝牙版的温湿度计之后,



不由想到完全可以用 w800 做主控,再搭配一个红外模块(淘宝上才几块钱一个),

就可以采集这几个温湿度传感器的温度,进而用红外模块模拟空调遥控器对室内空调进行控制,这就比那些空调自带的温度采集要准确了,控制家里温度应该可以达到更好的效果。
所以,第一步就是 w800 如何采集他们的温度。经过研究发现,小米温湿度计 2 和 pro 这两款可以在连接上之后,订阅服务 UUID 为 ebe0ccb0-7a0a-4b0c-8a1a-6ff2997da3a6 ,其特征为 ebe0ccc1-7a0a-4b0c-8a1a-6ff2997da3a6 之后,就可以每隔几秒拿到温湿度信息了。

对于青萍温湿度传感器采集更加简单,就不用连接了,其在广播中直接携带温湿度信息,所以只需要定期扫描接收 CG Beacon 帧即可,没啥好多说的了。
下面对 w800 连接小米温湿度传感器 2 做个示例。主要工作流程为:扫描附近的小米温湿度传感器 2,当其存在之后,连接它,连接之后订阅温湿度服务,然后就等着收到。需要注意,保持连接之后会加速消耗小米温湿度传感器 2 的电池电量,所以尽量定期连接一次,拿到温湿度之后断开它。
扫描:
struct bt_le_scan_param scan_param = {
.type = BT_LE_SCAN_TYPE_ACTIVE,
.options = BT_LE_SCAN_OPT_NONE,
.interval = BT_GAP_SCAN_FAST_INTERVAL,
.window = BT_GAP_SCAN_FAST_WINDOW,
};
bt_le_scan_start(BT_LE_SCAN_PASSIVE, scan_cb);连接:
🔒 本文后半部分需关注公众号解锁
请在公众号回复“文章解锁”获取验证码。

验证码 5 分钟内有效,单次使用