python miio 连接小米网关_物联网网关

我们来看看这张图,这是小米智能网关的介绍,们在购买小米智能家居的时候总会看到需要搭配网关的概念,网关,这个在物联网中最常出现的设备,到底承载了什么功效。 

python miio 连接小米网关_物联网网关_第1张图片

1.物联网网关

1.1 信息传输

物联网设备的使用是需要连接网络的,但是生活中很多设备是没法联网的,比如家里很多的传感器(上图中的蓝牙设备、小米温湿度传感器等),这些设备本身之间通讯使用的是BLE(蓝牙)或ZigBee,连IP都没有,这些设备的联网就需要依赖物联网网关。非常容易想到了,网关下行连接这些物联网设备,上行连接网络,实现设备的联网。再看看小米智能家居的设备,我们也就可以明白为什么需要网关了。

但是有些设备本身可以自带网络通讯的,也会用到网关,这是为什么呢?因为在一些封闭的环境下,窝蜂网络或其它网络通讯很难稳定,因此需要网关来提供给更加稳定的网络。比如和我们日常相关的电表,它们安装在地下室或较为封闭的环境内,信号很差,如果使用窝蜂网络,信号可能会很差,导致数据无法及时传输甚至无法传输。

这种情况下我们选择的方案是在网络条件较好的地方部署物联网网关,使用RS485来将仪表和网关连接起来(当然,在不同场景下还可以用其他的方式进行连接,比如使用LoRa等)。网关再通过有线网络、4G网络等方式和云端建立连接。

网关除了信息传输之外,还有很重要的一点就是进行了协议的转换。

1.2 协议转换

每一种设备都会使用自己的语言进行沟通,设备在和网关进行通信的时候,需要网关基于开放的或者内部私有的协议,解析出数据,然后网关根据和云端的链接来组织数据,完成数据传输。

这个过程就需要网关可以支持不同的通信技术,我们来看下边这张图:

python miio 连接小米网关_物联网网关_第2张图片

北向接口:上半部分叫北向接口,需要网关接入到互联网。 

南向接口:下半部分叫南向接口,需要网关和设备相连。

上图中是一种理想状态,每个网关设备的接口类型和个数是不固定的,因为网关一般会根据应用场景来确定几个不同的规格型号。不同型号的网关需要支持不同类型的协议,以及不同个数协议的转换,所以网关的协议转换功能一般采用插件的软件架构方式。

这里我们不需要做过多的衍生,我们只需要知道网关可以执行各种协议的转换即可,后边有机会会慢慢聊,我们接下来看看网关的其他能力。

1.3 存储

网关本身具备一定的存储功能,因为如果遇到网络中断或者其他的什么意外故障,导致网关无法把数据传送到云端,这样会导致设备的数据丢失因此网关会将设备的信息存储起来。

除此之外,网关也会存储设备的信息,这样有助于设备运行过程中快速读取数据。这是怎么实现快速的呢,这里可以穿插一下,数据通讯是通过报文的形式的,报文内容的长度会影响传输本身传输速度,一些协议在建立好通讯之后,会省去每次都发送一些固定的内容,比如第二次发送会省去主题名,这样可以加快通讯速度。(具体后续我们会继续聊,今天主要以科普为主)

1.4 其他功能

我们知道,数据是互联网时代非常重要的东西,网关本身同样也会具备一定的安全性。

网关有完善的本地身份认证,它可以防止网关设备被随意修改软件或者数据。

网关能保证数据的加密传输,这是因为很多物联网设备的计算能力是非常弱的,不具备数据的加密能力,这时候就需要网关来保证数据的加密和解密。

除此之外,网关一般还会有设备管理、网关配置、空中升级这些模块,这些比较好理解了,我们就不在这里一一展开了。

以上就是我们理解中的传统网关,但其实随着云计算能力逐渐边缘化,边缘计算成为非常热门的话题,在这个过程中,网关也逐渐承担起边缘计算的作用,我们下一节就讲讲网关和边缘计算。

你可能感兴趣的:(python,miio,连接小米网关)