




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
这是一个探索性项目,旨在提供一个完整的智能家居搭建指南。具体系统架构使用HomeAssistant、HomeBridge作为智能家居的核心•使用AmazonEcho作为语音输入工具(当前仅支持英语)•使用iPhone的“家庭”应用作为控制工具•可以使用任何的设备连接HomeAssistant服务来控制应用当前,我们谈论智能家居的时候,我们实现上是在讨论:家庭自动化。引自维基百科,对于智能家居的介绍1:Homeautomationorsmarthome(alsoknownasdomotics)isbuildingautomationforthehome.随着机器学习和深度学习等AI技术的进一步普及,这一点(智能化)在最近几年里,应该会发生一些剧烈的变化。而无论如何,我可不太希望我要被机器催着起床。开始实战之前,让我们先关注于当前智能家居的几个关键点:设备。这些设备要么使用WiFi,要么要使用蓝牙,方便使用手机连接上这些设备。依当前的情况来看,主要是以WiFi为主,在手机上配置完后,可以轻松地实现远程控制。与此同时,他们在与手机通讯的时候,会使用一些自定义的通讯规则,并且似乎很容易被破解(参见仿真器一节)。如PhilipsHue智能灯、Wemo开关等等,他们都已经可以被仿真,并作为Homekit组件使用。•自动化。自动化是指你可以定时也开关某个特定的设备,闹钟一响,便打开灯诸如此类的。备的操作,如早起,便开灯、打开窗帘,离开家,则锁门、关闭一系列用电器、开启防盗功能等等。•中心网关。当我们所使用的一系列设备拥有WiFi功能时,装有各种软件的手机便相当于控制中枢。而这样的设计本身是不合理的,你要在手机上安装一系列的应用。这个时候,便需要一个额外的软件作为中心,来接入这些设备,而手机上也不需要多余的额外软件。如HomeKit、HomeAssistant就是这样的而作为一个普通的用户,我们只需要关注便利的生活。作为一个极客,我们则关注于如何改造成需要的功能。智能音箱学术上有个概念是“传声器阵列”,主要由一定数目的声学传感器组成,用来对声场的空间特性进行采样并处理的系统。如下图所示AmazonEcho的电路板:其及对应的麦克风的位置:其及对应的麦克风的位置:其所要主要解决远距离语音识别的问题,以保证真实场景下的语音识别率。而这些设备的主要原理,都是将语音信号发送到服务器端,由服务器端识别,并匹配到对应的指令上。实验表明AWS的服务并不是那么可靠的~~,经常出现:YourEchodotisnotconnected自定义组件的原理,如下图所示:HomeAssistant是一个运行在Python3上的开源家庭自动化平台。能跟踪和控制家庭中的所有设备,并实现自动化控制,同时还完美的支持在RaspberryPi上。通过HomeAssistant插件,它可以直接兼容各式硬件设备。其原理是通过WiFi、BLE、Zigbee、MQTT等不同的协议,来与不同的本地设备互联,并提供一个响应式的Web界面、PWA应用、iOS应用,让用户可以轻松地与设备进行交互。其在桌面浏览器上的界面如下图所示:手机浏览器的界面如下图所示:RGB灯)的设备来说,它也能支持丰富的操作,即上图。同时,还能接上AmazonEcho、HomeKit等各式各样的中心。HomeKit是由Apple公司推出的智能家居平台,包括iOS上的SDK、智能家居硬件通信协议(HAP:HomeKitAccessoryProtocol)、以及MFi(MadeforiPhone/iPod/iPad)认证等等。借助于iPhone、iPad、iWatch等设备及『家庭』应用,用户可以轻松地掌控各种HomeKit配件。并且可以通过设备上Siri应用、Homepod,直接用语音来与设备交互。当前要在Homekit,有三种方法:购买昂贵的MFi设备。•借助于HomeAssistant,来自建HomekitAPI服务连接设备。•模拟现有的MFi设备。诸如使用ESP8266仿真PhilipHues。引自:使用iOSHomekit控制树莓派:HAP协议部分是需要加入MFiProgram才能获取文档,而且MFiProgram无法以个人开发者身份加入。因此,这个时候我们就需要借助于Homebridge。Homebridge是一个用Node.js实现的轻量级后台,可以在家庭网络上运行,用于模拟iOSHomeKitAPI。它支持插件——由社区提供的模块,这些插件能提供从HomeKit到“智能家居”设备制造商,提供的各种第三方API的基本桥梁。而我们只需要有一个iPhone在手便可以了。的。而这也是最近几年来,限制智能家居发展的一个因素:找不到合适的用户WeMo•ZigBee•WiFi•BLE•红外如小米的万能遥控、BroadlinkRMPro等。仿真设备•AmazoneEchoDot•NodeMCU•Yeelight•RaspberryPi2•Android、iOS设备2.1ESP8266仿真设备•Wemo:可以被AmazonEcho识别•PhilipsHue:可以被HomeKit识别?仿真Wemo要求:下载ArdunioIDE,地址:http://www.arduino.cc/en/main/software一、安装ArduinoESP8266ArduinoESP8266GitHub地址:/esp8266/Arduino启动ArduinoIDE,并进入Preferences窗口2.在AdditionalBoardManagerURLs中输入:/stable/package_esp8266com_index.json3.从Tools>Board菜单中打开BoardsManager,并输入安装esp8266平台下载安装包:/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch下载代码•在编辑器中打开wemos.ino•修改WiFi设置•定义开关及其回调,在officeLightsOn、officeLightsOff、kitchenLightsOn、kitchenLightsOff中•烧录相似项目:ArduinoEsp8266AlexaWemoswitchemulator仿真PhilipsHueESP8266HueEmulator项目地址:ESP8266HueEmulator这个Demo需要这么几个库NeoPixelBus、aJson、Time、NtpClient,同时还需要修改一些相关的配置。因此直接使用这个脚本安装,比较简单:注意:如果是MacOS,需要将下面脚本中的$HOME/Arduino/libraries/改为$HOME/Documents/Arduino/libraries/cd$HOME/Arduino/libraries/gitclone--branch2.1.4/Makuna/NeoPixelBus.gitgitclone/interactive-matter/aJson.gitgitclone/PaulStoffregen/Time.gitgitclone/gmag11/NtpClient.gitsed-i-e's|#definePRINT_BUFFER_LEN256|#definePRINT_BUFFER_LEN4096|g'aJson/aJSON.hgitclone/probonopd/ESP8266HueEmulator.gitESP8266HueEmulator/ESP8266HueEmulator/ESP8266HueEmulator.inosed-i-e's|//constchar|constchar|g'ESP8266HueEmulator/ESP8266HueEmulator/ESP8266HueEmulator.ino再将代码烧录到ESP8266上,就可以在Homekit看到相应的配置。npminstall-gmiiomiio--discovernpminstall--savemiio3集成网关篇3.1RaspberryPiHomeAssistantImages:https://home-assistant.io/docs/hassbian/installation/ImagesDownloader:https://etcher.io/发现文档好像有点问题,便手动地尝试安装:pip3install--upgradehomeassistantsudo-uhomeassistant-H/srv/homeassistant/bin/hass并不没工作,于是执行官方的安装脚本:assistant/master/hass_rpi_installer.sh&&sudochownpi:pihass_rpi_installer.sh&&bashhass_rpi_installer.sh又在我的MBP上安装尝试pip3installhomeassistanthass--open-ui然后发现安装完就可以了。3.2HomeAssistantBroadlinkPMPRO在configuration.yaml文件中添加下面的配置:#Exampleconfiguration.yamlentry-platform:broadlinkhost:IP_ADDRESSmac:'MAC_ADDRESS'reciever:command_on:'switch_packeton'command_off:'switch_packetoff'Broadlink配置从/NightRang3r/Broadlink-e-control-db-dump获取数据导出脚本2.打开易控(英语:E-Control)应用,点击菜单->共享->云分享就会生成相应的配置文件3.浏览手机上的/broadlink/newremote/SharedData/目录,复制出jsonSubIr、jsonButton、jsonIrCode三个文件4.安装好python环境,并安装pipinstallsimplejson5.执行第一步代码中的脚本,pythongetBroadlinkSharedData.py6.安装python-broadlink,地址/mjg59/python-broadlink.git不知道是不是我的空调问题,获取到的配置是空的。Yeelight:homebridge-yeelight•小米设备:homebridge-aqara•BroadlinkRM红外:homebridge-broadlink-rm•BroadlinkSP开关:homebridge-broadlink-sp•HomeAssistant:homebridge-homeassistantHomebridge修改为阿里云,速度会更快一些:deb/raspbian/raspbian/jessiemainnon-freecontribdeb-src/raspbian/raspbian/jessiemainnon-freecontrib安装Node.jsARM版:curl-sL/setup_7.x|sudo-Ebash-sudoapt-getinstall-ynodejs安装avahi:sudoapt-getinstalllibavahi-compat-libdnssd-dev安装homebridge:安装相应的插件:sudonpminstall-ghomebridge-yeelightsudonpminstall-ghomebridge-homeassistantsudonpminstall-ghomebridge-broadlink-spsudonpminstall-ghomebridge-broadlink-rmsudonpminstall-ghomebridge-platform-wemosudonpminstall-ghomebridge-miio对应的配置在home-assistant目录下的configuration.yaml文件。在/etc/default目录下创建homebridge文件,内容如下:#Defaults/Configurationoptionsforhomebridge#Thefollowingsettingstellshomebridgewheretofindtheconfig.jsonfileandwheretopersistthedata(i.e.pairingandothers)HOMEBRIDGE_OPTS=-U/var/lib/homebridge#Ifyouuncommentthefollowingline,homebridgewilllogmore#Youcandisplaythisviasystemd'sjournalctl:journalctl-f-uhomebridge#DEBUG=*在/etc/systemd/system目录下创建homebridge.service文件,内容如Description=Node.jsHomeKitServerAfter=syslog.targetnetwork-online.targetType=simpleUser=homebridgeEnvironmentFile=/etc/default/homebridge#Adaptthistoyourspecificsetup(couldbe/usr/bin/homebridge)#SeecommentsbelowformoreinformationExecStart=/usr/local/bin/homebridge$HOMEBRIDGE_OPTSRestart=on-failureRestartSec=10KillMode=processWantedBy=multi-user.targetsystemctldaemon-reloadsystemctlenablehomebridgesystemctlstarthomebridgenpminstall-ghomebridge-homeassistant{}]我用的是AmazonEchoDot2就是那个Mini版的安装YeelightSkill•安装Mijia两者需要登录小米的账号,才能授权获得控制。3结合HomeAssistant和AmazonEcho文档:https://home-assistant.io/components/alexa/emulated_hue组件,它可以提供一个虚拟的PhilipsHue桥。使用HomeAssistant的EmulatedHue组件就可以了,添加如下的配置:host_ip:42其中的42即是HomeAssistant的服务器地址更详细的配置,如:/Teagan42/HomeAssistantConfig定制命令为了使用更多的功能,则需要使用将HomeAssistant暴露到公网上——使用诸如花生壳等。(PS:由于当前家里使用的是光纤,需要光纤猫,实施上比较困难;因此,外部访问需要使用一级跌幅,暂时没有进行这方面的尝试)。随后在AmazondeveloperconsoleAlexaSkill,并添加Endpoing:https://YOUR_HOST/api/alexa?api_password=YOU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年小学语文趣味教学心得体会
- 生物技术的伦理争议-洞察阐释
- 气候变化的历史记忆与当代应对-洞察阐释
- 情感智能服务系统在电信行业的应用研究-洞察阐释
- 知识产权保护与经济增长关系的政策分析
- 农民工的职业幸福感研究心得体会
- 法规政策对牙科市场竞争影响分析-洞察阐释
- 公共绿地建设材料管理与质量保证措施
- 城市交通流量分析与优化-洞察阐释
- 基于工业场景的汉字输入系统研究-洞察阐释
- 2022联合国电子政务调查报告(中文版)
- 小学心理健康教育家长会
- 2025届山西省吕梁市高三第三次模拟考试英语试题(原卷版+解析版)
- 8.3 法治社会 课件高中政治统编版必修三政治与法治
- 《医药企业防范商业贿赂合规指引》配套典型案例
- 矿产资源勘查技术在页岩气勘探的应用考核试卷
- 营房维修考试题及答案
- 《史记》上册注音版
- 品质异常8D改善报告(杂项)
- 深圳城市更新工改工专题研究报告
- 某机械厂降压变电所的电气设计参考(电气工程课程设计)
评论
0/150
提交评论