是否有一种通用方法可以用您自己的 BLE 控制器替换 BLE 遥控器?

物联网 智能家居
2021-06-02 13:14:59

许多智能电器只能由原来的 BLE 遥控器控制。要通过您自己的智能家居系统控制此类设备,需要有一种方法可以用与您的智能家居系统兼容的东西替换原来的 BLE 遥控器。

更换 IR 遥控器并在空中捕获命令代码很容易,但是 BLE 遥控器和设备似乎有预共享密钥,如何使用您自己的 BLE 节点(例如 ESP32 节点)链接到设备以及如何知道命令格式?是否有一些现有的通用方法来做这些事情?

附录

例子:

示例 1,在某些给定条件下(例如,某个特定的人正在做一些特定的事情)打开/关闭 BLE TV 或切换 BLE TV 的 HDMI 频道。

示例2,一些设备(如智能马桶)内置离线语音命令识别,容易出错,想法是使用外部摄像头和/或在线语音识别系统,并在某些条件下自动向设备发送BLE命令。

笔记:

为什么不使用与现有标准智能家居系统(例如 Alexa)兼容的设备?

原因一:很多应用不支持这种方式,可能只支持与你的系统不兼容的系统。

原因 2:为了保护隐私,一种可能更好的方法是使用 ESP32/水果馅饼/PC 等构建自己的系统。

1个回答

有一些昂贵的蓝牙嗅探器可以让您捕获 BLE,包括配对时的密钥交换以及之后您可能需要的所有消息。

您可以找到一些更便宜的 BLE 嗅探器,它可以完成更大的嗅探器可以做的部分工作,它将能够捕获 BLE 数据,然后您将能够为其提供密钥,使其能够解密消息。在某些情况下,它们也可以进行密钥配对嗅探,但效果较差。

但即便如此,假设您能够获得一些密钥并查看交换的内容,您将很难对协议进行逆向工程,除非它是在适当的 BLE 服务上共享的标准 HID 代码。这对于“智能”设备来说是可能的,但不太可能。我希望大多数产品都提供带有自定义命令的非标准服务。

所以我想说,如果你想做一个可以与这些设备接口的产品,你能做的最好的事情就是联系产品制造商并索取数据表,这样你就可以在此基础上制造自己的产品。

但是,如果那是用于 DIY 项目,我不确定他们是否会向您提供数据表,除非您有充分的理由获得它或有前途的未来商机。例如,可以开发另一个 IOT 协议来统治所有这些,或者将他们的设备集成到现有的 IOT 堆栈中。