当前位置:网站首页>炎炎夏日教你利用小米智能家居配件+树莓派4接入Apple HomeKit
炎炎夏日教你利用小米智能家居配件+树莓派4接入Apple HomeKit
2022-08-05 03:42:00 【Jerry逸风】
前言
Apple HomeKit智能家居方案,是苹果2016年在WWDC大会上提出来的,至今已经6个年头。在国内一直是不温不火的状态,除了有小米智能家居的米家方案等一大堆国内厂商跟进外,苹果特有的“贵”也是其阻碍因素之一,一个智能插座或者空调伴侣动辄几百块的价格吓退了不少果粉(包括我)。另外小米的智能家居也是支持HomeKit(需要单独购买HomeKit的网关),以下则是如何不购买额外HomeKit网关前提下,利用树莓派实现Apple HomeKit智能家居方案。
接入过程
一、使用ssh登录树莓派,并配置相应软件包
接入Apple HomeKit 我们需要在树莓派使用npm包管理,如果没有安装npm请自行Goole解决,一般树莓派是使用apt-get安装,如果不行只能通过下载官网包安装。
然后通过npm安装,homebridge,以及homebridge-mi-acpartner(一个homebridge支持小米配件的插件)
sudo npm install -g -unsafe-perm homebridge
sudo npm install -g homebridge-mi-acpartner
然后输入homebridge回车,如果控制台出现一个二维码则为安装成功。
homebridge
二、获取小米(绿米)空调伴侣token
此处获取方式网上五花八门,如通过旧版米家一顿乱点(估计几年前的安卓包,能否使用位置)等等。这里推荐一个靠谱的方案,通过miio 插件。
//这里是使用自己的macbook获取,而非树莓派,window机器一样可行。
首先安装miio
npm install miio
之后将小米空调伴侣长按重置,它会出现不带密码的wifi,通过macbook连接该wifi.然后输入以下命令
miio discover
接下来就是见证奇迹的时刻,空调伴侣的token已经被发现了。
接下来就是按照小米官方的教程,连入自家Wifi,以及配置好智能空调遥控。基本上打开米家,点击添加就OK了。
此时再执行一次
miio discover
记录下空调伴侣的路由Wifi地址,一会需要用。
三、配置Homebridge的config.json文件
Homebridge的运行实际上是依赖config.json文件的配置来运行,结合homebridge-mi-acpartner插件上的参数,我们写入下面的配置。
cd .homebridge
//新建文件
touch config.json
//编辑文件,我这里使用nano, 看个人爱好
sudo nano config.json
写入如下配置
{
"platforms": [
{
"platform": "XiaoMiAcPartner",
"devices": {
"上面保存的米家空调伴侣的路由ip地址": "上面获取到的token"
},
"accessories": [
{
"name": "learnir_switch",
"type": "learnIR"
},
{
"name": "AC Partner",
"type": "climate"
},
{
"name": "ir_switch",
"type": "switch",
"data":{
"on": "FE00000000000000000000000006003222580031003C00AC01C2037A1388430201010101010101010202020202020202020101010101010100020202020202020201010101010101010202020202020583",
"off": "FE00000000000000000000000006003222580034003E00AB01C0037A1388430201000000010000000202020202020202020001000001000001020202020202020201010001000001010202020202020578"
}
}
]
}
]
}
重新启动homebridge
homebridge
通过iPhone家庭App扫描接入homeBridge,此时一顿确认后,家庭App就会出现三个开关了,分别是空调、风扇(已改名,对应的是上面的ir_switch),下面会继续讲解它是怎么来的(红外码的获取)。learnir_switch(红卡学习开关),用于获取红外设备的红外码。
四、配置自定义红外码
此处家里刚好有台风扇是有遥控的,我以此为例,聊聊如何复制风扇的红外码。上面的learnir_switch 开关配置后,通过家庭app打开learn开关,此时树莓派控制台会提示你可以开始记录了,这时你一分钟所有红外设备的红外码都会被捕捉并打印,如下,我们捕捉后填入on,off栏,此时一个自定义红外开关就完成了。
五、给你的HomeKit配置远程启动
上面的操作都处理完之后,你的HomeKit其实只能在家里本地网络使用才有效(手机和树莓派连接同一个路由器),如果你想要在回家的路上就远程打开空调预热,那你想要给HomeKit提供一个家庭中枢。简单点来说就是你需要有一个iPad或者Home Pod常驻家里,连接wifi,和iphone以及macbook等使用同一个Apple 帐号,并打开家庭中枢功能。我刚好有台iPad Pro在家,如下即可,那你就能享受回家前就提前打开空调的待遇啦。
六、树莓派启动进程保护
最后,也就是如何让homebridge常驻线程了,正常情况下如果你关闭了ssh,homebrige自然也给你close掉。我们如何实现退出树莓派,进程还在呢?那就要进程保护了,进程保护有很多种方案,这里我用一种最简单的。
安装screen
sudo apt install screen
在scrren中启动homebidge,然后直接关闭树莓派即可,具体screen的用法,请自行google.
//启动一个名字叫homekit的 screen
screen -S homekit
//此时会新建了一个新的窗口,然后启动homebridge
homebridge
末尾
本篇文章就到此为止,如果你有什么想法,欢迎留言评论哈,感谢大家耐心看完,也还请各位走过路过的来个一键三连,感谢~
边栏推荐
- Ice Scorpion V4.0 attack, security dog products can be fully detected
- Getting Started with Kubernetes Networking
- Based on holding YOLOv5 custom implementation of FacePose YOLO structure interpretation, YOLO data format conversion, YOLO process modification"
- 结构体初解
- 达梦8数据库导出导入
- 为什么pca分量没有关联
- Initial solution of the structure
- 开发Hololens遇到The type or namespace name ‘HandMeshVertex‘ could not be found..
- Redis1:Redis介绍、Redis基本特性、关系型数据库、非关系型数据库、数据库发展阶段
- 36-Jenkins-Job迁移
猜你喜欢
Getting Started with Kubernetes Networking
2022-08-04T17:50:58.296+0800 ERROR Announcer-3 io.airlift.discovery.client.Announcer appears after successful startup of presto
[Paper Notes] MapReduce: Simplified Data Processing on Large Clusters
UE4 通过互动(键盘按键)开门
2022-08-04 The sixth group, hidden from spring, study notes
MRTK3 develops Hololens application - gesture drag, rotate, zoom object implementation
Use Unity to publish APP to Hololens2 without pit tutorial
UE4 第一人称角色模板 添加冲刺(加速)功能
After the large pixel panorama is completed, what are the promotion methods?
YYGH-13-客服中心
随机推荐
Mathematics - Properties of Summation Symbols
Common open source databases under Linux, how many do you know?
From "useable" to "easy to use", domestic software is self-controllable and continues to advance
多御安全浏览器 V10.8.3.1 版正式发布,优化多项内容
ffmpeg 枚举decoders, encoders 分析
Leading the highland of digital medicine, Zhongshan Hospital explores to create a "new paradigm" for future hospitals
Thinking (88): Use protobuf custom options for multi-version management of data
21 Days Learning Challenge (2) Use of Graphical Device Trees
【Mysql进阶优化篇02】索引失效的10种情况及原理
包拉链不可用,但是是被另一个包。
The second council meeting of the Dragon Lizard Community was successfully held!Director general election, 4 special consultants joined
Burp installation and proxy settings
UE4 第一人称角色模板 添加生命值和调试伤害
There are several common event handling methods in Swing?How to listen for events?
调用阿里云oss和sms服务
Hard power or soft power, which is more important to testers?
How to discover a valuable GameFi?
Why is the pca component not associated
ffmpeg 像素格式基础知识
商业智能BI业务分析思维:现金流量风控分析(一)营运资金风险