热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

物联网通信架构总结

本文从宏观上介绍IoT的通信架构,让大家都日渐频繁的物联网设备工作原理有一个初步的理解,主要分为了直连、网关、云三种模式。1.直连模式(d

 本文从宏观上介绍IoT的通信架构,让大家都日渐频繁的物联网设备工作原理有一个初步的理解,主要分为了直连、网关、云三种模式。

 

1. 直连模式(direct integration pattern)

通常我们使用的小米手环等物联网设备,和手机就是直连模式,但其使用的是蓝牙,并不能提供通用的接口来访问;解决这一问题的方法是使用已经成熟多年的Web技术,所以也有人提出了Web of Things的概念。

如果设备支持HTTP和TCP/IP,并且能够直接连接互联网,比如使用Wi-Fi,那么可以使用这种直连模式。通常设备需要较为强大的处理能力,并且有持续的电源,比如智能家居等。要通过Web直接控制设备,其自身需要实现类似下图的功能,从硬件控制、RESTFUL API的设计到HTTP服务器的实现。

 

 

2. 网关模式 (gateway integration pattern)

 

如果设备的资源受限,或者不能直接接入互联网(比如仅仅支持蓝牙、ZigBee),它们可以通过接入功能强大的网关(gateway)来实现通过Web访问;网关将其他类型的协议转换成统一的对外接口(如将设备的CoAP转换为HTTP提供给用户),同时还可以提供安全认证、集成、临时数据存储、对设备的语义描述等功能。开源的网关项目有Open Hab [2],此外很多大厂商也有自己的网关来支持自己的设备。

 

3. 云模式 (cloud integration pattern)

 

云模式可以看做网关模式的扩展,只不过网关在云端,提供协议的转换、数据处理等云服务,最大的特点在于可以通过外网访问各种设备。目前已经出现了各种提供物联网云服务的平台,如AWS、阿里、微软等巨头,还有专门的平台如Xively、机智云等,百家争鸣,但是他们大都采用类似下图的结构,通过MQTT协议来管理各种设备,云端有虚拟设备来保存设备状态,存储管理设备产生的数据,使用秘密的API KEY通过REST API来发送管理指令等。

 

 

4.总结

通过云的模式往往使指令传输很慢,所以一个物联网设备可能同时允许上述几种操作模式。使用Web来控制设备,还可以轻松的使用IFTTT这样的第三方自动化平台,来设计条件自动化的执行一些功能,并于常用App如Twitter互动。最后,盗几张书中对协议介绍的图,来方便理解物联网中涉及的各种协议,如蓝牙、MQTT、ZigBee、Apple Homekit等。

 

 

 

 

 

附录:

[1] Building the Web of Things: With examples in Node.js and Raspberry Pi

https://www.manning.com/books/building-the-web-of-things?a_bid=16f48f14&a_aid=wot

[2] http://www.openhab.org/

[3].国外各种平台汇总,有上百种

https://www.postscapes.com/internet-of-things-platforms/

[4] 一部分平台的稍微详细的总结介绍

http://www.cnblogs.com/ibrahim/p/iot-platform-outline.html

[5] 很多IoT的开源项目,其中AllJoyn提供了联通框架,或许值得额外关注

https://www.linux.com/news/21-open-source-projects-IoT

[6] http://www.cnblogs.com/ibrahim/p/iot-platform-outline.html

 


转载于:https://www.cnblogs.com/ascii0x03/p/7562498.html


推荐阅读
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 本文深入探讨了在Spring Boot中处理RESTful风格的表单请求的方法,包括请求参数处理、请求映射以及RESTful设计原则的应用。文章详细介绍了如何利用HTTP动词(如GET、POST、PUT、DELETE)来操作资源,并结合Spring Boot的注解(如@GetMapping、@PostMapping等)实现高效、清晰的请求处理逻辑。通过实例分析,展示了如何在实际项目中应用这些技术,提高开发效率和代码可维护性。 ... [详细]
  • 本文深入探讨了ASP.NET Web API与RESTful架构的设计与实现。ASP.NET Web API 是一个强大的框架,能够简化HTTP服务的开发,使其能够广泛支持各种客户端设备。通过详细分析其核心原理和最佳实践,本文为开发者提供了构建高效、可扩展且易于维护的Web服务的指导。此外,还讨论了如何利用RESTful原则优化API设计,确保系统的灵活性和互操作性。 ... [详细]
  • 本文介绍了多种Eclipse插件,包括XML Schema Infoset Model (XSD)、Graphical Editing Framework (GEF)、Eclipse Modeling Framework (EMF)等,涵盖了从Web开发到图形界面编辑的多个方面。 ... [详细]
  • Web网络基础
    目录儿1使用HTTP协议访问Web2HTTP的诞生2.1因特网的起源2.2互联网、因特网与万维网2.3万维网与HTTP3网络基础TCPIP3.1TCPIP协议族3.2TCPIP的分 ... [详细]
  • 微信小程序支付官方参数小程序中代码后端发起支付代码支付回调官方参数文档地址:https:developers.weixin.qq.comminiprogramdeva ... [详细]
  • UMPlatForm.NET 5.1 版本数据字典管理功能解析
    本文介绍了 UMPlatForm.NET 5.1 版本中的数据字典管理模块,探讨了该模块如何支持平台的数据共享与管理,以及如何通过用户和角色权限来增强系统的安全性。 ... [详细]
  • MVC框架下使用DataGrid实现时间筛选与枚举填充
    本文介绍如何在ASP.NET MVC项目中利用DataGrid组件增强搜索功能,具体包括使用jQuery UI的DatePicker插件添加时间筛选条件,并通过枚举数据填充下拉列表。 ... [详细]
  • 本文探讨了Web API 2中特性的路由机制,特别是如何利用它来构建RESTful风格的URI。文章不仅介绍了基本的特性路由使用方法,还详细说明了如何通过特性路由进行API版本控制、HTTP方法的指定、路由前缀的应用以及路由约束的设置。 ... [详细]
  • 本文介绍了基于Java的在线办公工作流系统的毕业设计方案,涵盖了MyBatis框架的应用、源代码分析、调试与部署流程、数据库设计以及相关论文撰写指导。 ... [详细]
  • 微服务自动化.dockercompose
    目录一、docker-compose二、docker-compose安装与配置1、修改docker.service2、下载文件3、将刚才下载的docker-compose文 ... [详细]
  • 本文将详细介绍如何配置并整合MVP架构、Retrofit网络请求库、Dagger2依赖注入框架以及RxAndroid响应式编程库,构建高效、模块化的Android应用。 ... [详细]
  • 分布式计算助力链力实现毫秒级安全响应,确保100%数据准确性
    随着分布式计算技术的发展,其在数据存储、文件传输、在线视频、社交平台及去中心化金融等多个领域的应用日益广泛。国际知名企业如Firefox、Google、Opera、Netflix、OpenBazaar等均已采用该技术,推动了技术创新和服务升级。 ... [详细]
  • REST API 时代落幕,GraphQL 持续引领未来
    尽管REST API已广泛使用多年,但在深入了解GraphQL及其解决的核心问题后,我深感其将引领未来的API设计趋势。GraphQL不仅提高了数据查询的效率,还增强了灵活性和性能,有望成为API开发的新标准。 ... [详细]
author-avatar
爱你不变2502906867
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有