使用物联网的家庭自动化

物联网家庭自动化:入门
家庭自动化由三个主要部分组成:

硬件
软件/应用程序
通讯协议
对于为客户构建真正的智能家居体验,这些部分都同样重要。拥有合适的硬件可以迭代开发物联网原型并轻松响应技术枢轴。

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

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

家庭自动化的应用
为了重建消费者的期望,家庭自动化预计将针对新数字消费者的广泛应用。消费者可以期待看到家庭自动化主导的物联网连接的一些领域是:

照明控制
暖通空调
草坪/园艺管理
智能家电
改善家庭安全
家庭空气质量和水质监测
基于自然语言的语音助手
更好的信息娱乐交付
人工智能驱动的数字体验
智能开关
智能锁
智能电能表
该列表仍然并不详尽,并将随着时间的推移而不断发展,以适应新的物联网用例。

现在您已经熟悉了家庭自动化应用程序,让我们详细了解一下构建典型家庭自动化原型涉及哪些组件。

家庭自动化组件
我们之前已经讨论过它们,但让我们清楚地分离我们的组件,最终帮助您构建一个关于构建智能家居所涉及的主要组件的现实模型。主要组件可以分为:

物联网传感器
物联网网关
物联网协议
物联网固件
物联网云和数据库
物联网中间件(如果需要)
家庭自动化涉及的物联网传感器有数千个,家庭自动化网关也有数百个。大多数固件都是用 c、python、node.js 或任何其他编程语言编写的。

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

主要物联网 PaaS 提供商
AWS物联网
天蓝色物联网
Thingworx
乌比多特
事物说话
马车
科内克特
节奏
积极地
IBM Bluemix
物联网平台的特点
同样,这些平台在其提供的物联网应用程序和安全相关功能方面存在极大分歧。其中一些平台是开源的。

让我们看看典型的物联网平台应该具备什么:

设备安全和身份验证
消息代理和消息队列
设备管理
支持 coap、mqtt 和 http 等协议
数据收集、可视化和简单分析功能
与其他网络服务的集成
水平和垂直可扩展性
websocket apis for real-time 用于实时信息流
除了我们上面提到的之外,越来越多的平台构建者正在向开发人员开源他们的库。 以arduino 的 ds18b20 的达拉斯温度库为例, 由于开源开发,它很快就移植到了新版本,帮助开发人员将 ds18b20 与 linkit one 集成 。随着物联网不断发展,理解这些事情变得至关重要,并且拥有一个同样响应的平台可以使业务安全地进行。

现在让我们从物联网传感器开始深入评估每个组件。

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

温度传感器
勒克斯传感器
水位传感器
空气成分传感器
用于监控的摄像机
语音/声音传感器
压力传感器
湿度传感器
加速度计
红外传感器
振动传感器
超声波传感器
根据您的需要,您可以使用其中的一个或多个来构建真正的智能家居物联网产品。让我们看一下一些最常用的家庭自动化传感器。

温度传感器
市场上充斥着它们,但著名的温度传感器是TI的dht11/22、ds18b20、lm35和msp430系列。msp430 系列比其他系列更准确,但同时,它也是用于原型设计或初始产品测试目的的最昂贵的系列之一。msp430 优于所有温度传感器,因为它们的精度和电池消耗极小。

dht11 的温度范围非常有限,并且存在精度问题。另一方面,dht22 更准确一些,但仍然没有将其作为首选。

另一方面,与 dht22 和 11 等数字温度传感器相比,ds18b20 更准确。 达拉斯温度传感器是模拟传感器,可以极其精确地低至 0.5 度。

家庭自动化传感器
请注意,通常情况下,您从这些传感器直接感测到的温度可能不是很准确,无论您在做什么,您偶尔都会看到 1000°F 或更高的值。

构建温度传感器有一个完整的逻辑,我们将在另一篇博客文章中讨论这一点。

勒克斯传感器
勒克斯传感器测量亮度,可用于触发各种功能,从交叉验证运动到在太暗时打开灯。一些最流行的光传感器是 tsl2591 和 bh1750。

最近将 tsl2591 和 bh1750 纳入低功耗物联网设备的测试发现,它们在大多数用例中都能很好地工作。

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

勒克斯传感器
为了更好地了解这两个传感器是否满足您的需求,我们建议进行照度测试,然后对数据进行标准化,以观察各种情况下的偏差。

水位传感器
在构建原型时,您可以考虑使用固态 etape 液位传感器,或者像其他传感器一样,仅使用 hc-sr04 超声波传感器来测量水位。

另一方面,在这两者还不够的其他情况下,必须利用可以提供更高性能的东西。

浮球液位传感器和 lm1830 等其他 IC 为物联网开发人员提供了更精确的测量功能 - 尽管它们比其他芯片贵得多。

空气成分传感器
开发人员使用一些特定的传感器来测量空气中的特定成分:

通过 mics-5525 进行协同监测
mq-8 用于测量氢气水平
mics-2714 用于测量氮氧化物
mq135 感测有害气体浓度(NH3、NOx、酒精、苯、烟雾、CO2)
其中大多数传感器都有加热时间,这也意味着它们需要一定的时间才能真正开始提供准确的值。

传感器加热改造
这些传感器主要依靠其表面来检测气体成分。当它们最初开始感知时,它们的表面上总是有一些东西,某种需要加热才能消失的沉积物。

因此,当表面足够加热后,真实值开始显现。

用于监视和分析的摄像机
在这种情况下通常会使用一系列特定于硬件开发套件的网络摄像头和摄像机。带有 USB 端口的硬件可集成相机模块来构建功能。

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

以树莓派为例。它配备了一个摄像头模块(pi cam),可以使用柔性连接器直接连接到开发板,而无需使用 USB 端口。这使得 pi cam 非常高效。

声音检测
声音检测在各个方面都发挥着至关重要的作用,从监控婴儿到自动开灯和关灯,再到自动检测狗在门口的声音并为您的宠物开门。

用于声音检测的一些常用传感器包括用于快速原型设计的 sen-12462 和 easyvr Shield。

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

湿度传感器
这些传感器为智能家居带来了感知空气湿度/相对湿度水平的能力。准确性和传感精度在很大程度上取决于多种因素,包括整体传感器设计和放置。

但是,与 hih6100 和 dig rh 等高质量传感器相比,某些专为快速原型设计而设计的传感器(例如 dht22 和 11)的性能始终较差。

在构建可感测湿度水平的产品时,请确保没有局部湿度层遮挡实际结果。另外,请记住,在某些狭小的空间中,一端的湿度可能比其他端高。

当您观察空气成分可以自由移动的自由和开放空间时,传感器周围的分布预计是均匀的,因此,正确校准所需的纠正措施较少。

家庭自动化协议
构建家庭自动化产品最重要的部分之一是考虑协议——您的设备将使用这些协议与网关、服务器和传感器进行通信。几年前,唯一的方法是使用蓝牙、Wi-Fi 或 GS​​M。但由于蜂窝 SIM 卡的费用增加和 Wi-Fi 性能低下,大多数此类解决方案都不起作用。

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

在查看主要的家庭自动化协议时,以下协议名列前茅:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/172541.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux C语言 25-预处理操作

Linux C语言 25-预处理操作 本节关键字:C语言编译过程、预处理、多行宏定义、通过宏判断操作系统、通过宏判断VC版本 相关C库函数:main,printf 什么是预处理? 预处理是C语言源码编译中重要的一步。用C语言编写的代码不能直接被…

案例027:基于微信小程序的校园二手平台的设计与实现

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

基于springboot实现智慧党建系统项目【项目源码】

基于springboot实现智慧党建系统演示 Java技术 Java是由Sun公司推出的一门跨平台的面向对象的程序设计语言。因为Java 技术具有卓越的通用性、高效性、健壮的安全性和平台移植性的特点,而且Java是开源的,拥有全世界最大的开发者专业社群,所以…

银行测试--------转账

转账 付款账号测试 付款账号是借记卡,也可以是活期存折信用卡,定期存折不能转出。一般在账号选择的时候进行屏蔽转出账户在销户,冻结,挂失等异常状态,不能进行转账付款账号金额不够 转账金额测试 0.01~…

C++ libcxxabi中dynamic_cast 实现

摘要:最近在看一个崩溃的过程中详细看了一遍cxxabi的定义,就想着看一些llvm中cxxabi的一些实现。本文描述了cxxabi中dynamic_cast的实现以及原理。   关键字:cxxabi,dynamic_cast 1 简介 C中,dynamic_cast用于有虚函数的继承链…

【go入门】表单

4.1 处理表单的输入 先来看一个表单递交的例子&#xff0c;我们有如下的表单内容&#xff0c;命名成文件login.gtpl(放入当前新建项目的目录里面) <html> <head> <title></title> </head> <body> <form action"/login" meth…

【Java】循环语句练习

文章目录 1. 计算5的阶乘2. 计算 1! 2! 3! 4! 5!3. 数字9 出现的次数4. 判定素数5. 求1-100之间的素数6. 求2个整数的最大公约数7. 计算分数的值8. 模拟登陆9. 输出乘法口诀表10. 求出0&#xff5e;999之间的所有“水仙花数”并输出11. 猜数字游戏&#x1f648; 1. 计算5的…

Linux系统编程 day05 进程控制

Linux系统编程 day05 进程控制 1. 进程相关概念2. 创建进程3. exec函数族4. 进程回收 1. 进程相关概念 程序就是编译好的二进制文件&#xff0c;在磁盘上&#xff0c;占用磁盘空间。程序是一个静态的概念。进程即使启动了的程序&#xff0c;进程会占用系统资源&#xff0c;如内…

FO-like Transformation

参考文献&#xff1a; [RS91] Rackoff C, Simon D R. Non-interactive zero-knowledge proof of knowledge and chosen ciphertext attack[C]//Annual international cryptology conference. Berlin, Heidelberg: Springer Berlin Heidelberg, 1991: 433-444.[BR93] Bellare M…

造一个float类型二维矩阵,并将二维矩阵存快速储到一个float*中(memcpy)

// 创建并初始化一个二维数组 std::vector<std::vector<float>> createAndInitializeArray(int rows, int cols) {std::vector<std::vector<float>> array(rows, std::vector<float>(cols));float value 0.0f;for (int i 0; i < rows; i) {…

大数据-之LibrA数据库系统告警处理(ALM-37007 Datanode进程异常)

告警解释 当出现如下情况时&#xff0c;产生该告警&#xff1a; DN实例数据目录中的postgresql.conf配置文件不存在或者其中某个配置参数不对。DN实例线程无法监听IP&#xff0c;或者无法绑定监听端口。DN实例进程没有其数据目录读写权限。 告警属性 告警ID 告警级别 可自…

4-Python与设计模式--抽象工厂模式

4-Python与设计模式–抽象工厂模式 一、快餐点餐系统 想必大家一定见过类似于麦当劳自助点餐台一类的点餐系统吧。在一个大的触摸显示屏上&#xff0c; 有三类可以选择的上餐品&#xff1a; 汉堡等主餐、小食、饮料。当我们选择好自己需要的食物&#xff0c;支付完成后&#…

软件介绍01- koodo Reader支持所有电脑平台!

1 软件简介 Koodo Reader软件是一款阅读器&#xff0c;可以阅读各种格式的文档。用来代替kindle。界面简洁&#xff0c;好看&#xff0c;阅读功能强大&#xff0c;而且可以多设备同步。 因为开源&#xff0c;所以免费。而且支持所有电脑平台&#xff01; 支持格式&#xff1a…

Android修行手册-ViewPager定制页面切换以及实现原理剖析

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

kafka的设计原理

文章目录 1 Kafka简介2 Kafka的架构2.1 Kafka 一些重要概念2.2 工作流程2.3 副本原理2.4 分区和主题的关系2.5 生产者2.5.1 分区可以水平扩展2.5.2 分区策略 2.6 消费者2.6.1 消费方式2.6.2 分区分配策略 2.7 数据可靠性保证2.7.1 副本数据同步策略2.7.2 ACK 应答机制2.7.3 可靠…

Java抽象类和接口(1)

&#x1f435;本篇文章将对抽象类和接口相关知识进行讲解 一、抽象类 先来看下面的代码&#xff1a; class Shape {public void draw() {System.out.println("画");} } class Cycle extends Shape {public void draw() {System.out.println("圆形");} } …

开发知识点-ArkTS-鸿蒙开发-Typescript

Typescript IED IED https://developer.harmonyos.com/cn/develop/deveco-studio/#download

打开CMD的六种方法,CMD快捷键,CMD命令大全及详解

目录 前言1. winR快捷键2、通过文本文档创建&#xff1b;3、通过C盘中的cmd.exe文件打开&#xff1b;4、创建快捷方式&#xff1b;5、通过PowerShell打开&#xff1b;6、通过文件夹导航栏打开&#xff1b; 前言 自己的电脑win键失灵了&#xff0c;想通过winR来调出cmd&#xff…

【Linux基础】Linux常见指令总结及周边小知识

前言 Linux系统编程的学习我们将要开始了&#xff0c;学习它我们不得不谈谈它的版本发布是怎样的&#xff0c;谈它的版本发布就不得不说说unix。下面是unix发展史是我在百度百科了解的 Unix发展史 UNIX系统是一个分时系统。最早的UNIX系统于1970年问世。此前&#xff0c;只有…

初始React

<!DOCTYPE html> <html> <head> <meta charset"UTF-8" /> <title>React</title> </head> <body> 了解React <!-- React是一个用于构建web和原生态交互界面的库 相对于传统DOM开发优势&#xff1a;组件化开发…