设备id_怎么快速获得Tuya涂鸦智能设备的id及Key实现本地局域网控制

本文介绍了如何在本地局域网中控制使用涂鸦智能方案的设备,强调了本地控制的可靠性与低延迟优势。由于涂鸦App更新导致无法通过tuya-lan插件获取设备ID和LocalKey,作者分享了一种非商用方法,通过安卓模拟器、智能生活App和文件浏览器提取设备信息,以便在Home Assistant或HomeBridge中实现本地通讯控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于智能家居玩家,应该深有体会,本地局域网才是王者,云接入云控制是增值服务。为什么这么说呢,因为本地局域网控制与自动化最可靠,低延迟,不受互联网影响,所以能局域网的都会局域网。

27999d1722c5691299dddd7362efc6a0.png

涂鸦智能已成为一家优秀的全球化智能家居解决方案提供商

涂鸦智能建立的是个智能家居解决方案,所以海内外都出现很多采用涂鸦方案的智能设备,这些设备通过涂鸦智能,智能生活,优科曼家等多个公版定制App接入,其实采用的都是同一套tuya web协议。

e5e7674df9f560ca5e86818be4bb4b9d.png

ESP8266芯片模组

其实,涂鸦方案是可以在本地局域网执行的,主要采用了esp8266芯片,该芯片如果您擅长刷录,您甚至可以直接刷成直连Homekit的设备,类似开源镜像非常多,这里我们不谈那么多,主要讨论如何获得设备id和设备的localkey来实现本地通讯控制。

9609b4821610f353c7d3a94912d11a51.png

硬刷ESP8266的Arduino-HomeKit-ESP8266项目

之前涂鸦的局域网设备id和key可以通过tuya-lan 插件进行查询发现,最近涂鸦全系App都加密了,因此封了这条路。那是不是本地控制就没希望了呢,这里小编提供个方案,供非商用个人爱好者测试,同时不对产品接入及出现问题承担任何责任。

ae258004081f3f17807dd2e196547a3a.png

雷电安卓模拟器

首先下载个安卓模拟器,打开root功能,下载个智能生活,本测试以3.6.1版本为例子。在模拟器中安装上智能生活App,用您添加过设备的账号密码登陆。

85fc33d995e02fccfaa64b5e2fffb0b7.png

安装上智能生活或者涂鸦智能登陆上绑定了设备的账号

成功登陆后,打开或者安装个文件浏览器,本测试以ES文件浏览器为里,同样打开Root工具功能,去到/data/data/tuya.smartlife/sharedpref/文件夹,找到类似preferences_global_keyayXXXX.xml这个文件并把它存到电脑。

c74680efca322e691780d2400aec38ca.png

ES文件浏览器找到所在的目录

利用xml viewer等xml浏览器,打开该文件,既可以在结尾的数据值中获得设备的id及localkey。然后有了该id和localkey,您就可以愉快的把设备整合进home assistant或homebridge。

295ab95624a3bd4b602141c378965a67.png

把该文件复制到电脑用于处理

其实home assistant,homebridge已经整合了tuya的云接口,如果还执着于局域网,那就按上面的方式试试吧。

7e28ea2f99a5bb88e20f56a58e96f412.png

利用Xml浏览器打开该文件获得key

### 使用涂鸦智能平台与ESP8266进行WiFi连接或配置 #### 准备工作 为了使ESP8266能够成功接入涂鸦智能云服务并完成Wi-Fi网络设置,需确保硬件环境已准备好。具体来说,应选用支持Wi-Fi功能的ESP8266开发板,如mini D1 Wi-Fi ESP-12F N ESP8266[^1]。 #### 注册账号与创建产品 访问涂鸦智能官方网站注册开发者账户,并登录进入控制台页面。按照指引新建一个虚拟设备模型,在此过程中定义好产品的类别以及所涉及的功能属性。 #### 获取必要的认证信息 在创建的产品详情页内获取用于后续编程所需的Product ID (PID),Local Key等重要参数。这些将在编写固件代码时作为必要输入项加入其中。 #### 编写初始化代码 采用Arduino IDE或其他兼容IDE加载适用于ESP8266芯片的核心库文件。接着参照官方文档说明构建项目框架,重点在于实现以下几方面: - **Wi-Fi连接逻辑** 实现自动扫描周围可用无线信号源并与指定SSID建立关联的能力。 - **MQTT协议通信接口** 构建基于TCP/IP传输层之上的消息队列遥测传输机制,以便于同云端保持实时交互。 - **OTA空中下载更新支持** 提供远程推送新版本固件包至终端节点的服务选项,简化维护流程的同时增强了系统的灵活性。 ```cpp #include <ESP8266WiFi.h> #include <PubSubClient.h> // 替换成自己的Wi-Fi名称和密码 const char* ssid = "YOUR_SSID"; const char* password = "YOUR_PASSWORD"; // MQTT Broker地址,端口号及客户端ID const char* mqtt_server = "broker.tuya.com"; const int mqtt_port = 1883; const char* client_id = "test_client"; WiFiClient espClient; PubSubClient client(espClient); void setup_wifi() { delay(10); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); // 开始尝试连接Wi-Fi while (WiFi.status() != WL_CONNECTED) { // 循环等待直到成功连网 delay(500); Serial.print("."); } randomSeed(micros()); Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void reconnect() { // Loop until we're reconnected while (!client.connected()) { Serial.print("Attempting MQTT connection..."); if (client.connect(client_id)) { Serial.println("connected"); } else { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); delay(5000); } } } ``` 上述代码片段展示了基本的Wi-Fi连接过程及其后的MQTT重连策略[^2]。 #### 测试验证 编译上传完成后重启设备观察串行监视器输出日志确认一切正常运作。此时应当能看到有关Wi-Fi状态变化的消息提示,表明已经顺利加入了目标局域网;与此同时也会有来自MQTT代理服务器反馈的信息显示,证明双方之间建立了稳定可靠的通讯链路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值