本地控制使用指南
概述
ESP RainMaker 提供了本地控制功能,当设备和手机连接到同一 Wi-Fi 时,可以更快、更可靠地控制设备,无需连接互联网。
要了解什么是本地控制,请参阅此文档。
本地控制默认配置
默认配置
- 在组件层面,此功能默认禁用。
- 最初,本地控制功能仅依赖于 Wi-Fi 层级的安全机制。同一 Wi-Fi 网络中的任何客户端都可以通过 HTTP 发现并控制设备。(尽管手机应用程序只会显示实际与用户关联的设备)。
- 目前,已经支持更安全的本地控制方式,使用安全级别为 1(简称 sec1)的加密通信。
因此,建议在项目的默认 sdkconfig 中启用此功能。
使用指南
启用本地控制
要在项目中启用本地控制,请前往默认 sdkconfig 进行如下设置:
- 设置
CONFIG_ESP_RMAKER_LOCAL_CTRL_ENABLE=y。 - 设置安全模式为 1:
CONFIG_ESP_RMAKER_LOCAL_CTRL_SECURITY_1=y
ESP-IDF 兼容性
安全本地控制目前可以兼容 ESP-IDF release/v4.2(release v4.2.2 后发布版本)、release/v4.3(release v4.3.2 及更高版本)和所有更新的版本。
请使用最新版本的手机应用,确保正常使用。当设备在本地网络中可控时,手机应用中会显示为 Reachable on WLAN(可通过 WLAN 访问)。如果是“安全”会话,还会在旁边显示一个锁形图标。
添加新设备仍需连网
添加新设备时,仍需连接互联网。只有在用户节点关联成功后,设备才会显示为本地网络可用。
如需了解在本地控制中进行安全性管理的更多内容,请参考本地控制服务文档。
实现参考
ESP IDF 提供了一个名为 ESP 本地控制的组件,该组件使用基于 mDNS 的发现机制和基于 HTTP 的控制方式。这个组件现已集成到 ESP RainMaker 中。此功能不依赖云端,因此无需互联网连接即可正常工作。
为什么不使用 HTTPS?
仅使用 HTTPS 本身并不足以确保安全,还需要实现双向认证。这需要为设备和用户(手机应用程序)分别配置唯一的证书。
- 对于用户,同一用户的所有手机或客户端应使用同一份证书,以确保身份一致性。
- 某些手机操作系统(如 iOS)不允许使用自签名的服务器证书,设备证书的配置过程将更加复杂。