热门标签 | 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


推荐阅读
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
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社区 版权所有