在第一部分中,我谈到了从监视系统到智能家居本身的过渡。 在那个阶段,人们对提高舒适性的巨大潜力有了认识,所选技术的功能使新组件的开发和集成令人兴奋。

更详细地考虑“兴奋”方面。 在采取步骤之后,智能家居已变得难以停止开发。 USR IOT WiFi设备问世之后,DIY-chic钟爱的ESP8266微控制器问世了。 我使用带有LoLin v3 NodeMCU和Wemos D1 mini USB端口的ESP8266-12版本。 首先突出显示上面已经提到的图片。 连接相应的插件后,即可在Arduino IDE中方便地开发ESP8266的草图。 在这里,您可以找到许多示例,这些示例即使不做准备也可以使开发非常简单。 因此,顺便说一下,上市点差没有多大意义。
图为带有ESP8266-12的LoLin v3 NodeMCU。 连接器-微型USB。
同意与openHAB交互的协议仅是重要的。 我没有使用MQTT,而是直接进行了集成,因为这与所选的集中式管理模型更加一致。

在具有ESP8266的控制器上,最简单的服务器启动,该服务器接收请求,解析请求并执行提取的命令。 使用curl实用程序将请求发送到openHAB(“手动”或作为规则的结果)。 控制器通过本地网络通过其REST API将命令确认,测量参数值,已连接执行设备的状态发送回openHAB。 总体而言,在编写本文时,根据智能家居中的类似方案,已集成了4个基于ESP8266的控制器和一个在Arduino上具有连接的以太网模块的控制器。 让我提醒您,所有这些操作不仅是为了能够从智能手机打开或关闭某些功能,而且首先是为了在发生这种情况时自动打开设备。
图为传统的罗格朗开关,该开关通过Wemos D1 Mini自动化。 所有组件均安装在标准盒中,可用于室外安装。 同时,它可以测量温度/湿度(下方的传感器)和照度(面向未来)。例如,当房屋撤防时,当光照水平低于一定水平并且时间接近日落时间时,每天仅打开一次图片照明。 此外,某些设备(例如路灯)根本没有物理开关,并且主要在自动模式下使用。
曾经去过Ob或Leroy Merlin的每个人都必须看到成套的远程控制插座,甚至是起名叫“智能家居”的入门套件。 它们中的大多数结合了433 MHz通信,并且这种通信是单向的。 即 发送命令时,不可能知道执行器是否已接收到该命令。 弥补这一缺点的低成本。 例如,您可以以
1300和
1400卢布的价格购买可控制的插座和一个扁平电池开关。

这样的方案可方便地用于带有独立电线的照明,随着设计理念的发展而移动或出现。 我的壁灯变成了这样的元素,由古董烛台和小落地灯重制而成。 两者都在卧室里。 开关方便地位于床头柜上。 为什么这么长的介绍? 放弃使生活更加舒适和充实的设备是没有道理的,只是因为已安装的智能家居系统不支持它们。 通过押注单一供应商或单一技术很容易陷入这种情况。
在照片中,有一组受控插座和一个Brenin开关。 433MHz。但是我们有一个与技术无关的智能家居! 因此,我们正在大胆地寻找适用于所有433 MHz组件的集线器设备。 例如,此类集线器是
Broadlink 。 但是,它们的显着缺点是间接控制,集线器必须连接到云。 如您在上一篇文章中所记得的那样,我认为这种方法是错误的,尽管简单方便。 结果,搜索最终决定在Arduino上制作简化的集线器。 作为外围设备,我们将433MHz的接收器和发送器连接到Arduino。 接下来,使用一个特殊的草图,我们在Brenin开关中监听发射器发送的代码,并学习如何自行发送。 所有草图均完全基于库的示例,不会造成困难。 此外,控制信号代码可以在openHAB中表示为常数,并且,如果需要,可以扩展执行器的数量。
433MHz设备的自制集线器。 随着时间的流逝,增加了锅炉房中的运动检测和灯光控制。 和空调控制(盖板上的IR-LED)。 此外,为了提高稳定性,与openHAB的数据交换已从nRF24L01 +传输到以太网板ENC82J60,可见局域网线。怎么了 原来,房间内无线套件控制着灯光。 另外,可以从智能家居控制这种照明。 您还记得,此类系统的问题是缺乏反馈。 在这种情况下,由于已开发的集线器可以拦截发送到433MHz断路器的命令,并将其发送到openHAB(在该规则中起作用并更改接口中断路器的状态),因此部分解决了该问题。 即 结果是伪反馈系统。 总比没有好。 当然,很明显,这种方法不适合管理关键设备。 就拦截而言,这是不可靠和不安全的。
随着时间的流逝出现的设计元素,一种场景。 由布伦宁插座和开关控制更进一步。 我想在二楼做漂亮的开关。 并且当然是远程控制的。 选择取决于
Livolo触摸开关。 它们的频率也为433 MHz,重要的是,可以“无零”连接。 如果全零位和全相未连接到插座,并且开关处于枝形吊灯电源的开路状态,则为真。 尽管这不是我的情况,但这种输入条件值得考虑。 结果,漂亮的开关出现在房屋中,并使用先前开发的集线器连接到智能家居。
一套两个触摸开关和一个Livolo遥控器。但是,有两个“ buts”。 第一个。 Livolo断路器确实没有反馈;它们什么也不传递。 即 如果您用手指以老式方式打开它们,则智能家居将看不到状态变化。 当然,这并不是自己动手做的障碍,但我决定不将花园围在其他包含传感器的范围之内,并且不要集成更多类似的Livolo设备。 第二个。 无法从带有开关的,带有标准库的Livolo遥控器(与交换机一起购买)中破译控制信号;我不得不寻找由发烧友专门为Livolo开关开发的库。
我想结束与从上一篇文章开始的完全集成新组件的对话:使用Z-Wave。

不管Z-Wave设备的价格多么昂贵,它们的范围都在逐渐扩大,并且某些执行器本身没有意义,或者由于某种原因而没有竞争技术。 最突出的例子是用于加热散热器的可控恒温头。 无线通讯 另一个例子是插座盒中的紧凑型继电器和调光器,可在不更改设计的情况下将现有开关变成智能开关。 而且,有了反馈,即 通过保留机械控制,智能家居将能够看到开关的状态。
在照片中,Z-Wave恒温头位于走廊的散热器上。集成如何工作? OpenHAB具有用于连接USB Z-Wave棒的相应绑定。 另外,openHAB附带了一个特殊的HABmin应用程序,用于配置Z-Wave设备的网络。 因此,连接USB记忆棒
Z-Wave.Me ,设置绑定的Z-Wave,运行HABmin,将设备添加到网络。 接下来,我们根据绑定文档配置相应的项目,并编写开关,热敏头,多传感器和voila的规则。 似乎一切都很简单。 但是,这仅部分发生。 问题在于HABmin仅适用
于在开放数据库中注册的设备。 如果您购买了一些不在数据库中的新设备或旧设备的修改版,则将无法配置该设备。

您可以向该数据库发出拉取请求,但是,我认为这种方法从根本上来说是错误的,因为Z-Wave设备具有自我发现功能。 这是不同Z-Wave制造商的设备和控制器具有高度兼容性的原因之一。 结果,我必须购买Z-Wave软件控制器
Z-Way服务器的许可证,该许可证与openHAB安装在同一服务器/ nettop上。 仅在需要将设备添加到Z-Wave网络和/或对其进行配置时,才使用它。 其余时间,软件控制器将关闭。
在照片中-普通的罗格朗开关。 使用玫瑰花结中的Z-Wave微型模块实现自动化。 较低的一个变暗了。结果,我在散热器上安装了热敏头,在插座上安装了调光器和开关,测量电压和功率的受控插座,甚至还有一个多传感器(运动,温度,照明)。 应该注意的是,由于我仍然具有集中控制模型,因此我没有在Z-Wave级别上建立关联。 也就是说,尽管可以直接控制设备-设备,但是所有设备都可以使用规则从openHAB集中控制。 好吧,或者说是机械的,就像插座上的开关一样。
就智能家居而言发生了什么:- 自动灯光控制。
- 由二楼的楼梯控制。 根据保护状态,将触发一组警报规则,或者地面上的灯点亮,以便在夜间轻松下楼。 由于使用了多传感器,因此还可以测量空气温度。
- 自动控制多个暖气片。 设防时,由于热量分布更加合理,它们会切换到设置中设置的低温以节省能源。 此外,已经完成了对卧室夜间温度的控制-自动降低1度,以保证舒适的睡眠。 当然,可以从智能家居中设置温度。
- 自动加热毛巾架控制。 现在,无需手动打开/关闭它。 此外,它可以在到达之前远程打开。
还有一件事。 到目前为止,我们已经讨论了将物理组件与智能家居集成在一起的问题。 但是,openHAB允许与软件系统集成。 例如,使用软件DVR或IP摄像机。 当然,这不仅涉及在openHAB界面中显示图像,还涉及对事件的反应。 例如,如果将记录器或摄像机配置为检测运动,则可以将此事件发送到openHAB并在管理中使用。 按照上述晚上在下楼梯时打开灯的规则,相机在第一层使用运动检测(以免在我爬楼梯时不亮)。 另一个示例:在安全模式下,您可以为入侵者拍照并通过邮件发送照片,并且可以使用传统的PIR运动传感器检测到违规情况,这比使用摄像机或DVR进行运动检测要有效得多。 此外,可以使用任意技术将PIR传感器连接到智能家居。
带有在旅馆的入侵者照片的令人不安的电子邮件示例。幸运的是,侵入者已经四十岁了。 由PIR传感器检测到。

与
Kodi媒体中心的集成也已
完成 ,为此具有特殊的约束力。 当您开始播放视频时,起居室中的灯会熄灭;停止时,它会点亮。 以防万一,还由Kodi亲自从智能家居中进行控制。 使用它比常规的Kore遥控器要方便得多,但是可以从Kore不知道的智能家居界面启动Kodi。
带有Kodi控件和开始按钮的界面页面。 上方显示了播放器的状态,歌曲名称,剩余时间和持续时间。
回顾有关使用MQTT协议的问题,我记得通过集中式管理模型,服务器和设备之间的中间链接是可能的,但是当然会降低可靠性。 因此,直到现在,所有集成关系都是直接的,没有中介。 但是,如果我们谈论未来可能的过渡或向分散管理的部分过渡,因为它们可能会更可扩展且更具容错能力,那么MQTT的选择是标准的。 这是本地网络中对等点的常见传输方式。
基于Raspberry Pi 3B的多功能控制器。 可以看到温度和湿度传感器,运动传感器,照相机,受控插座,已变成传感器的开关。当然,OpenHAB具有与MQTT的绑定。
Mosquitto本身被选为MQTT服务器本身。 但是要安装在什么地方是个问题。 如果您明确地或明确地追求分散管理的目标,那么将Mosquitto置于已经成为单一故障点的网顶上是错误的。 在这里,以下逻辑起作用了。 唯一的非自动房间是一个车库。 在那里需要做一些事情:检测运动,打开房屋内外的灯,打开并监视车库门的状态,进行视频监视,控制花园设备的出口。 甚至其他一些只能在成熟的操作系统上完成且与信息安全有关的事情。 结果,选择落在Raspberry Pi上。 它具有用于连接标准DIY外设和成熟的Linux与大量已移植应用程序的引脚。 摄像机可以连接到它,并将流广播到网络。 而且,重要的是,与Arduino不同,系统的资源允许您构建几乎任何合理的复杂性的业务逻辑,而无需使用openHAB。 所有这些都可以用熟悉的编程语言进行编程。
结果,上述所有任务均已解决,并且网络上已经出现了MQTT服务器,通过该服务器可以组织与openHAB的交互,并在将来出现具有分散控制的新设备时使用。
有趣的细节在开发过程中,有必要测量模拟信号(光传感器,电流传感器,空气质量传感器)。 另外,部分外设拒绝在标准的Raspberry Pi 3.3V上工作,他们需要5V。 这些问题可以简单,廉价地解决。 两项任务均由可选的Arduino Nano处理,并使用I2C协议连接到Raspberry Pi电线。 即 除了测量物理参数和执行命令外,Arduino仍然没有逻辑。 Raspberry Pi和openHAB上的所有业务逻辑。
如果用模板术语描述了撰写本文时整个系统的特征,最终会发生什么?
总结:- 温度传感器数量:25。
- 灯光控制点数:37,包括串联开关,调光器开关和不带机械开关的点。
- 除了照明外,还控制井泵,家用热水循环泵,加热分支上的水龙头,锅炉,锅炉,自动闸门,暖气散热器等。 测得的湿度,电压,电流,照度,空气质量等
使用的技术:- 中央软件:带有绑定的openHAB,Xeoma,Z-Way服务器,TTS,Mosquitto服务器,Kodi,单独的C / C ++应用程序。 操作系统-Ubuntu。
- 本地控制器:Arduino + nRF24L01 +,Arduino + ENC82J60,ESP8266-12,Raspberry Pi 3 B,用C ++编写的软件。
- 就绪设备:USR IOT,来自不同制造商的Z-Wave WiFi设备(继电器,插座,调光器,传感器,热敏头),433MHz(带有Livolo遥控器的开关,插座和Brenin开关),TCP-Modbus Schneider Electric网关,运动传感器,开孔和其他
接下来是什么?下一步是在打开暖气散热器上方的窗户时将其关闭,用壁炉控制客厅的空气质量,更加自信地检测客厅中的运动,等等。 还有更多平凡的任务:当温室出现时,根据温度和土壤湿度自动浇水。
而不是结论。 我们尚未考虑很多方面,例如语音控制,文本到语音转换,空调的IR控制等。 所有这一切都已经完成并且正在工作。 本文的目的是通过描述易于集成性来展示思路,分享选择解决方案的经验,展示开放标准和技术的优势。 所做的一切都可以以不同的方式进行,无论是更好还是更坏,更昂贵或更便宜,功能更可靠。 您很快就习惯了美好的生活,过了一段时间后,向家人询问以下问题:“您不能通过智能手机来做到这一点吗?” 或“为什么要手动给花坛浇水?” 被迫前进,达到无法达到的完美。
我也相信物联网的无限可能性。 所有已完成的操作都属于此类,但这只是一小部分。 如果在阅读本文后,IoT爱好者的数量有所增加,我将认为我的任务已完全完成。