当进行物联网处理进行处理间通信时,Redis是非常方便的选择

在使用传感器、树莓派和服务器等设备对多个地点的温度进行测量和收集时,使用Redis可以使处理变得简单。

希望建立的环境

機器構成として

    • データをシリアル出力できるセンサー

 

    • 複数のセンサーからのデータを受けるラズパイ(とか)

 

    複数のラズパイ(とか)からのデータを集約するサーバ

考虑以下情况:
我们假设树莓派上运行着 Raspbian,使用 Perl、Python、Ruby(或者 C 语言)来开发处理程序。

物联网处理

在这种环境下,需要定期接收传感器数据并将其传递给其他服务器。然而,如果将数据传输给其他服务器的方式是通过REST,可能会花费相当长的时间(例如建立会话等)。

fig01.png
que.png

请使用消息队列来执行以下任务。

在物联网处理中,

    • 異常値観測 -> 警報発報 のような常時監視

 

    • 一定時間毎に,過去数点のデータの平均を求めるようなサマリ情報収集

 

    簡単な解析

如果在上述结构中让树莓派负责部分,那整个系统的构建将变得简单(对吧)。

fifo.png

使用Redis会带来愉悦的事情。

使用Redis作为可指定长度的FIFO消息队列是很方便的。

令人欣喜的事情之一是,实施变得简单。

通过使用rpush和ltrim,您可以轻松实现具有指定长度的FIFO。以下是发送端实现的示例。

use Redis;
use Redis::List;

my $redis = Redis->new(server => 'localhost:6379');

my $data = "Recieved Data";

$redis->rpush('hoge', $data);
$redis->ltrim('hoge', -10, -1);  # 最新10回分

令人开心的事情之二:数据格式自由

因为大部分的快乐来自于Redis的功能,所以没有列举的意义,但字符串传递的简单性是非常重要的优点。
从传感器传来的数据是以字符串的形式传递的,所以直接传递这个字符串是非常令人高兴的。

令人高兴的事情之三:多语言支持

使用Redis接口,在发送方和接收方使用不同的语言开发,会非常方便。

总结

在进行IoT处理时,进行进程间通信时,Redis非常有用。说”超越”是在开玩笑。
事实上,我们在使用树莓派进行的项目中使用了Redis,多人并行开发非常顺利。
最近的树莓派性能也很高,加上Web服务技术,IoT处理变得相当容易。

广告
将在 10 秒后关闭
bannerAds