電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用Arduino大數(shù)據(jù)工具進(jìn)行溫度流式傳輸

使用Arduino大數(shù)據(jù)工具進(jìn)行溫度流式傳輸

2022-11-11 | zip | 0.49 MB | 次下載 | 免費(fèi)

資料介紹

描述

客觀的

該項(xiàng)目涵蓋了使用大數(shù)據(jù)生態(tài)系統(tǒng)的開源技術(shù)部分在 Arduino 上部署一個(gè)簡(jiǎn)單架構(gòu)以實(shí)時(shí)和批處理溫度傳感器數(shù)據(jù)的過程。該解決方案的目的是舉例說明通過不同工具的數(shù)據(jù)流,從捕獲到轉(zhuǎn)換和洞察生成。

在所呈現(xiàn)的架構(gòu)中,數(shù)據(jù)的發(fā)布、傳輸和存儲(chǔ)服務(wù)與 Arduino 板發(fā)送數(shù)據(jù)的格式無關(guān)。這推動(dòng)了構(gòu)建集中式服務(wù)的想法,用于將消息從不同的發(fā)送設(shè)備分發(fā)到能夠使用這些數(shù)據(jù)的許多客戶端或服務(wù)。

在此前提下,該架構(gòu)的適用可能性與信息發(fā)射設(shè)備的實(shí)現(xiàn)創(chuàng)意成正比。

版本

  • Arduino IDE 1.8.5
  • 蜂巢 1.2.1
  • 卡夫卡 0.10.0
  • 火花 1.6.2
  • 齊柏林筆記本 0.6.0
  • NiFi 1.2.0

數(shù)據(jù)流

?
poYBAGNtm-iAMq-IAADiWHwfFHY621.png
?

1.- 從濕度/溫度傳感器生成數(shù)據(jù)

  • 加載在 Arduino 平臺(tái)中的代碼每 3 秒通過 DHT 傳感器讀取一次,捕獲:
  • 環(huán)境中的濕度百分比。
  • 攝氏溫度 (°C)
  • 華氏溫度 (°C)
  • 計(jì)算熱量指數(shù)。這個(gè)度量決定了人們?nèi)绾胃鶕?jù)環(huán)境的濕度來感知溫度。
  • 向外部 Web 服務(wù)發(fā)出請(qǐng)求,以根據(jù)預(yù)定義的時(shí)區(qū)確定閱讀時(shí)間。

2.- 數(shù)據(jù)發(fā)布到 MQTT 服務(wù)器

  • 構(gòu)建將發(fā)送到 MQTT 服務(wù)器的消息或有效負(fù)載:
  • 有效負(fù)載為 JSON 格式。
  • 它包含傳感器捕獲的數(shù)據(jù)、計(jì)算的信息、讀數(shù)的日期/時(shí)間、自 Arduino 平臺(tái)啟動(dòng)以來經(jīng)過的毫秒數(shù)以及發(fā)射器設(shè)備的唯一標(biāo)識(shí)符。
  • 驗(yàn)證 Internet 和 MQTT 代理連接。
  • 有效負(fù)載在預(yù)定義的用戶名和密碼下發(fā)布到特定主題的 MQTT 代理。
  • MQTT 代理有一個(gè)權(quán)限列表,定義了哪些用戶可以發(fā)布現(xiàn)有主題的信息。

3, 4 & 5.- 實(shí)時(shí)數(shù)據(jù)采集

  • Apache NiFi 服務(wù)有一組有組織的指令,可在捕獲數(shù)據(jù)時(shí)編排數(shù)據(jù)流:
  • NiFi 連接或訂閱 Mosquitto 主題并實(shí)時(shí)捕獲消息。
  • NiFi 通過在消息之外定義與消息和 MQTT 代理的技術(shù)方面相關(guān)的新字段來補(bǔ)充接收到的消息(JSON 字符串)。
  • NiFi 將消息和新字段插入 Hive 數(shù)據(jù)存儲(chǔ)。
  • NiFi 在 Kafka 中發(fā)布原始消息。
  • Hive 和 Kafka 存儲(chǔ)數(shù)據(jù):
  • Hive 允許對(duì)歷史數(shù)據(jù)進(jìn)行批處理。
  • Kafka 允許實(shí)時(shí)處理 Arduino 平臺(tái)發(fā)送的數(shù)據(jù)。

6 & 7.- 數(shù)據(jù)處理

  • Zeppelin 運(yùn)行代碼塊(Scala 和 SQL):
  • 可以查詢存儲(chǔ)在數(shù)據(jù)倉庫中的數(shù)據(jù)。
  • 可以實(shí)時(shí)訂閱Kafka主題,處理不同時(shí)間窗口下的消息。
  • 代碼在 Spark 上執(zhí)行。
  • 在每個(gè)時(shí)間窗口中獲得的數(shù)據(jù)被轉(zhuǎn)換并存儲(chǔ)在 Hive 表中。
  • 在每個(gè)窗口上計(jì)算捕獲的溫度平均值。

圖書館

  • Adafruit 統(tǒng)一傳感器 1.0.2
  • DHT 傳感器庫 1.3.0
  • 發(fā)布訂閱客戶端 2.6.0
  • 時(shí)間 1.5.0
  • NTP客戶端 3.1.0

ARDUINO IDE 配置

通用設(shè)置:

  • 閃光模式:“DIO”
  • 閃存大?。骸?12K(64 SPIFFS)”
  • 調(diào)試端口:“已禁用”
  • 調(diào)試級(jí)別:“無”
  • 重置方法:“ck”
  • 晶體頻率:“26 MHz”
  • 閃光頻率:“40 MHz”
  • CPU頻率:“80兆赫”
  • 上傳速度:“115200”

串口監(jiān)視器

  • 自動(dòng)滾屏
  • 安博斯 NL & CR
  • 115200 波特

觀察

在這個(gè)項(xiàng)目中,指令沒有加載到 Arduino 板,而是加載到 ESP8266 模塊,因?yàn)檎沁@個(gè)模塊將操作、轉(zhuǎn)換和發(fā)送數(shù)據(jù)。

要將指令加載到 WiFi 模塊,必須在啟動(dòng)時(shí)進(jìn)入 Flash 模式,這是通過Pinout 圖(Flash 模式)中顯示的引腳配置來實(shí)現(xiàn)的

建議 Arduino 板在對(duì) ESP8266 模塊進(jìn)行代碼加載時(shí)沒有加載指令。

執(zhí)行

在串口監(jiān)視器中,我們可以觀察到連接、捕獲和發(fā)布消息的過程。

?
pYYBAGNtm-uADlD8AAEn9NnZCa8747.png
?

如果我們訂閱 Mosquitto 主題,我們可以看到消息是如何由 Arduino 板實(shí)時(shí)發(fā)布的。

NiFi 在 Kafka 和 Hive 上發(fā)布捕獲的消息。在后者中,與 MQTT 服務(wù)器相關(guān)的附加字段記錄在表中。

一旦 NiFi 模板啟動(dòng),如果我們訂閱將消息重定向到的 Kafka 主題,我們將能夠觀察消息是如何在 Mosquitto 收到時(shí)立即發(fā)布的。在下圖中,我們可以看到 Mosquitto 主題(左)和 Kafka 主題(右)中的消息接收情況。

?
?

另一方面,如果我們定期查閱 Hive 表,我們會(huì)注意到寄存器的數(shù)量根據(jù) NiFi 捕獲的消息而增加。

?
poYBAGNtm-6AWmNBAAHdg2bGkvc658.png
?

Scala開發(fā)的notebook是JSON格式,可以導(dǎo)入Zeppelin,分為7段:

1.- 設(shè)置。

2.- 數(shù)據(jù)采集。

3.- 按窗口計(jì)算溫度平均值。

4.- Kmeans 模型創(chuàng)建和訓(xùn)練。

5.- 數(shù)據(jù)分類(窗口)

6.- 數(shù)據(jù)分類(隨機(jī)數(shù)據(jù))

7.- 數(shù)據(jù)檢查。

?
poYBAGNtm_GAdvvhAAFkyu3xBUo665.png
使用 Zeppelin 和 Spark 從 Kafka 主題中實(shí)時(shí)捕獲數(shù)據(jù)。
?

?

?
poYBAGNtm_SAcaLhAAEU9escjdc370.png
使用 Kmeans 訓(xùn)練模型進(jìn)行濕度和溫度數(shù)據(jù)分類。
?

?

?
pYYBAGNtm_aASuthAAE85yBBPJA242.png
濕度和溫度 (°C & °F) 值變化的時(shí)間線。
?

下一步改進(jìn)

該項(xiàng)目缺乏以下可以增加這些技術(shù)可能應(yīng)用價(jià)值的特征:

  • Arduino 板與不同類型的傳感器集成。
  • 多路復(fù)用發(fā)送到 WiFi 模塊的信號(hào)。
  • 開發(fā)狀態(tài)和控制指示器(LED、警報(bào)、警報(bào))。
  • 閃光模式激活/停用按鈕。

資源

復(fù)制此項(xiàng)目的詳細(xì)說明可在此Github 存儲(chǔ)庫中找到,以及使用的草圖、模板、筆記本和測(cè)試數(shù)據(jù)。

目前它是西班牙語,所以當(dāng)它被翻譯成英語時(shí),你可以用這種語言練習(xí)你的技能;)。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)