|
—
本帖被 發騷友 设置为精华,作者+3000M币+5专家(2017-10-02)
—
今天玩点有意思的,用siri控制你家里的灯。 原料:nanopi neo X1, ESP8266 X1,Iphone X1,内存卡 X1 工具:读卡器 X1,USB转串口 X1 提高:继电器控制的灯X1,USB网卡 X1 涉及到的技术:linux,HomeKit,HomeBridge,Mqtt,Esp8266,NodeMcu,Lua 下面开始:
先爆个照,nanopi neo微型电脑板:
NanoPi-NEO 主板布局:
首先,需要给nanopi neo装个系统,镜像下载地址:https://pan.baidu.com/s/1boQFxN5,我选择的是画横线的那个:
下载下来之后,需要用到Win32DiskImager这个软件来刻录镜像,网上有很多,大家自己下就行,内存卡最好选用8G以上的Class10的卡,刻录的过程也比较简单:
选好镜像和要刻录的内存卡盘符点击write就可以了,大概10分钟可以刻录完。刻录完之后,插入内存卡,插好网线接到路由器上,然后进入路由器看一下nanopi的IP,我的显示设备名称是FriendlyELEC,找到IP之后我们就要来一场紧张刺激的ssh连接了,使用软件的名字叫:SecureCRTPortable,这个网上也可以下载到,下载成功之后,依次点击:文件->快速链接,然后按照下图配置你的SSH连接:
主机名替换成你在路由器中看到的IP用户名是pi,过一会会提示你输入密码,密码也是pi,然后点击确定就成功连到nanopi neo了,大概是下面这个样子的:
接下来需要安装HomeBridge了,HomeBridge是什么呢?(就是家里的桥。。。。。),我扯淡的,这个玩意是干什么的呢?HomeKit可能有人听说过,是苹果2014年发布的智能家居平台,现在有一些智能设备可以连接到HomeKit上面,但是呢,万恶的苹果肯定是不会降低门槛,支持的设备很少,并且很贵,这时候呢,就有一个吊B的人,把HomeKit的协议给逆向了,,,,写了这么一个开源的项目HomeBridge,让大家可以自定义一些设备接入HomeKit,(当然HomeBridge肯定是需要放在一个你家里WIFI下的一个设备上面运行啦,我选的就是nanopi)HomeBridge的git地址:https://github.com/nfarina/homebridge ,感兴趣的朋友可以去star一下,支持一下开源。
好了BB完了,该说怎么安装了,,,,,,一般牛逼的人看到源代码,估计就原地爆炸,直接自己编译安装去了,我可不打算这么干,现在有npm这么牛逼的包管理工具干嘛不用?,所以,首先我们需要一个npm,npm怎么安装呢?我发现系统镜像自带的软件源种没有,这样就只能自己安装了,一种方法是自己编译安装(我自然不会选择这种方式。。。),第二种是使用别人编译好的二进制包,二进制包去官网下就可以,地址:https://nodejs.org/dist里面有好多版本,我选的是最新的,你们选也不要版本太低。点开后里面形如:node-v8.6.0-linux-armv7l.tar.gz这个的就是要的包,然后在ssh中执行:
- wget https://nodejs.org/dist/v8.6.0/node-v8.6.0-linux-armv7l.tar.gz
速度可能比较慢,下载完成后,将包解压:
- tar -zxvf node-v8.6.0-linux-armv7l.tar.gz
然后将解压后的文件夹改个名字,然后扔到/usr/local文件夹里面去:
- sudo mv node-v8.6.0-linux-armv7l /usr/local/node
最后设置环境变量,使用vi修改:/etc/profile 这个文件,在其中加入一行:export PATH=$PATH:/usr/local/node/bin:. 然后执行下面的语句使环境变量立即生效。
然后就可以执行npm -v命令查看一下,安装是否正确了。确认安装正确后,需要安装一些依赖,安装HomeBrige的时候,会用到:gcc make node git python libavahi-compat-libdnssd-dev,因为我选择的这个镜像前面的基本都有了,所以只要安装libavahi-compat-libdnssd-dev就行了,所以执行:
- sudo apt-get update
- sudo apt-get install libavahi-compat-libdnssd-dev
安装好之后,就可以安装HomeBridge了,执行:
- npm install -g --unsafe-perm homebridge hap-nodejs node-gyp
安装个过程中不会有报错。安装完成之后就要启动一下试试了,不过启动之前还要配置点东西,首先,新建一个文件:config.json,我是在homebridge中建的,你也可以选择其他位置,然后编辑config.json,在其中写入配置:
- {
- "bridge": {
- "name": "HOME",
- "username": "02:81:55:07:0E:9B",
- "port": 30636,
- "pin": "000-01-002"
- }
- }
其中name就是你给你的homebridge起的名字,username是你设备的MAC地址,字母必须大写,port需要用合法的未被占用过的端口,pin是使用手机连接时需要输入的密码,写入后,保存,然后执行:
- homebridge -U homebridge/
后面的路径是制定你的配置文件路径。然后就可以看到开始启动了,启动之后大概是这个样子的:
然后打开你的iphone中的家庭那个软件,添加配件->没有代码或无法扫描->附近的配件,就能看到你刚才舍得名字的bridge了,然后点击它,输入你配置的pin,过一会就成功添加了。下面是我添加过的手机上面的截图,现在没有装插件,所以只能看到一个桥:
哎,没买到回家的票,今天还得苦逼坐班,,,,一会看机会就溜,回家接着写....
go on
|