物联网架构设计「建议收藏」

物联网架构设计「建议收藏」在设计lan(Github:https://github.com/phodal/lan)物联网平台的时候,结合之前的一些经验,构建出一个实际应用中的物联网构架模型。然后像lan这样的应用,在里面刚属于服务层。物联网层级结构通常,我们很容易在网上看到如下图所示的三层结构:从理论上划分这样的层级结构是没有问题的,也是有各种理…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

设计 lan (Github: https://github.com/phodal/lan) 物联网平台的时候,结合之前的一些经验,构建出一个实际应用中的物联网构架模型。

然后像lan这样的应用,在里面刚属于服务层。

物联网层级结构

通常,我们很容易在网上看到如下图所示的三层结构:

物联网三层结构

从理论上划分这样的层级结构是没有问题的,也是有各种理论依据。然而理论和现实往往是严重脱轨的,如上图所示,图中将网络层单独分为了一层,而并没有独立出应用程序相关的功能。

从实践的角度上,我更愿意用如下的架构来构建我的物联网系统。

物联网层级结构

其功能可以用下表来表示。

层级 作用 与下一层级的连接方式
硬件层 获取、发送传感器数据,执行指令 串口、蓝牙、有线、SPI、WiFi、USB等等
协调层 协调硬件层与服务器的通信,并负责处理部分数据 网络连接及硬件层的连接方式
服务层 以视为服务器层 网络连接
应用程序层 为用户提供交互功能 网络连接

硬件层包含了数据众多的传感器、控制器、以及执行器,通常这部份会由硬件人员与硬件开发人员一起协作和开发。而协调层则是充当硬件与服务层通信的桥梁,这是在系统中需要特别考虑的部份,一个物联网系统的设计主要取决于这个层级

物联网服务层

而服务层的核心是传统的Web应用程序的结构,只是协议层变成了一些适配器,我们需要支持不同的协议,这导致了我们在这个层需要有一个更好的结构,故而我们建议使用六边形架构。而在实际中,用户最后接触到的便是应用程序层,在这一层中需要有很好的用户体验设计及流畅度。

因而在设计Lan物联网平台的时候,参考了之前的物联网平台的设计,增加了用户授权以及模块化加载思想。

IoT Server Layer

上图的模型可以让我们脱离具体的框架与实现,关注于业务上逻辑。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193348.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IDEa快捷键_idea进入方法快捷键

    IDEa快捷键_idea进入方法快捷键一、IntelliJIDEA快捷键大全Win版一、Ctrl快捷键 快捷键 说明 常用 Ctrl+F 在当前文件进行文本查找 √ Ctrl+R 在当前文件进行文本替换 √ Ctrl+Z 撤销 √ Ctrl+Y

    2022年10月1日
    2
  • 0707作业

    0707作业

    2021年6月8日
    97
  • 权限设计-系统登录用户权限设计[通俗易懂]

    权限设计-系统登录用户权限设计[通俗易懂]需求分析—场景假设需要为公司设计一个人员管理系统,并为各级领导及全体员工分配系统登录账号。有如下几个要求:1. 权限等级不同:公司领导登录后可查看所有员工信息,部门领导登录后只可查看本部门员工的信息,员工登录后只可查看自己的信息;2.访问权限不同:如公司领导登录后,可查看员工薪水分布界面,而员工则不能看到;3.操作权限不同:如系统管理员可以在信息发布界面进行增删改查发布信息

    2022年7月13日
    18
  • 2021版idea激活码99年-激活码分享

    (2021版idea激活码99年)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
    134
  • java rpm卸载_使用RPM卸载软件「建议收藏」

    java rpm卸载_使用RPM卸载软件「建议收藏」rpm-e做了什么rpm-e(等同于rpm–erase)这个命令能够卸载或擦除一个或多个安装包,当RPM卸载一个RPM包时,做了以下几件事:确保数据库中没有其它包引用了要卸载的包。执行卸载前的脚本(如果有的话)检查配置文件是否已经被修改过,如果是,则保留它们的一个备份。查询数据库,找到这个包安装的所有文件,如果该些文件不属于别的包,则将它们删除。执行卸载后的脚本(如果有的话)从数据库中…

    2022年9月23日
    2
  • 关于安装QCAT/QXDM异常的问题

    关于安装QCAT/QXDM异常的问题第一种情况安装之后报licenseerror原因:可能安装时出错;解决:卸载QXDM和QCAT之后,删除注册表的信息,删除C盘文件夹内容:注册表位置:HKEY_LOCAL_MACHINE\SOFTWARE\Qualcomm\QIKC盘内容位置:C:\ProgramData\Qualcomm\QIKC:\ProgramFiles(x86)\Qualcomm\QIKTool…

    2022年10月2日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号