ioBroker的家庭自动化

现在,当几乎每天都出现用于灯泡,空调和其他家用电器的新控制装置时,将所有这些财富组合成一个网络的问题非常迫切。
但是,幸运的是,这个世界没有睡觉,并且正在努力地解决这个问题。既有质量不错的免费解决方案,也有收费的(不是优质的事实)。
就像世界一样,我也无法入睡,我和整个世界一样,已经连续多年,并且在过去三年中,我一直在特别努力地将各种设备集成到智能家居中。

在本文中,我将介绍家庭自动化以及如何使用开放源代码项目来照亮(不仅是)舒适的家。哦,是的,我几乎忘了说所有自动化都是在JavaScript中发生的!

对于所有JS爱好者,我都要求削减


首先,关于智能家居的话题有些枯燥乏味。
每个人都将这个术语理解为不同的东西。有人用运动传感器打开浴室的灯,认为房子已经很聪明了,但是对于某人来说,钢铁侠(JARVIS)的房子还不够聪明,因为这个房子最终被拆散了,这意味着它并没有我可以保护自己免受某些乘坐直升飞机的人的伤害
但是开个玩笑-所有这些人都是对的。只是在家中的“智能”水平也有所不同,就像人们的智商一样。有一些小的“孩子”知道如何打开灯泡,还有一些“学术人员”从大学毕业,不仅可以打开电灯,而且还可以关闭电灯:)

在房子里,可以区分几个自动化领域:
-最常见的是照明
-然后加热
-环境监控:室内和室外温度,湿度
-安全和警报
-多媒体(电视,音乐)
-百叶窗,窗户,门,门,雨篷
-通风和空调
-其他家用电器的控制
-日志记录和时间表
-通知

列表您可以继续,但我想谈一谈最常用的指示。每个自动化领域都有自己的设备系统,每个系统都有自己的协议,应用程序和控制方法。目前没有能够在各个自动化领域提供设备的制造商。但是,其中有一些特别重要:三星,谷歌,苹果。
同时,每个制造商都发明了自己的交互协议自行车,没有人愿意让步。尽管Google Weave的交互协议似乎是最周到的。

还尝试创建独立于制造商的协议。在这个方向上,具有MQTT的IBM取得了最远的进步。但是,不幸的是,没有标准化的渠道来接收有关设备的描述,例如单元,位置/房间,功能组(百叶窗或灯光)和其他元信息。

我所说的“智能家居”是什么意思,或者如上所述,什么水平的自动化适合我?
我做了很多实验,得出的结论是,电话,语音控制或温度图表中的所有这些控件都是玩具。

真正的智能家居应该不起眼。仅当智能家居停止工作时,它才应引起注意。

智能家居应通过传感器监控人员并为他们调整环境(当然,不应该将这些信息发送给Google)。调节温度,同时节省加热热量;打开,当一个人进入房间时,如果电视打开并且窗户使图像上刺眼,则背光不会使他眼花or乱或遮盖窗户上的百叶窗。场景是无止境的。尤其是智能家居本身应该识别事件的顺序和依赖性,并提供新的自动化规则。

我知道我在说什么我在前门附近挂了一个平板电脑,并实施了语音控制,并制定了所有可能的和不可能的时间表,我可以用电话打开公寓的门,但这一切都是为了向我的客人展示我会听到什么样的智能家居并说“哇” 。我和我的家人几乎从未使用过它。

不,这当然很重要,有时在地中海航行时通过电话查看房屋中传感器的状态,或者收到带有照片的通知,称有人进入了房屋,尽管他不应该进入房屋,然后打开邮递员的门,看看有什么他不会忍受一半的房子。最后,从您的朋友那里听到同样的“哇”也不是最后的争论。 :)所有这些都应该是,仅仅是为了理解这实际上并不那么重要:)

自动化最适合居住有技术爱好者学士学位,每天在同一时间工作,且有固定假日和周末数量的公寓(不幸的是,俄罗斯不属于该标准。五月份的新年假期需要多少钱) :))。

然后是一个对技术有中等热爱的无子女年轻家庭。重要的是,它们每个都不与手机分开。

最困难的情况是有孩子的家庭(越大越困难)。孩子们根本无法自动化。 “那是什么爸爸,我忘记了电话。我不需要院子里的他。”而且,所有用于识别房间中人的脚本和基于他们的报警规则都没有用。 (我的情况)

但是,让我们回到如何在家做所有这些事情,并使我们的生活空间更舒适。

什么是ioBroker?
它是物联网的集成平台,并用作以下方面的中央服务器:
  • 智能家居
  • 建筑自动化
  • 生活辅助

*顺便说一句,我将感谢您翻译上一词。

ioBroker是一个能够将整个协议和设备相互连接的系统。

一家建筑公司决定在汉堡建造智能住宅,他们将所有可能的设备收集在一间公寓中,并提供八种电话应用程序(顺便说一句,只有苹果)来管理所有动物园。在这里我可能需要写:您可以想象八个应用程序,卡尔!
使用ioBroker,这将不是必需的。

ioBroker具有非常模块化的结构。每个模块都在一个单独的进程中运行,当它崩溃时,它只是重新启动,整个系统将继续工作。

ioBroker与其他自动化系统之间的区别是浏览器中的Web可视化模块-vis。开发整个ioBroker所需时间的一半花在了其开发上。



另外,ioBroker的优势还在于数量众多的可用npm软件包-286000。

*信息取自http://www.modulecounts.com/

当然,包装的质量并不总是最重要的,但是作为一个相同问题的规则,有几种不同的包装,在这种情况下,数量就发展为质量。您只需要选择合适的包装即可。因此,新协议的连接只是技术问题。
这样,我实现了OPC UA,Sonos,MQTT,Telegram,Pushover,Homematic,Z-Wave,Simatic和许多其他系统的连接。

与FHEM和OpenHAB(例如,通过配置文件进行设置)不同,它非常重视方便地配置和配置的能力,这占用了大部分时间。

开源替代品。

-OpenHAB是流行的Java自动化平台。当前,最多有160个驱动程序或模块。

-FHEM是在德国Perl广泛使用的自动化系统,具有大量驱动程序-340。但是系统设置较差,并且缺少标准化的元模型,因此很难扩展系统。

-MajorDomo是PHP中相当成熟的自动化平台。您可以在geektimes上找到许多有关此系统的文章

-Domoticz-用C / C ++编写的具有非常不错的图形界面的系统。但是由于C / C ++难以快速编写的事实,因此只有有限的一组驱动程序/模块。

通常,可以在这里找到许多有趣的家庭自动化系统。基本上,系统的分离发生在编程语言(Java,C / C ++,Python,Javascript,PHP等)和硬件(Vera,Raspberry PI,Synology,Medola等)中。它们都应享有生存权,尽管有些可能更多,有些可能更少。

目前,实施自动化系统的人员的技术知识水平很高,他们不会因以下语言而晕倒:Linux,控制台,apt-get。但是当问题出现在论坛上时:“我安装了系统,但无法将主文件夹更改为ioBroker文件夹。救命!”信息学开始风起云涌,简单的计算机用户可以使用该系统。

除德语特定的驱动程序外,所有设置界面均被翻译成3种语言。那么,为什么说俄语的用户为什么需要提供德国汽油价格数据或来自德国气象服务的天气警告的
驾驶员呢?.. 而且,仅讲俄语的市场(如星际汽车警报器驾驶员)的驾驶员仍然没有翻译。

我们会尽力用3种语言编写文档,但是仍然需要大量工作。尽管在过去的一个月中有很多不错的描述。

JavaScript用于编写接口,服务和脚本。一种广泛流行的编程语言。现在,Python越来越流行,但是您无法在python上为浏览器编写图形化外壳。 (是的,我知道py2js的存在,但是我还没有看到任何值得的)

。关于开源项目的一些知识。
作为一个参与开源项目的人,我可以说:我曾经以为开源项目是由来自世界各地的成千上万的人编写的,他们写任何东西都很容易。现在,我可以说每个开源背后都有一个(有时在大型项目中,有时是一群人),并且只有百分之一的用户来自社区。只是大型项目拥有数百万的用户,而百万分之一的人口就是一万人。但是较小的项目有几十个或多个单元。我也可以说,一个感兴趣的用户可以做十个以上无私的程序员,重要的是简单地吸引大量用户,而做出重大贡献的人的可能性就更大。

可能性
我可以说可能性无限。乘NPM包的数量,以铁并获得数以百万计的机会,包括灯泡:
-通过电报
-声音
- REST的API
-网络可视化
- Android应用
-手机和平板电脑的接口(移动)
-从FHEM 340个驱动程序
- MQTT

然而,项目正在积极开发并以3种语言发展。

对于那些有兴趣的人-Google帮助。从此以后-我将不描述宇宙如何工作,而是描述Modbus设备与核电厂之间的通信是如何发生的。

Source: https://habr.com/ru/post/zh-CN394961/


All Articles