现在智能家居的兴起使得各路厂商都开始做自己的智能家居设备。国内智能设备整合最多的也就是小米(Mi)了。小米就是一个平台,底下有着许多生态链厂商,这些厂商的设备都整合到了米家,通过米家APP可以很方便的控制这些设备。但问题是,虽然米家APP整合了设备,但却无法在APP以外通过语音控制。而ios10以上的iPhone和iPad都有“home”这个app,就是用来控制智能家居的。我们为何不去把这些零散的厂商设备再一次整合到更方便更快捷的homekit上呢?
其实很简单,主要需要一个树莓派就可以做到。
准备材料
- 一张microSD卡
- 一个SD卡读写卡器
- 一个树莓派3B或3B+
- 一个WiFi环境
- 一台desktop(用来敲命令行,显示器也有作用)
- 一个iOS手机(只有iOS手机有homekit噢!)
- 一个ssh的软件(电脑手机都有)
准备工作
- 电脑上安装putty或者xshell软件,手机端可以用termius(还不错)。
- 电脑上安装ETCHER,去树莓派网站把Raspbian系统下载下来,并通过ETCHER烧录(Flash)到SD卡中。
- 将SD卡插入树莓派的卡槽,先通过HDMI线接到显示器上,再接通电源。这时候会有图形界面出现。
- 依次打开 菜单(Menu) > 首选项(Preferences) > Raspberry Pi Configuration,点击 Interfaces 栏,选择“enable” SSH服务。(因为默认是关闭的,虽然现在就可以配置,但是方便以后通过同一网段直接配置)
- 在图形界面右上角找到WiFi开关,打开并连接到你家里的WiFi(必须连接到米家网关连接的WiFi上,不然多个WiFi网段是不一样的,无法找到设备)。
支持的设备
Device Name | ||
---|---|---|
1 | Gateway(网关) | gateway gateway.v3 |
2 | ContactSensor(门磁感应) | magnet sensor_magnet |
3 | MotionSensor(人体感应) | motion |
4 | Button(按钮) | switch sensor_switch |
5 | TemperatureAndHumiditySensor(温度湿度传感器) | sensor_ht |
6 | SingleSwitch(单按钮墙壁开关) | ctrl_neutral1 |
7 | DuplexSwitch(双按钮墙壁开关) | ctrl_neutral2 |
8 | SingleSwitchLN(单按钮墙壁开关零火版) | ctrl_ln1 ctrl_ln1.aq1 |
9 | DuplexSwitchLN(双按钮墙壁开关零火版) | ctrl_ln2 ctrl_ln2.aq1 |
10 | SingleButton86(86型无线单按钮开关) | 86sw1 sensor_86sw1.aq1 sensor_86sw1 |
11 | DuplexButton86(86型无线双按钮开关) | 86sw2 sensor_86sw2.aq1 sensor_86sw2 |
12 | PlugBase(插座) | plug |
13 | PlugBase86(86型墙壁插座) | 86plug ctrl_86plug ctrl_86plug.aq1 |
14 | MagicSquare(魔方) | cube sensor_cube sensor_cube.aqgl01 |
15 | SmokeDetector(烟雾报警器) | smoke sensor_smoke |
16 | NatgasDetector(天然气报警器) | natgas sensor_natgas |
17 | ElectricCurtain(电动窗帘) | curtain |
18 | ContactSensor2(门磁感应第二代) | sensor_magnet.aq2 |
19 | MotionSensor2(人体感应第二代) | sensor_motion.aq2 |
20 | Button2(按钮第二代) | sensor_switch.aq2 |
21 | TemperatureAndHumiditySensor2(温度湿度传感器第二代) | weather.v1 weather |
22 | WaterDetector(水浸传感器) | sensor_wleak.aq1 |
23 | Lock(门锁) | lock.aq1 |
24 | AcPartner(空调伴侣升级版) | acpartner.v3 |
25 | Button3(按钮第二代升级版) | sensor_switch.aq3 |
26 | DuplexButton862(86型无线双按钮开关升级版) | remote.b286acn01 |
27 | VibrationSensor(动静贴) | vibration |
Show Time,开始配置(敲命令行)
更新一下各种包
图形界面左上角有一个黑糊糊的窗口样的东西,点击打开他,这就是终端,相信用过macos的同学都知道(你们怎么这么有钱哒lol)。然后默认的用户名是pi,初始密码是raspberry。先设置一下root密码,输入密码是没有*的,所以要一次输对,否则连长度都不知道。
pi@raspberrypi:~ $ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
pi@raspberrypi:~ $ sudo passwd –unlock root
passwd: password expiry information changed.
pi@raspberrypi:~ $ su root
Password:
root@raspberrypi:/home/pi#
然后改了pi的密码:passwd pi
完成以后就可以开始更新,输入:apt-get update && apt-get upgrade
坐等更新结束,中间可能会让你(y/n)确认,一律输入y并且回车。如果嫌麻烦直接用这个:apt-get -y update && apt-get -y upgrade
安装node.js环境
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash –
sudo apt-get install -y nodejs
这两行代码依次执行,会安装到最新稳定版
输入:node -V或者nodejs -V查看版本,如果不是6.x及以上,建议重新执行命令,或者直接去下载6.11.2的安装包:
wget https://nodejs.org/dist/latest-v6.x/node-v6.11.2-linux-armv7l.tar.gz
tar -xvf node-v6.11.2-linux-armv7l.tar.gz
sudo mv ./node-v6.11.2-linux-armv7l /usr/local/node
sudo rm -rf /usr/bin/node
sudo ln -s /usr/local/node/bin/node /usr/bin/node
sudo ln -s /usr/local/node/bin/npm /usr/bin/npm
最后还是要检查一下版本:node -V.
安装 avahi 包
这个包下载有点慢的要有耐心
sudo apt-get install libavahi-compat-libdnssd-dev
安装homebridge
sudo npm install -g –unsafe-perm homebridge
安装 homebridge-mi-aqara
sudo npm install -g homebridge-mi-aqara
查看米家网关的一些信息
原创文章,作者:喵了个咪,如若转载,请注明出处:https://evolbrain.com/scientific/289.html