该项目涵盖了使用大数据生态系统的开源技术部分在 Arduino 上部署一个简单架构以实时和批处理温度传感器数据的过程。该解决方案的目的是举例说明通过不同工具的数据流,从捕获到转换和洞察生成。
在所呈现的架构中,数据的发布、传输和存储服务与 Arduino 板发送数据的格式无关。这推动了构建集中式服务的想法,用于将消息从不同的发送设备分发到能够使用这些数据的许多客户端或服务。
在此前提下,该架构的适用可能性与信息发射设备的实现创意成正比。
1.- 从湿度/温度传感器生成数据
2.- 数据发布到 MQTT 服务器
3, 4 & 5.- 实时数据采集
6 & 7.- 数据处理
通用设置:
串口监视器
在这个项目中,指令没有加载到 Arduino 板,而是加载到 ESP8266 模块,因为正是这个模块将操作、转换和发送数据。
要将指令加载到 WiFi 模块,必须在启动时进入 Flash 模式,这是通过Pinout 图(Flash 模式)中显示的引脚配置来实现的。
建议 Arduino 板在对 ESP8266 模块进行代码加载时没有加载指令。
在串口监视器中,我们可以观察到连接、捕获和发布消息的过程。
如果我们订阅 Mosquitto 主题,我们可以看到消息是如何由 Arduino 板实时发布的。
NiFi 在 Kafka 和 Hive 上发布捕获的消息。在后者中,与 MQTT 服务器相关的附加字段记录在表中。
一旦 NiFi 模板启动,如果我们订阅将消息重定向到的 Kafka 主题,我们将能够观察消息是如何在 Mosquitto 收到时立即发布的。在下图中,我们可以看到 Mosquitto 主题(左)和 Kafka 主题(右)中的消息接收情况。
另一方面,如果我们定期查阅 Hive 表,我们会注意到寄存器的数量根据 NiFi 捕获的消息而增加。
Scala开发的notebook是JSON格式,可以导入Zeppelin,分为7段:
1.- 设置。
2.- 数据采集。
3.- 按窗口计算温度平均值。
4.- Kmeans 模型创建和训练。
5.- 数据分类(窗口)
6.- 数据分类(随机数据)
7.- 数据检查。
该项目缺乏以下可以增加这些技术可能应用价值的特征:
复制此项目的详细说明可在此Github 存储库中找到,以及使用的草图、模板、笔记本和测试数据。
目前它是西班牙语,所以当它被翻译成英语时,你可以用这种语言练习你的技能;)。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !