零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

关于智能家居的原创本站已有不少,楼主在搭建自己的智能家居控制中心的时候也几乎把本站所有的相关原创也都读了一遍,对我的搭建工作也颇有帮助,在开篇先行谢过各位。有用到大家原创内容的时候会在相关段落插入卡片方便大家参考。本文篇幅较长,建议有兴趣的先收藏,然后动手的时候照着做。不然读起来非常枯燥乏味。

首先要说的是搭建智能家居的初衷。因为自己在很早以前就购入了博联的SP mini智能开关,用来远程控制家里的净化器。而后也买过鸿雁的智能开关,结果发现坑爹是需要零火线才能工作,这个要改造实在是大工程,只得放弃,好在后面小米生态链的aqara也就是绿米推出了单火版的墙壁开关,配合小米网关,可以非常方便的与其他小米产品进行联动控制。但是问题来了,一般而言,现在大多数的智能家居大多都是通过手机APP来操控和管理设备,而不同品牌的设备之间也不互相兼容,要通过各自的APP才能进行操控,更不要说联动了。这就非常的不好了,要知道要我打开个app操控设备,本来就已经觉得很烦躁了,更何况还要装多个app。所以一直在动心思想说如何打通小米和博联这两个互相独立的智能家居系列,也是本篇原创的核心内容。当然,除此之外,这个系列还将涉及到的内容将会有:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

将飞利浦livingcolors Gen2接入智能家居,Gen2是比较尴尬的一款livingcolors产品,它不像G1那样使用简单的2.4G遥控进行控制,而是使用了zigbee网络,但它又不被Hue网络直接支持,所以下一篇文章里我们会说livingcolors Gen2与Hue Bridge之间的联通。

然后是自己DIY的AirSense空气检测仪接入domoticz的步骤,楼主在其他文章里多次提及这么个小玩意,也答应过大家会把所有源码放出,只是现在还没时间做连入domoticz的代码编写,相机可能会先放出不联网版的教程(写原创真的是件气力活啊,这样的文章没有5,6个小时根本完不成)。

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

既然domoticz已经能获得家中空气数据,那么接下去要做的就是联动了,包括对空气净化器,新风设备的联动。当然,其中最简单的联动是通过智能插座的开关来控制,不过这个没什么技术含量,所以主要会提到的是针对DIY空净/新风的可选择档位的联动和红外线遥控。

好了,坑先挖这么大,让我们来慢慢填。今天先讲到的内容主要涉及以下设备:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

首先是一块树莓派开发板,这是整个智能家居的控制中心,所有的程序都将在这块开发板上运行。当然,并不一定要求你买一块树莓派,因为文中涉及的所有软件都可以在windows,Mac OS,以及Linux甚至群晖上运行。只是楼主是比较喜欢一件事情交给一个设备做,这样某一个功能有问题修复起来也不会影响到其他功能的使用。楼主用的开发板是rasberry pi 3B。

这是购买链接,马家会便宜些。对了,不要忘了给你的树莓派配张TF卡哦,16G的就足够了。

然后是小米智能家居套装:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

这儿虽然说的是小米智能家居套装,但实际上指的是绿米(aqara)的产品,除了图中所示的这些外,还有温湿度传感器。墙壁插座、开关等。至于米家的其他产品,无论是空气净化器,还是智能插线板都是不支持的。说白了,其实domoticz支持的只是网关,所以连接在网关上的设备都可以被支持,其他的产品目前只有yeelink的灯开放了协议可以单独添加。以下为目前能连入domoticz的所有配件(注:网关需为2代以上,即带网络收音机的网关)

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

而博联的设备楼主只有SPMINI插座,但是R2网关,A1检测仪也是能被支持的,不过讲真,如果你手上没有博联设备的话,建议不要去买了,各方面都远不如米家,特别是安全性,在下文会讲到,只要知道博联设备的地址,就可以轻松的发送指令来对其进行操作,完全没有任何的用户验证措施。

树莓派系统的安装

这是最基础的一部工作,虽然网上有很多版本的树莓派系统,但是为了以后出问题可以非常方便的找到各种解决方案,所以这儿推荐大家使用官方的Raspbian系统:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

下载地址:

建议使用迅雷下载,下载完了解压,会得到一个201X-XX-XX-raspbian-jessie.img文件,我们放着待用。

然后下载SDFormatter用来格式化TF卡。下载完安装了就直接把TF卡格式化一遍,这个步骤就不用说了。

下载地址:

接着我们还需要一个工具Etcher,将img文件烧录到tf卡中。

下载地址:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

按步骤:1.选择刚才下载的raspbian-jessie.img。2.选择TF卡驱动器。3.FLASH,静待完成就好。

等Etcher把系统镜像烧录至TF卡后,我们就可以把TF插到树莓派里,然后启动树莓派,这里特别提醒,树莓派3b请使用5V 2A以上的电源适配器,并且电源线要尽可能的短,越短越好。

在做第一步设置的时候,我们还需要一台HDMI的显示器或电视,鼠标和键盘都与树莓派连接好再开机。

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

很快就能进到图形桌面了,楼主这儿展示用的是VNC远程,所以显示比例啥的都有些问题,大家不用介意。这儿要做的第一步是连接上无线网。

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

点右上角的WIFI图标,选择SSID,然后输入无线密码就成。不过这儿需要额外多做一步,就是把IP地址设为手动静态,毕竟我们是做服务器用的,动态地址每次断链之后都可能变化:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

具体做法是右键单击右上角的WIFI图标选择第一项Wireless&…..

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

然后interface右边选择wlan0,把Automatically….的框勾掉,在下面填上你家里局域网的IP地址和网关,DNS服务器等。然后点击apply后关闭。然后打开浏览器看看能不能正常上网:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

OK,没有问题,下一步就是打开SSH,毕竟老接着鼠标键盘显示器用树莓派也不是很方便是不。

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

点击树莓派图标,选择Preferences>Raspberry Pi Configuration。

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

然后选择interfaces选项卡,将SSH Enabled,点击OK。然后就可以把树莓派关闭,拔下鼠标键盘显示器,把它挪到任意一个WIFI信号良好的地方(注意,一定要保证其WIFI信号良好)。

然后我们下载putty,因为官网被墙,为了不给大家造成困扰,所以请大家自行百度下载就是了。记得选大的下载站以免造成不必要的损失。下载完成后打开putty,界面如下:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

在host name里填上刚才设置的树莓派的IP,Connection type选择SSH。然后OPEN。当然,为了下次连接方便,你可以在Saved Sessions里填上一个名称,点击save,以后就可以直接双击打开。

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

输入用户名pi,默认密码是rasberry(输入密码时光标不会变化,输完回车就行)

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

看到pi@raspberrypi:~ $的提示行就算成功了,下面我们要做的第一步就是把默认密码改掉。命令如下:

sudo passwd pi

ctrl C复制灰框里面的命令,到putty窗口右键就可以粘贴。

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

它会让你输入两次新密码,两次一致的话密码就修改成功了。

接着我们要设置的是树莓派的时间和时区。首先要做的是打开NTP,让树莓派时间与网络时间同步:

sudo timedatectl set-ntp true

接着是设置时区:

sudo dpkg-reconfigure tzdata

会出现下面的界面:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

在中国的话我们就选择Asia,然后回车,然后选择Chongqing就好了。此时终端会回到命令行模式。同时在命令行上方我们可以看到Local time is now:……,大家核对下是不是和自己的时间一致,一致的话树莓派的时间就算设置完成,为了让我们等会安装更顺畅,接着我们设置镜像源,命令如下:

sudo nano /etc/apt/sources.list

在开头添加:

deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib

deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib

然后在原有的镜像源前方加上#,如下图:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

然后按Ctrl X退出(记得选Y保存)。然后运行下命令sudo apt-get update,更新下镜像源。

sudo apt-get update

至此,我们的树莓派系统已经完全和设置完成。下面我们就要说domoticz的安装和设置了。

domoticz的安装和设置

为啥楼主使用domoticz,先说通过homebridge-aqara来实现小米网关设备联入homekit,这个做法无疑是最简单的,但是其仅仅支持aqara设备,并且不支持网关灯以及小米无线开关(其实是homekit不支持小米无线开关的多段模式)。并且不能跨平台使用,也就是这个仅限于ios10以上的设备才能使用,局限性太大,所以楼主放弃了。

而Home Assitant Homebridge能够做到跨平台使用,也能做到控制网关灯,但是依然不支持小米无线开关(待确认),不过更重要的是,他设备添加配置都需要添加修改yaml文件。使用起来还是不便。

总体上domoticz很强大,以及对arduino和ESP8266的支持。最关键的是,domoticz配置好之后添加设备啥的几乎不用再去命令行模式下修改任何文件。可以全部在web界面完成。当然,缺点是……UI太丑……。哈哈,楼主费了好大劲才扳回来点……,好了闲话不扯,下面说domoticz的安装:

domoticz的安装非常方便,就一行命令:

sudo curl -L install.domoticz.com | sudo bash

然后就等他自动无脑安装了,安装完之后,因为安装的是release版的,是不包含对小米网关支持的,所以我们在这要对其升级下,将其升级到beta版,具体命令如下:

cd domoticz
./updatebeta

注意,这是两行命令,依次复制。

此时domoticz已经安装完成并已经自己启动了,这时候我们打开浏览器,输入http://树莓派的IP地址:8080 ,例如楼主的就是http://192.168.10.24:8080  。就能打开domoticz了。我们暂时不用管它,继续安装其他需要的组件。

安装Nodejs:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash –

sudo apt-get install -y nodejs

sudo apt-get install -y build-essential

安装avahi

sudo apt-get install libavahi-compat-libdnssd-dev

安装其他

apt-get install mosquitto

sudo apt-get install python-dev

sudo easy_install -U distribute

sudo apt-get install python-pip

pip install paho-mqtt

然后我们把mosquitto设为随机启动

sudo systemctl start mosquitto

sudo systemctl enable mosquitto

好了,之后就让我们给domoticz添加小米网关吧。

小米网关的添加

在添加小米网关之前,我们首先要在路由器上做些设置,因为domoticz和下面的子设备都是通过局域网来通讯的,所以需要各个设备的IP地址,例如树莓派的IP地址我们可以在树莓派上手动设置为静态的,但是无论是小米网关,还是博联插座,其DHCP地址都不是固定的,所以我们就要在路由器内将这些设备的IP地址设为静态:

不同的路由器设置不同,但大都在DHCP相关设置内,当然,也不排除某些路由器没有相关设置(例如电信光猫):

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

然后我们需要一台安卓手机来获取小米网关的通讯密钥:

这一段因为写文的时候自己也没有安卓手机了,所以大家跳转到以下文章查看一、获取网关基本信息 这一章节:

小米网关接入Homekit完整教程,声控家中设备! 

这儿需要提醒一下的是,打开局域网通讯协议后,一定要点确定。还有就是网关信息那一页,请全部截屏或拍照记录,这对之后的设置非常有帮助:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

下面我们就去domoticz添加小米网关了,在浏览器中输入domoticz的地址,我这依然拿http://192.168.10.24:8080举例,点击,设置>硬件

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

然后自己设置一个名称,类型选择Xiaomi Gateway(若没有请跳转前文,将domoticz升级至beta版),心跳时间可以随意设置,楼主设的是10分钟,如果10分钟内收不到小米网关发来的任何信息,就会重启小米网关的连接。然后远端地址填写小米网关的IP地址,端口为9898,密码为刚才获取的小米网关通信协议密码,最后点击增加。完成之后点击设置>设备,此时你就应该看到满屏的设备在你眼前了(若没有,请点击所有设备):

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

因为楼主已经做好了设置,所以名称都已经改成了中文,而大家看到的可能都是设备的默认名称。这时候你就需要刚才楼主让你们截图拍照保存的那张图片,通过domoticz里面ID的后四位来修改对应设备的名称。

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

一开始打开的时候所有的箭头都是绿色(未使用),单击以后就会变成蓝色已使用。这里要注意的是,只有将设备标记为已使用,我们才能在导航栏的菜单里看到他们并进行控制。

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

添加完成后的效果,这儿还要注意的是,小米温湿度传感器会有三个设备号。分别是温湿度,温度,湿度。我们要分别使用温度和湿度,因为复合数据是不被homekit支持的,也无法在domoticz里设置复合传感器的联动。

小米网关的添加就说到这,下面说博联的(其他设置大家自行研究,纯傻瓜式操作)。

博联SPMINI的添加

之前的很多原创中,大家纷纷使用RM Bridge来将博联设备连入其他智能家居平台,但是使用RM Bridge必须需要一台安卓设备做中转,非常不便。其中还有http-rest来操控RM2的红外学习,不过楼主手上没有RM2,所以这次我们就只说其中提到的python-broadlink的安装。

其实使用wget python-broadlink可以非常方便的进行python-broadlink的安装,但是楼主是下载下来装的,所以就按已成功的方法说吧:

首先前往https://github.com/mjg59/python-broadlink

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

点击绿色的Clone or Download,选择download zip,将python-broadlink的源代码下载下来,然后上传至树莓派。之前很多文章里都提到建立SMB服务来往树莓派里写文件,其实完全没有必要。我们只需要下载一个filezilla通过SSH上传文件就行,下载地址:http://sourceforge.net/projects/filezilla/files/FileZilla_Client/3.25.2/FileZilla_3.25.2_win32.zip/download

然后在站点管理器里新建一个SFTP站点:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

用户名和密码都是树莓派的密码。然后连接。然后右侧就是服务器目录了。我是将刚才解压好的文件直接放在了/home/pi/domoticz/scripts/python目录下面。以下也按此举例:

上传完了之后我们关闭filezilla,然后继续打开putty,登录树莓派,执行以下命令:

cd /home/pi/domoticz/scripts/python

此时我们进入了刚才上传python-broadlink的目录。执行ls命令:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

确认有setup.py的脚本。然后我们执行:

python setup.py (忘了要不要在前面加sudo了,如果执行错误的话大家再加一个试试)

然后等到脚本自动执行完成,没有出现任何error就可以了。

然后我们就需要编写对SPMINI进行控制的脚本,此段脚本出处为(https://www.domoticz.cn/forum/viewtopic.php?f=25&t=14&p=25&hilit=broadlink#p25  ):

这里我们先新建一个叫spmini的脚本:

nano spmini.py

将以下脚本的IP地址和MAC地址修改后copy进去:

#!/usr/bin/python

import broadlink

import sys

device_ip=”插座的IP地址”

device_port=80

device_mac=”插座的MAC地址全部大写”

device_type=”broadlink.sp2″

action = str(sys.argv[1])

device = broadlink.sp2(host=(device_ip,device_port), mac=bytearray.fromhex(device_mac))

device.auth()

#device.host

if action == “on”:

device.set_power(True)

elif action == “off”:

device.set_power(False)

elif action == “status”:

print “on” if device.check_power() else “off”

应该是下图的样子,大家检查下没有问题的话就ctrl X选择Y保存。

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

然后我们为这个脚本添加可执行权限:

chmod 777 spmin.py

然后我们试着执行一下脚本看看脚本有没有问题:

python spmini.py on

python spmini.py off

同时观察对应的博联插座有没有执行相应的开关操作:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

如果脚本执行如上图没有任何错误的话,那我们就可以去domoticz里添加开关了。如果你有多个插座的话,只需要建立多个.py文件,将其中的IP和MAC地址更改成相应的插座地址就行。

我们打开domoticz,现在设置>硬件里添加一个虚拟硬件,名字随便取,我取的是博联开关,类型是Dummy,心跳时间为无效,点击增加:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

然后我们到开关页面,选择手动添加 灯/开关

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

设备名称填你自己想要的,然后设为使用就好。然后我们编辑刚才添加的开关:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

开触发里填上:

script:///home/pi/domoticz/scripts/python/spmini.py on

关触发里填上:

script:///home/pi/domoticz/scripts/python/spmini.py off

然后保存,页面会跳回开关主页面,这时我们点击该开关的图标,进行开关测试。若成功则算完成,要是失败,则前往设置>日志查看具体的出错信息。然后评论提交,看看楼主能不能解决。

这样,我们就把小米和博联的设备都添加到了domoticz。当然,如果我每次操作设备还需要打开浏览器,输入domoticz的网址再进行操作的话,岂不是和之前开各种APP来操作没什么区别,我要的不就是解放双手,只动嘴不动手么。所以下面我们来说说如何使用SIRI来操控domoticz的设备。

HOMEBRIDGE的安装

在安装homebridge之前我们先做些准备工作,打开domoticz,选择房间区域设置:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

然后单击新增房间区域,取个名字,点击ADD,然后选择刚才新建的区域,在下面的设备中将想在homekit中使用的设备一一添加到刚才新建的房间区域。

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

例如楼主的homekit使用的区域idx是2,包含以下设备:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

然后我们putty到树莓派,安装相关环境

sudo apt-get install python

sudo apt-get install libavahi-compat-libdnssd-dev

sudo apt-get install g

然后安装homebridge

sudo npm install -g –unsafe-perm homebridge

再安装homebridge-edomotic

sudo npm install -g homebridge-edomoticz

然后我们进入homebridge目录,设置config.json文件:

cd ~/.homebridge/

nano config.json

修改roomid为刚才在domoticz内建立的房间区域号后ctrl x保存。

{

“bridge”: {

“name”: “Homebridge”,

“username”: “CC:21:3E:E4:DE:33”,

“port”: 51826,

“pin”: “031-45-154”

},

“description”: “Configuration file for (e)xtended Domoticz platform.”,

“platforms”: [

{

“platform”: “eDomoticz”,

“name”: “eDomoticz”,

“server”: “127.0.0.1”,

“port”: “8080”,

“ssl”: 0,

“roomid”: ,

“mqtt”: 1

}

],

“accessories”: []

}

如下图:

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

然后命令行输入homebridge,看看是不是可以运行。如果没有任何的报错信息,那么久打开你的iphone,家庭,添加家庭,输入屏幕上的PIN CODE,看看domoticz里的设备是不是全部出现在了手机上。如果都有,那么恭喜你,我们下面只要将homebridge设置为开机启动就完事大吉了。这里先ctrl C退出homebridge,然后大家请参照下文的相关步骤进行操作:

当Homekit遇到小米智能家居

Ctrl F “将homebridge设置成随系统启动”开始往下看。

嗯,最后的命令打完,树莓派就会重启,等待2分钟,打开手机上的家庭,如果所有传感器都工作正常的话,就可以愉快的使用siri了。

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

零基础打造全屋智能控制系统 篇一:智能家居控制中心搭建及小米博联的联动

本文暂且到这,因为自己对树莓派和linux完全是小白,所以文中步骤可能有些瑕疵,大家若有发现请在评论指出。谢谢。

追加修改:

关于树莓派下python-broadlink的安装方法更新,请大家直接在~目录下输入命令”sudo git clone https://github.com/mjg59/python-broadlink.git“然后“cd python-broadlink”进入python-broadlink目录后输入命令“sudo python setup.py install”进行安装,原来SFTP上传文件的方式可能会因为权限问题导致python-broadlink不能正常运行。


本文稿源:什么值得买,作者:casatift

显示完整资料

企业

什么值得买是一家中立的消费门户网站,实时推送优质的网购优惠信息,真实的原创购物攻略,力求成为消费者心目中的“品质消费第一站”,内容涉及3C家电、家居生活、时尚运动、海淘、旅游、汽车、信用卡等多个领域,网购就上什么值得买,让您的消费更值!

留下您的回复和评论吧,我们将很高兴听到您的想法:

      登录并回复

      智能品 ZNPin.com
      注册新帐户
      重设密码