首页 > 编程知识 正文

小米手机无法获取设备识别码,小米手机绑定账号和设备验证失败

时间:2023-05-05 10:45:27 阅读:44041 作者:1149

小米设备token获取家庭助手安装部署小米智能设备token获取miIO-discovery获取token和控制app直接token获取数据库获取token开源智能家庭平台

近两年物联网及其相关技术发展迅速,各种智能设备逐渐进入我们的生活,随之用户们也越来越向往智能化的生活。 但是,目前智能家居市场的产品分散,单一厂商很难完全满足用户的需求,多个厂商产品无法本地联动,也可能是家居智能面临的问题。 本文主要介绍小米设备拥有token和局域网控制,开源智能家居平台HomeAssistant的部署和使用,使家庭中多种智能设备实现联动。

美国智能设备token为了消除对专有软件(美国APP )的依赖,美国设备提供了通过局域网进行控制的方式。 在使用此局域网控制协议之前,必须获取设备token。 接下来,我将介绍小米设备获取token的几种方法。

miIO-discovery获取token在与控制设备和美国app相同的局域网上使用的加密专有网络协议。 这被称为miIO协议。 该协议基于UDP,使用54321端口进行通信。 有关具体功能,请访问github地址3359 github.com/rytilahti/python-miio。 此库的目的是支持所有miio兼容设备,并对设备类型和控制方式进行分类,以简化交互。 此库必须安装在Python3.5或更高版本中,首先要构建Python环境。

Python3.5的安装依赖于sudo apt-getinstallbuild-essentiallibsqlite3- dev sqlite3 bzip2 libbz2- dev libssl-devopensslibgdbm line-dev libncursesw5-dev编译python 3.5 wget https://www.python.org/FTP/python/3.5.2/python-3.5.2.2 python3.5 makemakesudomakeinstall编译后运行python 3.5,结果证明安装成功,如下所示

安装miIO库,并将库代码下载到本地git clone https://github.com/rytilahti/python-miio以获取此设备token。 访问python-miio/miio目录discovery.py文件主要是获取设备token的方法。 为了直观地提取套接字的主要实现代码,请在python-miio/miio目录中编写以下脚本miio_test.py : (如果向设备ip的54321端口发送固定字符串,则返回值为token。 )

#-* -编码: utf8- * - importcodecsimportsocketfromprotocolimportmessagehelobytes=bytes.from hex (21310020 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 54322222222 ADDR=s.recvfrom(1024 ) m=message.parse ) data ) tok=codecs.encode ) m.checksum,' hex ' ) print

可以通过运行控制脚本并输入套接字的ip和token两个参数来查看当前套接字的状态。 通过向这两个参数添加on/off,可以控制该设备

这种方式支持取token的有小米空气净化器、净水器、扫地机器人、智能插座插线板等。 具体列表为3359 github.com/rytilahti/python-miioapp直接token获取通过上述miio探测方法获得很方便,但目前仅支持部分小米设备。 其次,还有一种直接从APP获取token的方法。 以小米绿米网关为例,首先下载米家APP,将绿米网关配置到入网处,然后点击网关设备。 下一步是组图,如下所示,最后一个密码是网关的token。

目前,绿米的这一设计模式对用户最方便,而且设备所有者也可以选择是否开放局域网控制和刷新控制token的有效性。 就个人而言,希望小米的其他设备也同样开放app端获取设备token。 这是因为,检索需要构建复杂的环境和调试代码,大多数用户应该不能接受。

获取并获取dbtoken步骤1

一部安卓手机的root权限
 第2步,安装米家app并登录账号
 第3步,进入/data/data/com.xiaomi.smarthome/databases/
 第4步,拷贝miio2.db,下载到电脑
 第5步,前往网站(http://miio2.yinhh.com/),上传miio2.db,点击提交,即可获得token。
没有具体测试这种方式获取token,可以参考这个链接(https://homekit.loli.ren/docs/show/12)

开源智能家居平台HomeAssistant安装部署

上文给大家介绍了获取小米设备获取token方法和插座的简单控制,如果想自动化或者实现多设备联动的话还需要写代码,不会被所有的用户所接受,接下来给大家介绍下一款开源智能家居平台——HomeAssistan,只要几步部署,就可以轻松实现多厂商设备的联动。

HomeAssistant简介

HomeAssistant为开源的智能家居平台,可以识别和直接连接的外部设备有将近千项。其中有各种商业化的智能产品(如小米系列产品、Philips智能灯系列、亚马逊的音响、苹果的Siri、bbdgb、BroadLink的产品、特斯拉汽车等)、有互联网上的各种实时信息(股票、汇率、交通、天气等)、有开源或开放的各种智能软件(人脸识别、车牌识别文字识别、文字转语音、语音转文字等)、有各种联动机制(短信、Email等)

安装部署HomeAssistant 安装HomeAssistant pip3 install HomeAssistant 启动HomeAssistant hass

第一次启动HomeAssistant,因为要安装相关依赖,大概要等上10几分钟,通过浏览器访问树莓派的8123端口,如果看到如下页面,证明安装启动成功。

将小米设备配置到HomeAssistant

进入.HomeAssistant目录,编辑configuration.yaml,添加小米网关和Wi-Fi插座的配置参数,token为按照上文你获取到的字符串:

switch: #小米插座配置参数 - platform: xiaomi_miio name: Xiaomi Mi Smart Power Strip #设备名称 host: 192.168.42.17 #设备IPtoken: YOUR_TOKEN #设备密钥xiaomi_aqara: #小米网关配置参数 gateways: - mac: DEVICE_MAC #设备mac key: YOUR_TOKEN #设备密钥

配置文件修改完成后重启hass,再次访问HomeAssistant主页看到新增Xiaomi Mi Smart Power Strip(配置文件里面的name字段)和GatewayLight设备,这就证明配置完成,点击对应的控制按钮就可以控制该设备了。

HomeAssistant可连接设备

HomeAssistant支持数以千计的设备,这里只举一些列子,比如支持控制小米的设备,BroadLink设备,自己开发的MQTT设备。还可以通过插件支持一些智能语音输入控制,比如安装HAbridge可以使用亚马逊echo音箱、京东音箱和天猫精灵控制HomeAssistant支持的设备,安装HomeBridge和homekit就可以让IOS的Siri控制设备。这里就不一一罗列,具体的详细支持见官网列表

总结

从小米、京东微联、博联等智能家居设备体验来看,智能的并不尽人意。首先,虽然都可以生成若干场景,但大多是自己玩自己的,不同厂商之间无法实现联动;其次场景略显单一,假如用户想实现每次出门之前提醒天气,如果今天是雾霾/雨天提醒用户带口罩/雨具,类似这样的场景是实现不了的。因为缺乏与互联网信息联动的接口,并且大多数厂商的智能音箱与其他设备交互仅仅是语音控制。可能就是考虑到用户的个性化需求,就有了类似HomeAssistant这样的智能家居平台,将各式的资源整合到一起,使得家居距离智能更近了一步。当然,从目前的智能家居市场来看,单独一个智能设备厂商不太可能让所有用户仅使用自己的设备,所以给用户一些控制的“自由”,对厂商来说应该是个不坏的选择。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。