电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>使用Arduino大数据工具进行温度流式传输

使用Arduino大数据工具进行温度流式传输

2022-11-11 | zip | 0.49 MB | 次下载 | 免费

资料介绍

描述

客观的

该项目涵盖了使用大数据生态系统的开源技术部分在 Arduino 上部署一个简单架构以实时和批处理温度传感器数据的过程。该解决方案的目的是举例说明通过不同工具的数据流,从捕获到转换和洞察生成。

在所呈现的架构中,数据的发布、传输和存储服务与 Arduino 板发送数据的格式无关。这推动了构建集中式服务的想法,用于将消息从不同的发送设备分发到能够使用这些数据的许多客户端或服务。

在此前提下,该架构的适用可能性与信息发射设备的实现创意成正比。

版本

  • Arduino IDE 1.8.5
  • 蜂巢 1.2.1
  • 卡夫卡 0.10.0
  • 火花 1.6.2
  • 齐柏林笔记本 0.6.0
  • NiFi 1.2.0

数据流

 
poYBAGNtm-iAMq-IAADiWHwfFHY621.png
 

1.- 从湿度/温度传感器生成数据

  • 加载在 Arduino 平台中的代码每 3 秒通过 DHT 传感器读取一次,捕获:
  • 环境中的湿度百分比。
  • 摄氏温度 (°C)
  • 华氏温度 (°C)
  • 计算热量指数。这个度量决定了人们如何根据环境的湿度来感知温度。
  • 向外部 Web 服务发出请求,以根据预定义的时区确定阅读时间。

2.- 数据发布到 MQTT 服务器

  • 构建将发送到 MQTT 服务器的消息或有效负载:
  • 有效负载为 JSON 格式。
  • 它包含传感器捕获的数据、计算的信息、读数的日期/时间、自 Arduino 平台启动以来经过的毫秒数以及发射器设备的唯一标识符。
  • 验证 Internet 和 MQTT 代理连接。
  • 有效负载在预定义的用户名和密码下发布到特定主题的 MQTT 代理。
  • MQTT 代理有一个权限列表,定义了哪些用户可以发布现有主题的信息。

3, 4 & 5.- 实时数据采集

  • Apache NiFi 服务有一组有组织的指令,可在捕获数据时编排数据流:
  • NiFi 连接或订阅 Mosquitto 主题并实时捕获消息。
  • NiFi 通过在消息之外定义与消息和 MQTT 代理的技术方面相关的新字段来补充接收到的消息(JSON 字符串)。
  • NiFi 将消息和新字段插入 Hive 数据存储。
  • NiFi 在 Kafka 中发布原始消息。
  • Hive 和 Kafka 存储数据:
  • Hive 允许对历史数据进行批处理。
  • Kafka 允许实时处理 Arduino 平台发送的数据。

6 & 7.- 数据处理

  • Zeppelin 运行代码块(Scala 和 SQL):
  • 可以查询存储在数据仓库中的数据。
  • 可以实时订阅Kafka主题,处理不同时间窗口下的消息。
  • 代码在 Spark 上执行。
  • 在每个时间窗口中获得的数据被转换并存储在 Hive 表中。
  • 在每个窗口上计算捕获的温度平均值。

图书馆

  • Adafruit 统一传感器 1.0.2
  • DHT 传感器库 1.3.0
  • 发布订阅客户端 2.6.0
  • 时间 1.5.0
  • NTP客户端 3.1.0

ARDUINO IDE 配置

通用设置:

  • 闪光模式:“DIO”
  • 闪存大小:“512K(64 SPIFFS)”
  • 调试端口:“已禁用”
  • 调试级别:“无”
  • 重置方法:“ck”
  • 晶体频率:“26 MHz”
  • 闪光频率:“40 MHz”
  • CPU频率:“80兆赫”
  • 上传速度:“115200”

串口监视器

  • 自动滚屏
  • 安博斯 NL & CR
  • 115200 波特

观察

在这个项目中,指令没有加载到 Arduino 板,而是加载到 ESP8266 模块,因为正是这个模块将操作、转换和发送数据。

要将指令加载到 WiFi 模块,必须在启动时进入 Flash 模式,这是通过Pinout 图(Flash 模式)中显示的引脚配置来实现的

建议 Arduino 板在对 ESP8266 模块进行代码加载时没有加载指令。

执行

在串口监视器中,我们可以观察到连接、捕获和发布消息的过程。

 
pYYBAGNtm-uADlD8AAEn9NnZCa8747.png
 

如果我们订阅 Mosquitto 主题,我们可以看到消息是如何由 Arduino 板实时发布的。

NiFi 在 Kafka 和 Hive 上发布捕获的消息。在后者中,与 MQTT 服务器相关的附加字段记录在表中。

一旦 NiFi 模板启动,如果我们订阅将消息重定向到的 Kafka 主题,我们将能够观察消息是如何在 Mosquitto 收到时立即发布的。在下图中,我们可以看到 Mosquitto 主题(左)和 Kafka 主题(右)中的消息接收情况。

 
 

另一方面,如果我们定期查阅 Hive 表,我们会注意到寄存器的数量根据 NiFi 捕获的消息而增加。

 
poYBAGNtm-6AWmNBAAHdg2bGkvc658.png
 

Scala开发的notebook是JSON格式,可以导入Zeppelin,分为7段:

1.- 设置。

2.- 数据采集。

3.- 按窗口计算温度平均值。

4.- Kmeans 模型创建和训练。

5.- 数据分类(窗口)

6.- 数据分类(随机数据)

7.- 数据检查。

 
poYBAGNtm_GAdvvhAAFkyu3xBUo665.png
使用 Zeppelin 和 Spark 从 Kafka 主题中实时捕获数据。
 

 

 
poYBAGNtm_SAcaLhAAEU9escjdc370.png
使用 Kmeans 训练模型进行湿度和温度数据分类。
 

 

 
pYYBAGNtm_aASuthAAE85yBBPJA242.png
湿度和温度 (°C & °F) 值变化的时间线。
 

下一步改进

该项目缺乏以下可以增加这些技术可能应用价值的特征:

  • Arduino 板与不同类型的传感器集成。
  • 多路复用发送到 WiFi 模块的信号
  • 开发状态和控制指示器(LED、警报、警报)。
  • 闪光模式激活/停用按钮。

资源

复制此项目的详细说明可在此Github 存储库中找到,以及使用的草图、模板、笔记本和测试数据。

目前它是西班牙语,所以当它被翻译成英语时,你可以用这种语言练习你的技能;)。


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费