关于智能家居的原创本站已有不少,楼主在搭建自己的智能家居掌握中央的时候也险些把本站所有的干系原创也都读了一遍,对我的搭建事情也颇有帮助,在开篇先行谢过各位。有用到大家原创内容的时候会在干系段落插入卡片方便大家参考。本文篇幅较长,建议有兴趣的先收藏,然后动手的时候照着做。不然读起来非常呆板乏味。
首先要说的是搭建智能家居的初衷。由于自己在很早以前就购入了博联的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。
然后是小米智能家居套装:
这儿虽然说的是小米智能家居套装,但实际上指的是绿米(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的安装和设置
关于智能家居系统,开源的软件有很多,例如Home Assitant,本站值友也有写过原创:
树莓派打造家庭中枢教程(完全版)
追加修正(2017-05-0123:38:35):实话讲,不知道按着教程实操的人有多少,但是我还是只管即便完善、更新这份教程。首先,Hassbian系统自带了Home-assistant,因此请利用Hassbian系统的值友跳过3.1,直接前往3.1.1。其次,3.1.1步骤如果实行失落败,可以手动安装。
但是为啥楼主没有选择这两个而是利用了domoticz,先说通过homebridge-aqara来实现小米网关设备联入homekit,这个做法无疑是最大略的,但是其仅仅支持aqara设备,并且不支持网关灯以及小米无线开关(实在是homekit不支持小米无线开关的多段模式)。并且不能跨平台利用,也便是这个仅限于ios10以上的设备才能利用,局限性太大,以是楼主放弃了。
而Home Assitant+Homebridge能够做到跨平台利用,也能做到掌握网关灯,但是依然不支持小米无线开关(待确认),不过更主要的是,他设备添加配置都须要添加修正yaml文件。利用起来还是不便。而domoticz紧张是看了这篇原创:
开源IoT平台domoticz与百搭wifi模块esp8266 篇一:车库卷门遥控
基友家想搞智能家居,经我极力鼓吹,先让我用他的车库门试手,实现效果如下视频。随手一拍,请看官海涵。操控略有延迟,对付车库门这种实时性哀求不高的电器来说足矣。当然,能遥控仅仅是智能的第一步。根据反馈回中心掌握器的各种传感器数据从而进行自动化调节才是智能家居的努力目标。现有的带中心掌握器的物联网办理方案
虽然原文作者写的不是很详细,但是总体上能够领会到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干系设置内,当然,也不用除某些路由器没有干系设置(例如电信光猫):
然后我们须要一台安卓手机来获取小米网关的通讯密钥:
这一段由于写文的时候自己也没有安卓手机了,以是大家跳转到以下文章查看一、获取网关基本信息 这一章节:
这儿须要提醒一下的是,打开局域网通讯协议后,一定要点确定。还有便是网关信息那一页,请全部截屏或拍照记录,这对之后的设置非常有帮助:
下面我们就去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必须须要一台安卓设备做中转,非常不便。不过有一篇原创提到了不须要安卓设备中转的方法:
#原创新人# 群晖安装broadlink-http-rest代替RMBridge
看了本站两位大神的帖子后学会了如何用Siri来掌握普通家电,实现大略的家居智能化。两位大神的帖子链接解放你的双手—让普通家电也能被Siri召唤解放你的双手—让普通家电也能被Siri召唤自iOS10发布后,iphoner可以利用个中增加...
个中还有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\公众: <Input Domoticz IDX-value>,
\"大众mqtt\"大众: 1
}
],
\"大众accessories\公众: []
}
如下图:
然后命令行输入homebridge,看看是不是可以运行。如果没有任何的报错信息,那么久打开你的iphone,家庭,添加家庭,输入屏幕上的PIN CODE,看看domoticz里的设备是不是全部涌如今了手机上。如果都有,那么恭喜你,我们下面只要将homebridge设置为开机启动就完事大吉了。这里先ctrl+C退出homebridge,然后大家请参照下文的干系步骤进行操作:
当Homekit碰着小米智能家居
从高中的时候就想打造一个智能寝室,如今5年已过才刚刚开始自从Homekit发布,就一贯关注,由于一贯是个果粉,但是崇奉充值实在伤不起,homekit的配件实在是太贵。小米刚出的路由器。在插件里面有homekit的插件,但是价格太高,而且不实用,后期没法自己加配件,只能用小米的配件。前几天从威锋论坛看
Ctrl+F “将homebridge设置成随系统启动”开始往下看。
嗯,末了的命令打完,树莓派就会重启,等待2分钟,打开手机上的家庭,如果所有传感器都事情正常的话,就可以愉快的利用siri了。
本文暂且到这,由于自己对树莓派和linux完备是小白,以是文中步骤可能有些瑕疵,大家若有创造请在评论指出。感激。
本文源自什么值得买