1
0

lan-iot.md 2.4 KB

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

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

##物联网层级结构

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

物联网三层结构

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

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

物联网层级结构

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

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

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

##物联网服务层

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

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

IoT Server Layer

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