資料介紹
描述
客觀的
該項目涵蓋了使用大數(shù)據(jù)生態(tài)系統(tǒng)的開源技術(shù)部分在 Arduino 上部署一個簡單架構(gòu)以實時和批處理溫度傳感器數(shù)據(jù)的過程。該解決方案的目的是舉例說明通過不同工具的數(shù)據(jù)流,從捕獲到轉(zhuǎn)換和洞察生成。
在所呈現(xiàn)的架構(gòu)中,數(shù)據(jù)的發(fā)布、傳輸和存儲服務(wù)與 Arduino 板發(fā)送數(shù)據(jù)的格式無關(guān)。這推動了構(gòu)建集中式服務(wù)的想法,用于將消息從不同的發(fā)送設(shè)備分發(fā)到能夠使用這些數(shù)據(jù)的許多客戶端或服務(wù)。
在此前提下,該架構(gòu)的適用可能性與信息發(fā)射設(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ù)流

1.- 從濕度/溫度傳感器生成數(shù)據(jù)
- 加載在 Arduino 平臺中的代碼每 3 秒通過 DHT 傳感器讀取一次,捕獲:
- 環(huán)境中的濕度百分比。
- 攝氏溫度 (°C)
- 華氏溫度 (°C)
- 計算熱量指數(shù)。這個度量決定了人們?nèi)绾胃鶕?jù)環(huán)境的濕度來感知溫度。
- 向外部 Web 服務(wù)發(fā)出請求,以根據(jù)預(yù)定義的時區(qū)確定閱讀時間。
2.- 數(shù)據(jù)發(fā)布到 MQTT 服務(wù)器
- 構(gòu)建將發(fā)送到 MQTT 服務(wù)器的消息或有效負(fù)載:
- 有效負(fù)載為 JSON 格式。
- 它包含傳感器捕獲的數(shù)據(jù)、計算的信息、讀數(shù)的日期/時間、自 Arduino 平臺啟動以來經(jīng)過的毫秒數(shù)以及發(fā)射器設(shè)備的唯一標(biāo)識符。
- 驗證 Internet 和 MQTT 代理連接。
- 有效負(fù)載在預(yù)定義的用戶名和密碼下發(fā)布到特定主題的 MQTT 代理。
- MQTT 代理有一個權(quán)限列表,定義了哪些用戶可以發(fā)布現(xiàn)有主題的信息。
3, 4 & 5.- 實時數(shù)據(jù)采集
- Apache NiFi 服務(wù)有一組有組織的指令,可在捕獲數(shù)據(jù)時編排數(shù)據(jù)流:
- NiFi 連接或訂閱 Mosquitto 主題并實時捕獲消息。
- NiFi 通過在消息之外定義與消息和 MQTT 代理的技術(shù)方面相關(guān)的新字段來補(bǔ)充接收到的消息(JSON 字符串)。
- NiFi 將消息和新字段插入 Hive 數(shù)據(jù)存儲。
- NiFi 在 Kafka 中發(fā)布原始消息。
- Hive 和 Kafka 存儲數(shù)據(jù):
- Hive 允許對歷史數(shù)據(jù)進(jìn)行批處理。
- Kafka 允許實時處理 Arduino 平臺發(fā)送的數(shù)據(jù)。
6 & 7.- 數(shù)據(jù)處理
- Zeppelin 運(yùn)行代碼塊(Scala 和 SQL):
- 可以查詢存儲在數(shù)據(jù)倉庫中的數(shù)據(jù)。
- 可以實時訂閱Kafka主題,處理不同時間窗口下的消息。
- 代碼在 Spark 上執(zhí)行。
- 在每個時間窗口中獲得的數(shù)據(jù)被轉(zhuǎn)換并存儲在 Hive 表中。
- 在每個窗口上計算捕獲的溫度平均值。
圖書館
- Adafruit 統(tǒng)一傳感器 1.0.2
- DHT 傳感器庫 1.3.0
- 發(fā)布訂閱客戶端 2.6.0
- 時間 1.5.0
- NTP客戶端 3.1.0
ARDUINO IDE 配置
通用設(shè)置:
- 板:“ESP8266 通用模塊”
- 閃光模式:“DIO”
- 閃存大小:“512K(64 SPIFFS)”
- 調(diào)試端口:“已禁用”
- 調(diào)試級別:“無”
- 重置方法:“ck”
- 晶體頻率:“26 MHz”
- 閃光頻率:“40 MHz”
- CPU頻率:“80兆赫”
- 上傳速度:“115200”
- 程序員:“AVRISP mkII”
串口監(jiān)視器
- 自動滾屏
- 安博斯 NL & CR
- 115200 波特
觀察
在這個項目中,指令沒有加載到 Arduino 板,而是加載到 ESP8266 模塊,因為正是這個模塊將操作、轉(zhuǎn)換和發(fā)送數(shù)據(jù)。
要將指令加載到 WiFi 模塊,必須在啟動時進(jìn)入 Flash 模式,這是通過Pinout 圖(Flash 模式)中顯示的引腳配置來實現(xiàn)的。
建議 Arduino 板在對 ESP8266 模塊進(jìn)行代碼加載時沒有加載指令。
執(zhí)行
在串口監(jiān)視器中,我們可以觀察到連接、捕獲和發(fā)布消息的過程。

如果我們訂閱 Mosquitto 主題,我們可以看到消息是如何由 Arduino 板實時發(fā)布的。
NiFi 在 Kafka 和 Hive 上發(fā)布捕獲的消息。在后者中,與 MQTT 服務(wù)器相關(guān)的附加字段記錄在表中。
一旦 NiFi 模板啟動,如果我們訂閱將消息重定向到的 Kafka 主題,我們將能夠觀察消息是如何在 Mosquitto 收到時立即發(fā)布的。在下圖中,我們可以看到 Mosquitto 主題(左)和 Kafka 主題(右)中的消息接收情況。
另一方面,如果我們定期查閱 Hive 表,我們會注意到寄存器的數(shù)量根據(jù) NiFi 捕獲的消息而增加。

Scala開發(fā)的notebook是JSON格式,可以導(dǎo)入Zeppelin,分為7段:
1.- 設(shè)置。
2.- 數(shù)據(jù)采集。
3.- 按窗口計算溫度平均值。
4.- Kmeans 模型創(chuàng)建和訓(xùn)練。
5.- 數(shù)據(jù)分類(窗口)
6.- 數(shù)據(jù)分類(隨機(jī)數(shù)據(jù))
7.- 數(shù)據(jù)檢查。

?

?

下一步改進(jìn)
該項目缺乏以下可以增加這些技術(shù)可能應(yīng)用價值的特征:
- Arduino 板與不同類型的傳感器集成。
- 多路復(fù)用發(fā)送到 WiFi 模塊的信號。
- 開發(fā)狀態(tài)和控制指示器(LED、警報、警報)。
- 閃光模式激活/停用按鈕。
資源
復(fù)制此項目的詳細(xì)說明可在此Github 存儲庫中找到,以及使用的草圖、模板、筆記本和測試數(shù)據(jù)。
目前它是西班牙語,所以當(dāng)它被翻譯成英語時,你可以用這種語言練習(xí)你的技能;)。
- 使用Edison、Pi等將傳感器數(shù)據(jù)流式傳輸到Octoblu
- 使用DHT22和Arduino進(jìn)行溫度監(jiān)測
- 大數(shù)據(jù)環(huán)境下的移動學(xué)習(xí)發(fā)展趨勢 21次下載
- 車聯(lián)網(wǎng)場景下汽車大數(shù)據(jù)應(yīng)用模式綜述 13次下載
- 醫(yī)療大數(shù)據(jù)面臨的挑戰(zhàn)及相應(yīng)的隱私保護(hù)技術(shù) 16次下載
- 關(guān)于對大數(shù)據(jù)的專題研究 1次下載
- 大數(shù)據(jù)時代有什么樣的利與弊 11次下載
- 使用STM32F103VE芯片設(shè)計無線傳輸的溫度采集系統(tǒng)的論文概述 45次下載
- 使用ZigBee技術(shù)實現(xiàn)溫度采集傳輸系統(tǒng)的設(shè)計資料免費(fèi)下載 9次下載
- 如何使用Arduino和LabVIEW進(jìn)行多路數(shù)據(jù)采集系統(tǒng)的設(shè)計
- 大數(shù)據(jù)的基礎(chǔ)起源發(fā)展和處理流程應(yīng)用及面臨的挑戰(zhàn)和展望 12次下載
- 大數(shù)據(jù)與推薦系統(tǒng) 18次下載
- 流式大數(shù)據(jù)實時處理技術(shù)及應(yīng)用 10次下載
- 基于流式傳輸模式的可靠多播協(xié)議 25次下載
- 流式傳輸的實現(xiàn)途徑 18次下載
- 大數(shù)據(jù)技術(shù)是干嘛的 大數(shù)據(jù)核心技術(shù)有哪些 3704次閱讀
- 針對大數(shù)據(jù)安全架構(gòu)設(shè)計的思路和原則 1379次閱讀
- 從四個方面對大數(shù)據(jù)進(jìn)行闡述 4232次閱讀
- 同步整流式和異步整流式DC/DC轉(zhuǎn)換器變壓器方式的區(qū)別 5892次閱讀
- 大數(shù)據(jù)技術(shù)如何進(jìn)行融合發(fā)展 9408次閱讀
- 大數(shù)據(jù)是什么_大數(shù)據(jù)技術(shù)和應(yīng)用的現(xiàn)狀與前景 2.4w次閱讀
- 基于流式計算的DPI數(shù)據(jù)處理方案 5056次閱讀
- 深入解析大數(shù)據(jù)處理基本步驟 4203次閱讀
- 什么是大數(shù)據(jù)分析?大數(shù)據(jù)分析的含義與目前形式 1.6w次閱讀
- AR對于大數(shù)據(jù)有什么意義?電力大數(shù)據(jù)有什么作用?詳細(xì)案例說明 8062次閱讀
- 大數(shù)據(jù)時代智能配電網(wǎng)該如何融合大數(shù)據(jù) 1w次閱讀
- 國內(nèi)有哪些大數(shù)據(jù)公司_最新中國大數(shù)據(jù)公司排名 5.3w次閱讀
- 大數(shù)據(jù)分析到底需要多少種工具_大數(shù)據(jù)分析總結(jié) 1.1w次閱讀
- 最新大數(shù)據(jù)概念股龍頭_大數(shù)據(jù)概念龍頭股有哪些 4.4w次閱讀
- 大數(shù)據(jù)環(huán)境下的綜合布線技術(shù)探析 1359次閱讀
下載排行
本周
- 1涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 2錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 29次下載 | 1 積分
- 3錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 3次下載 | 1 積分
- 4蘋果iphone 11電路原理圖
- 4.98 MB | 3次下載 | 2 積分
- 5基礎(chǔ)模擬電子電路
- 3.80 MB | 3次下載 | 1 積分
- 6RA-Eco-RA6M4-100PIN-V1.0開發(fā)板資料
- 34.89 MB | 1次下載 | 免費(fèi)
- 7STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊
- 3.32 MB | 1次下載 | 免費(fèi)
- 8聯(lián)想A820t手機(jī)維修圖紙包括主板原理圖 尾板原理圖 點(diǎn)位圖
- 0.62 MB | 次下載 | 5 積分
本月
- 1AI智能眼鏡產(chǎn)業(yè)鏈分析
- 4.43 MB | 383次下載 | 免費(fèi)
- 2蘇泊爾電磁爐線路的電路原理圖資料合集
- 2.02 MB | 296次下載 | 5 積分
- 3貼片三極管上的印字與真實名稱的對照表詳細(xì)說明
- 0.50 MB | 94次下載 | 1 積分
- 4長虹液晶電視R-HS310B-5HF01的電源板電路原理圖
- 0.46 MB | 91次下載 | 5 積分
- 5涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 6錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 29次下載 | 1 積分
- 7AO4803A雙P通道增強(qiáng)型場效應(yīng)晶體管的數(shù)據(jù)手冊
- 0.11 MB | 28次下載 | 2 積分
- 8長虹液晶彩電LS29機(jī)芯的技術(shù)資料說明
- 3.42 MB | 16次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191388次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論