使用物联网实现家庭自动化

这份有关物联网和家庭自动化的综合指南涵盖了常用的体系结构,平台,传感器和原型技术。

由于软件,硬件和网络生态系统带来的复杂性,对于您的智能家居产品而言,学习,理解和利用正确的家庭自动化技术变得极为重要。

您将在这里学到什么?

  • 家庭自动化:如何从零开始
  • 家庭自动化传感器和协议
  • 家庭自动化架构,网关和平台

物联网家庭自动化:入门

家庭自动化包括三个主要部分:

  • 硬件
  • 软件/应用
  • 通讯协议

在为您的客户构建真正的智能家居体验中,每个部分都同样重要。 拥有合适的硬件使您能够迭代开发物联网原型并轻松响应技术枢纽。

经过正确测试和仔细考虑后选择的协议可帮助您避免性能瓶颈,否则将限制传感器和物联网网关的技术和设备集成能力。

另一个重要的考虑因素是驻留在硬件中的固件,用于管理数据,管理数据传输,固件ota更新以及执行其他关键操作以使事情变得正常。

家庭自动化的应用

为了重新树立消费者的期望,家庭自动化已被计划针对新数字消费者的广泛阵列应用。 消费者可以期望看到家庭自动化领导的支持物联网的连接的一些领域包括:

  • 照明控制
  • 暖通空调
  • 草坪/园艺管理
  • 智能家电
  • 改善家庭安全性
  • 家庭空气质量和水质监测
  • 基于自然语言的语音助手
  • 更好的信息娱乐交付
  • 人工智能驱动的数字体验
  • 智能开关
  • 智能锁
  • 智能电表

该列表仍然不完整,并且会随着时间的推移不断发展以适应新的物联网用例。现在您已经熟悉了家庭自动化应用程序,下面让我们详细了解构建典型的家庭自动化原型所涉及的组件。

家庭自动化组件

我们之前已经讨论过它们,但是让我们清楚地分离出我们的组件,这些组件最终将帮助您建立一个现实模型,以了解构建智能家居所涉及的主要组件。 主要组成部分可以分为:

  • 物联网传感器
  • 物联网网关
  • 物联网协议
  • 物联网固件
  • 物联网云和数据库
  • 物联网中间件(如果需要)

涉及家庭自动化的物联网传感器有成千上万,并且家庭自动化网关也有数百个。 大多数固件是用c,python,node.js或任何其他编程语言编写的。

物联网云的最大参与者可以分为平台即服务(paas)和基础架构即服务(iaas)。

物联网主要供应商

  • aws iot
  • azure iot
  • thingworx
  • ubidots
  • thingspeak
  • carriots
  • konekt
  • tempoiq
  • xively
  • ibm bluemix

物联网平台的特点

同样,这些平台在物联网应用程序和它们提供的与安全性相关的功能上有着极大的分歧。 其中一些平台是开源的。

让我们来看看您对典型的物联网平台的期望:

  • 设备安全性和认证
  • 消息代理和消息队列
  • 设备管理
  • 支持诸如coap,mqtt和http之类的协议
  • 数据收集,可视化和简单分析功能
  • 与其他Web服务的集成性
  • 水平和垂直可伸缩性
  • 用于实时信息流的websocket api

除了我们上面提到的内容外,越来越多的平台构建者正在向开发人员开放其库的采购。 以arduino的ds18b20的达拉斯温度库为例,由于开源开发,它很快移植到了一个新版本,该版本帮助开发人员将ds18b20与linkit one集成。 随着物联网趋于不断发展,理解这些事情变得至关重要,拥有同等响应的平台可以使业务安全进行。

现在,从物联网传感器开始,深入评估这些组件中的每一个。

家庭自动化传感器

可能有成千上万个此类传感器可以作为此列表的一部分,但是由于这是对智能家居技术的介绍,因此我们将对其进行简要介绍。 我们将通过其传感功能细分用于家庭自动化的物联网传感器:

  • 温度传感器
  • 照度传感器
  • 水位传感器
  • 空气成分传感器
  • 监控摄像机
  • 声音/声音传感器
  • 压力传感器
  • 湿度传感器
  • 加速度计
  • 红外传感器
  • 振动传感器
  • 超声波传感器

根据您的需求,您可以使用其中的一个或多个来构建真正的智能家居物联网产品。 让我们来看看一些最常用的家庭自动化传感器。

1.温度传感器

市场上到处都是,但著名的温度传感器是ti的dht11 / 22,ds18b20,lm35和msp430系列。 msp430系列比其他型号更精确,但同时,它还是原型制作或初始产品测试中最昂贵的产品之一。 msp430是所有温度传感器的佼佼者,因为它们的精度和电池消耗极小。

dht11的温度范围非常有限,并且存在精度问题。 另一方面,dht22精度更高一些,但仍然不是首选。

另一方面,与dht22和11等数字温度传感器相比,ds18b20的精度更高。达拉斯温度传感器是模拟温度传感器,精度低至0.5度。

家庭自动化传感器
家庭自动化传感器

请注意,通常,您从这些传感器直接感测到的温度可能不太准确,无论您做什么,都偶尔会看到1000 f或更高的值。

2.照度传感器

照度传感器可测量光度,可用于触发各种功能,从交叉验证运动到太暗则打开灯。 一些最受欢迎的光传感器是tsl2591和bh1750。

最近的测试将tsl2591和bh1750包含在低功率的IoT设备中,发现它们在大多数用例中都能正常工作。

这是罗伯特(robert)和托马斯(tomas)所做的一项研究,展示了这两者与光谱仪和光电二极管的比较。

3.水位传感器

在制作原型时,您可以考虑使用固态etape液位传感器,或者像其他传感器一样,仅使用hc-sr04超声波传感器来测量水位。另一方面,在其他两个条件都不足够的情况下,则必须利用可以提供更高性能的方法。

浮动液位传感器和其他类似lm1830的ic为物联网开发人员提供了更精确的测量功能-尽管它们比其他产品昂贵得多。

4.空气成分传感器

开发人员可以使用几个特定的传感器来测量空气中的特定成分:

  • mics-5525共同监控
  • mq-8测量氢气水平
  • mics-2714测量氮氧化物
  • mq135可检测有害气体水平(NH3,NOX,酒精,苯,烟,CO2

这些传感器中的大多数都有加热时间,这也意味着它们需要一定的时间才能真正开始提供准确的值。

这些传感器主要依靠其表面来检测气体成分。 当他们最初开始感应时,他们的表面上总会有东西,某种沉积需要一定的热量才能消失。

因此,在表面被充分加热后,真实的值开始显示出来。

5.用于监视和分析的摄像机传感器

在这种情况下,通常会使用一系列针对硬件开发套件的网络摄像头和摄像机。 具有USB端口的硬件可集成摄像头模块以构建功能。

但是利用USB端口的效率不是很高,特别是在实时视频传输或任何类型的视频处理的情况下。

以树莓派为例。 它带有一个摄像头模块(pi cam),该摄像头模块使用Flex连接器直接连接到开发板上,而无需使用usb端口。 这使得pi cam极为高效。

6.声音检测传感器

声音检测在从监视婴儿到自动打开和关闭灯光到在门上自动检测狗的声音并将其打开的所有过程中都起着至关重要的作用。

一些常用的声音检测传感器包括sen-12462和easyvr屏蔽罩,用于快速原型制作。

这些传感器的性能不如3dsignals的工业级传感器,后者甚至可以检测到极低的噪声水平,并且可以在各种噪声水平之间进行微调,以建立均匀的机器故障模式。

7.湿度传感器

这些传感器为智能家居带来了感知空气中湿度/ rh水平的功能。 精度和感测精度在很大程度上取决于多个因素,包括整个传感器的设计和位置。

但是,与诸如hih6100和dig rh的高质量传感器相比,为快速原型制造而设计的某些传感器(如dht22和11)将始终表现不佳。

在制造能够检测湿度的产品时,请确保没有局部的湿度层影响实际结果。 另外,请记住,在某些小空间中,一端的湿度可能会比另一端高。

当您查看空气成分可以自由移动的自由和开放空间时,可以预期传感器周围的分布是均匀的,并且随后将需要较少的纠正措施来进行正确的校准。

家庭自动化协议

打造家庭自动化产品最重要的部分之一就是考虑协议,即设备将用于与网关,服务器和传感器进行通信的协议。 几年前,唯一的方法是使用蓝牙,Wi-Fi或gsm。 但是由于蜂窝SIM卡上的额外费用以及Wi-Fi的性能低下,大多数此类解决方案都无法使用。

蓝牙得以幸存,后来演变为智能蓝牙或低功耗蓝牙。 这有助于在“移动服务器供电的经济”中带来大量的连接性。 本质上,您的手机将充当中间件,以从ble-powered传感器获取数据并将其发送到Internet。

在查看主要的家庭自动化协议时,以下是最重要的列表:

  • 低功耗蓝牙或智能蓝牙:具有网状功能,安全性,数据加密算法等的无线协议。 适用于智能家居的基于物联网的产品的理想选择。
  • zigbee:物联网的低成本,网状网络和基于低功耗射频的协议。 不同的Zigbee版本不会互相交流。
  • x10:一种传统协议,利用电力线布线进行信号传输和控制。
  • Insteon:与设备进行无线和有线通信。
  • z-wave:专注于家庭自动化,重点是安全性。
  • wi-fi:无需解释。
  • upb:使用安装在房屋中的现有电源线。 降低成本。
  • thread:用于智能家居自动化的免版税协议,使用6lowpan。
  • ant:一种超低功耗协议,可帮助开发人员构建具有网格分布功能的低功耗传感器。
  • 6lowpan

家庭自动化:哪种协议最好?

尽管有些协议显然可以提供更多的功能,但从您的智能家居开发需求入手,然后逐步缩小解决方案的范围,这一点始终很重要。

通常首选的协议是蓝牙低功耗,z波,zigbee和线程。 现在可以通过以下因素来缩小协议选择范围:

  • 进行身份验证的能力
  • 传感器网络的质量
  • 数据传输率
  • 安全级别
  • 所需的网络拓扑
  • 周围物体的密度
  • 有效距离

家庭自动化架构

该体系结构支持家庭自动化解决方案的以下注意事项:

  • 涉及多级身份验证的端到端安全机制
  • 端到端数据加密,包括链路层
  • 灵活且可配置的访问和授权控制
  • 强大的云基础架构
  • 内置反馈回路的网络不可知论者
  • 可配置的基于云的规则引擎
  • api端点
  • 数据可扩展性
  • Nosql数据库

家庭自动化网关

对于开发家庭自动化产品,通常仅将产品发送数据到服务器是不够的。 由于电池和协议的限制,来自家庭中一个或多个传感器的数据已通过物联网网关进行路由。

要为您的物联网家庭自动化选择理想的网关,请考虑以下因素:

  • 支持的通讯协议
  • 实时能力
  • mqtt,coap和https支持
  • 安全性和配置
  • 模块化

在构建物联网网关时,当产品处于市场引入初期时,模块化和混合物联网协议支持就位居榜首。

要将网关合并到家庭自动化堆栈中,可以考虑以下选项:

  • 要么使用现有的硬件堆栈(使用raspberry pi,intel edison等)从头开始创建网关。 然后,当验证了poc时,您可以创建自己的自定义硬件。
  • 或者,您可以使用现有的网关模块,例如ingincs ble gateway。 这些网关非常易于定制,并可以与您的云服务和设备连接。 但是,它们可能会或可能不会提供构建某些功能所需的相同级别的支持。

例如,网络队列错误的网关可能会导致流量拥塞,或者它可能不支持您希望使用的必需协议。

此外,将这些网关转到其他一些技术堆栈可能会变得非常困难。 应该强调的是,它们对于强大的原型需求非常有用。

家庭自动化编程语言

以下编程语言主导着家庭自动化领域:python,嵌入式c,c,shell,go和javascript(node.js)。 这主要是由于对类似用例的语言进行了纯粹的优化。

家庭自动化框架

如果您认为可以自己构建用于家庭自动化的所有内容(协议,硬件,软件等),那将是不现实的。 从高速成长的初创公司到以十亿美元为导向的以消费者为中心的企业,每个人现在都在借助家庭自动化框架来构建联网产品,以使消费者满意。

物联网开发人员可以使用超过15种不同的智能家居框架,以使用和构建其下一代联网家庭产品。 这些框架中有一些是开源的,而有些则是封闭的。 让我们在以下各节中对其进行一些研究。

开源物联网平台和框架

期待做一个快速而肮脏的原型? 无需从头开始写下所有内容。 由于做出了许多杰出的贡献,我们提供了开放源代码平台,这些平台可以立即使您的家庭自动化产品启动并运行。

最受欢迎的是:

  • home assistant
  • calaos
  • domoticz
  • openhab: 支持用Java编写的树莓派,并具有通过调整ui来构建自己的移动应用程序的设计工具。
  • openmotics(向开发人员询问,等待他们响应)
  • linuxmce
  • pidome
  • misterhouse
  • smarthomatic

让我们看一下主要的家庭自动化物联网平台:

1.home assistant

支持树莓派,使用python,而os是hassbian。 它简化了自动化规则,供开发人员用来构建其家庭自动化产品,从而节省了数千行代码。

home assistant的工作方式:

  • 家庭控制:负责收集信息和存储设备。
  • 家庭自动化根据用户配置触发命令。
  • 智能家居会根据用户过去的行为进行触发。

作为开发人员,了解home assistant的体系结构对我们非常重要,这样我们才能在其之上构建高性能产品。

家庭控制由五个部分组成:

  • 组件(components)
  • 状态机(state machine)
  • 事件总线(event bus)
  • 服务注册表(service registry)
  • 计时器(timer)

所有这些组件的共同作用为智能家居物联网创建了一个无缝的异步系统。 在早期版本的家庭助理核心中,核心通常不得不在寻找新设备信息时停止。

但是随着新版本的家庭助理,已经引入了向后兼容的api和异步内核,从而使物联网应用程序的运行速度大大提高。

关于家庭助理的核心体系结构,最好的部分是它在设计和开发方面是否经过精心设计以支持在家中的物联网。

2.openhab

openhab是用于智能家居的家庭自动化和物联网网关框架。 与家庭助理类似,openhab与raspberry pi很好地配合,并带有自己的设计工具来为您的家庭自动化产品创建ui。

Openhab的理解架构:

  • 模块化:通过捆绑包概念实现
  • 运行时动态:以便可以在运行时管理软件组件
  • 服务导向:为各个组件提供相互交谈和交换信息的服务

进一步依赖ogsi框架,它利用了堆叠在一起的以下各层:

  • 模块化层:管理包之间的依赖关系
  • 生命周期层:控制包的生命周期
  • 服务层:定义各个模块之间的动态通信模型
  • 实际服务:这是应用程序层,使用所有其他层
  • 安全层:可选,利用java 2安全体系结构并管理来自不同模块的权限

openhab功能:

  • 插件框架
  • 规则引擎
  • 测井机制
  • ui抽象:ui小部件,项目ui提供程序和动态ui配置的树结构
  • ui实现可用于Web,Android和ios
  • 设计工具的可用性

最初,openhab仅作为业余程序员的项目被观察到,甚至openhab.org的许多部分都传达了同样的信息。 但是最近我们发现与openhab在建立开发人员经济体来建造物联网智能家居方面的努力不同。

例如,以这个缓慢增长的github回购谈论openhab云为例。

进一步,让我们看一下openhab将支持的框架和技术:node.js,express.js,nginx,mongodb,redis和socket.io。

与home assistant的巨大可集成性不同,openhab当前仅限于:

  • ifttt
  • amazon alexa
  • aws ec2
  • aws iot with openhab
  • mqtt support

openhab非常强大,但同时在集成方面非常有限。 openhab背后的团队非常有前途,并且已经在很短的时间内传达了将openhab开放给其他集成功能的计划。

3.calaos

calaos最初是由一家公司于2013年关闭的公司开发的,但是自那时以来,家庭自动化一直在增长,并且由开发人员进行维护和升级。 虽然现在是开源的,但它可以帮助预制的源代码执行以下操作:

  • 创建美好的家庭环境
  • 控制音乐
  • 专注于时间,心情或氛围的自动化规则
  • 易于配置

calaos支持以下硬件:

  • premoboard
  • cubieboard
  • raspberry pi
  • intel-based machines

他们缺乏对开发私有物联网应用程序的支持,这限制了开发人员使用它们为消费者构建高质量的解决方案。

4.domoticz

domoticz使您可以通过最简单的设计来监视和配置设备和传感器。 令人印象深刻的是,整个项目非常轻巧,它进一步获得了与第三方的高度集成以及自动学习开关等功能的支持。

该平台旨在与linux和Windows等操作系统配合使用。

domoticz的协议功能包括:z-wave,蓝牙,apple homekit,x10和mqtt

  • rfxcom收发器
  • esp2866 wi-fi模块
  • p1智能电表
  • 无油仪表
  • 脉冲计数器
  • 1-wire
  • philips hue
  • 基本恒温器

domoticz可用于创建您可以想到的任何类型的服务,从智能天气设备到电报机器人。

5.domoticz architecture

当前,很少有人了解domoticz的体系结构,这使得在不构建产品本身的不必要风险的情况下,很难在其上构建应用程序。例如,当您查看用于控制执行器的传感器的概念时,通用体系结构的整个设计会有些怪异。 它似乎丢失了。使用domoticz构建高级应用程序可以使用c ++,lula,php,shell等完成。

物联网中的区块链

消费者,尤其是在数字时代长大的消费者,了解隐私的重要性。随着物联网技术的发展,安全性已成为现实部署场景的核心。

只需35美元的树莓派,就可以轻松地将区块链部署到家庭网络中。设备和网关之间的区块链安全层可以在不大规模修改现有代码库的情况下实现。

简而言之,区块链技术将是大多数用户甚至不知道的实现方式,但它将在未来发挥巨大作用,通过革命性的新业务模式(如Airbnb的动态租赁)向他们保证。

到目前为止,互操作性问题和损坏的协议似乎已经阻碍了基于物联网的智能家居的发展。

但是随着技术的进步以及功率非常低的设备可以产生越来越多的计算能力,家庭自动化将逐渐成为一种技术,它对于我们每天的构建和开发将很容易。

SO资源郑重声明:
1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!3187589@qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!

SO资源 » 使用物联网实现家庭自动化