[物联网]2.5 控制设备

2022-03-29 14:35:21 浏览数 (1)

发送服务器的作用 发送服务器的目的在于向设备发送数据并控制设备。发送服务器可以使用 2.3 节介绍过的 HTTP、 WebSocket、 MQTT 协议和数据格式。 发送服务器靠在 1.3.4 节提到过的两种方法来运行,一种是通过设备申请来发送数据的同步传输;另一种是由发送服务器在任意时间发送数据的异步传输。那么,就用 HTTP、 WebSocket、 MQTT 协议来看看如何实现同步和异步传输。 使用 HTTP 发送数据 要实现数据发送, HTTP 是最简单的方法。在这个方法里,发送服务器是等待接收 HTTP 请求的 Web 服务器。设备向这台服务器申请发送数据,作为响应,服务器把数据发给设备(图 2.30)。

使用者需要定期从设备执行轮询连接。采用此方法的原因主要有以下两个。 原因一:无法确定唯一地址,例如无法给设备设定全局 IP 地址等。这种情况下,发送服务器就不知道应该把数据发送给哪台设备了。

原因二:考虑到设备频繁断电和移动线路的传输费用。此时,设备没有持续连接网络。即使设备已经连接过网络,但只要没有持续连接,那么,即使发送服务器执行了发送数据的操作,也发不到设备那里去(图 2.31)。

使用 WebSocket 发送数据 使用 WebSocket 时,需要用设备连接发送服务器,并确立 WebSocket 连接。只要建立了一次 WebSocket 连接,就能实现从发送服务器和客户 端发送数据。 使用 MQTT 发送数据 前文介绍了 HTTP 和 WebSocket,它们采用的方法都是由设备访问发送服务器。就这些方法而言,只要客户端没有发出申请,数据就不会被发送。当然使用者也可以在设备上建立 HTTP 和 WebSocket 协议,由服务器来连接设备。不过,一旦增加了设备,服务器想管理所有设备就相当困难了。 针对这点,我们来试着看一下这种服务器:它灵活运用 MQTT,并且发挥了发布 / 订阅模型的优点。使用 MQTT 时的发送服务器如图 2.32。

首先设备作为订阅者,向 MQTT 中介进行订阅。然后,发送服务器则是发布者,同样向中介进行发布。这样一来,发送服务器只需要把确定的数据加在主题上发送就行了,发送服务器和设备都不需要知道彼此的地址。只要知道中介的地址,就能够实现通信。一旦订阅者断开,中介就会负责在断开时发送通知,并在重新连接时再次发送数据。通过灵活运用 MQTT 的功能,构建发送服务器就变得简单多了。

事例:面向植物工厂的环境控制系统 这里为大家介绍一个事例。近年来盛行向农业领域导入 ICT技术。特别是在生产过程中,在高龄化背景下,为了确保新的农业劳动力和提高生产力,ICT 技术的广泛运用备受期待。以往, 环境控制都是由农户手工测量塑料大棚内的温湿度,以及控制植物的生长状况,现在则把重点放在实现完全自动化,以提高生产力上。 采用各种传感器来测量和记录(相当于接收数据)温度、湿度、二氧化碳及光照等数据。这样就能把环境条件数值化,再记录一下在已测量的环境条件下作物实际的生长质量。通过这样循 环,就能提取某个作物的生长模式(相当于数据分析)。这样一来,只要明确了应该调整哪些环境条件,就能在培育过程中,把从环境中感测到的数据和设定的阈值进行比较(相当于数据处理),从而实现自动控制空调,自动注入二氧化碳(相当于发送数据)。 人们正在试图通过搭建这样的架构,以实现 ICT 技术的大规模化,使法人加入农业模式变得更加简单。如果继续推进这样的措施,那么,或许在未来的某一天,当农业劳动者想培育这种品 质的蔬菜时,只要按下一个按钮就能实现自动栽培,接下来等几个月后收获就可以了。

0 人点赞