2026年11月11日 星期三

從物聯網到大數據:IoT、Big Data與AIoT有什麼關係?

從物聯網到大數據:IoT、Big Data與AIoT有什麼關係?

智慧生活科技專業社群|Python × IoT × Big Data × AIoT|2026年11月

一個感測器可以量測溫度;一套物聯網可以遠端監控;當長期累積的資料經過分析,才可能進一步協助預測與決策。這就是從物聯網走向大數據與AIoT的學習路徑。

本文延續社群既有的 micro:bit、MQTT、Pico 2 W、Django、Python資料分析及Ollama文章,並以「智慧養殖池」作為共同情境,說明這些技術如何串接。文中數值均為教學模擬,並非實際養殖場域量測資料。

一、先從生活問題開始:養殖池需要知道什麼?

想像養殖管理者希望隨時掌握水溫、酸鹼值(pH)、溶氧(DO)與鹽度。傳統方式需要到現場讀取儀表;如果裝上感測器與連網裝置,就能定期傳送資料,並透過手機或網站查看。

  • IoT:負責「感測、連線與傳送」。
  • Big Data:關注大量、快速、多樣資料的儲存、治理與分析。
  • AIoT:結合AI與IoT,利用感測資料進行異常辨識、預測或輔助控制。

三者不是互相取代的產品,也不是所有IoT系統都必須使用大數據平台。小型養殖池用一般資料庫與Pandas就可能足夠;只有當資料量、速度或處理複雜度增加,才需要考慮Spark等分散式技術。

二、IoT是什麼?讓真實世界的設備能交換資料

物聯網(Internet of Things,IoT)是讓感測器、控制器及其他實體設備透過網路交換資料的系統。以養殖池為例,水溫感測器量測數值,ESP32或Raspberry Pi Pico W讀取資料,經由Wi-Fi送往伺服器。

感測器 → ESP32 / Pico W → Wi-Fi → MQTT或HTTP → 雲端伺服器 → Dashboard

在社群既有文章中,〈micro:bit和電腦的串列通訊程式〉先示範將溫度值傳給電腦;接著〈micro:bit和電腦的串列通訊程式加上MQTT〉,讓資料能透過訊息代理伺服器交換。這是由「單機讀值」進入「網路資料傳輸」的具體例子。

MQTT與HTTP有什麼不同?

比較項目MQTTHTTP / REST API
常見模式發布/訂閱(Publish/Subscribe)請求/回應(Request/Response)
主要用途設備訊息與即時事件傳遞讀取或提交Web服務資料
系統角色Client、Broker、TopicClient、Server、URL
養殖應用定期發布感測數值、傳送告警查詢歷史資料、上傳量測紀錄

想了解裝置如何呼叫Web API,可接著閱讀〈HTTP與REST API|Pico 2 W〉,其中示範使用GET讀取資料、POST送出JSON,以及處理HTTP狀態碼與網路例外。

三、為什麼IoT資料會走向Big Data?

一筆水溫資料只是一次量測;每分鐘記錄一次,一台設備每天會產生1,440筆。如果有100台設備,每台各有4項感測數值,而且每項數值都以獨立紀錄儲存,則每天可能產生:

100 × 4 × 1,440 = 576,000筆/天

一年約為210,240,000筆(按365天計算)。這是說明資料成長速度的假設情境,實際筆數會受到傳送頻率、封包設計、遺失資料與設備數量影響。

不過,資料筆數多,不必然代表必須使用大數據技術。真正的重點是現有資料庫與分析工具能否在合理成本、時間與可靠度下完成工作。

認識大數據的5V

  • Volume(大量):長期累積的設備與歷史資料。
  • Velocity(高速):每秒或每分鐘持續進來的感測訊息。
  • Variety(多樣):數值、JSON、影像、設備日誌與維修紀錄。
  • Veracity(可信度):感測器校正、缺值、異常值及資料品質。
  • Value(價值):能否協助節能、節水、管理與決策。

因此,大數據不是把資料「存得越多越好」,而是要能把資料整理成可理解、可追溯、可應用的資訊。

四、從IoT到資料分析:Python與Pandas先上場

在開始學習Spark以前,先掌握Python資料處理是更合理的順序。社群文章〈讓ChatGPT產生樞紐分析表來分析漁貨交易資料〉,已示範使用Pandas讀取Excel,依市場與魚貨名稱統計交易量與平均價格。

我們也可以將同樣的觀念套用到養殖水溫。以下範例不需要感測器,也不需要雲端帳號;安裝Pandas後即可在電腦執行。

import pandas as pd

# 教學用模擬資料,非真實量測
records = [
    {"pond": "A", "temperature": 27.5, "oxygen": 6.2},
    {"pond": "A", "temperature": 28.0, "oxygen": 5.8},
    {"pond": "B", "temperature": 29.1, "oxygen": 4.9},
    {"pond": "B", "temperature": 28.7, "oxygen": 5.1},
]

df = pd.DataFrame(records)

summary = df.groupby("pond").agg(
    avg_temperature=("temperature", "mean"),
    min_oxygen=("oxygen", "min")
)

print(summary)

預期輸出:

      avg_temperature  min_oxygen
pond
A               27.75         5.8
B               28.90         4.9

這段程式完成兩件事:計算各池平均水溫,並找出各池最低溶氧。這是描述性資料分析,還不是AI預測。是否需要告警,必須再依養殖物種、環境條件及專業管理標準設定判斷規則,不能單憑這四筆模擬資料下結論。

五、什麼時候需要Apache Spark?

Apache Spark是一套可進行大規模資料處理的分散式運算引擎,常用於批次資料處理、SQL分析與機器學習工作流程。它能把工作分配給多個運算節點,但也可以先在單機環境練習。

情境建議起點
幾千到數十萬筆教學資料Python+Pandas
單一或少量養殖場的歷史資料關聯式或時序資料庫+Pandas
多場域、長期大量資料,單機處理成為瓶頸評估Spark、分散式儲存及資料管線
即時事件與告警MQTT+事件處理;視需求評估串流架構

以上是教學上的選型方向,並非依資料筆數劃定的硬性門檻。Spark也不是資料庫或MQTT Broker的直接替代品;它通常與資料儲存、資料管線及其他服務協同運作。

未來可以延伸一篇〈PySpark實戰:分析大量智慧養殖感測資料〉,讓學生比較相同的分組統計在Pandas與Spark DataFrame中的寫法與運算方式。

六、AIoT是什麼?讓系統不只看見數據

AIoT(Artificial Intelligence of Things)結合人工智慧與物聯網。IoT負責取得現場資訊,AI則可在資料品質足夠、模型經過驗證的前提下,辨識模式、預測風險或提出輔助建議。

以智慧養殖為例,可將功能分成四個層次:

  1. 看得到:Dashboard顯示目前水溫、pH與溶氧。
  2. 查得到:資料庫保存歷史紀錄,查詢每日、每週變化。
  3. 看得懂:分析趨勢、缺值、異常波動及不同池的差異。
  4. 能協助判斷:經驗證的模型提出風險預警,並由管理者確認是否採取行動。

社群文章〈利用Ollama分析異常數據並提供預測性維護設備的建議〉,示範將異常資料交給地端大語言模型解讀。這類LLM適合協助摘要與解釋,但LLM產生的建議不等於已經訓練、驗證的預測模型;涉及設備控制或養殖安全時,仍須結合量測證據、規則與人工審核。

七、把技術整合起來:智慧養殖資料流

感測層
水溫、pH、溶氧、鹽度感測器
↓
邊緣裝置
ESP32 / Raspberry Pi Pico W
↓
通訊層
Wi-Fi、MQTT、HTTP / REST API
↓
平台與資料層
Django、資料庫、資料品質檢查
↓
分析層
Pandas;規模需要時評估Spark
↓
應用層
Dashboard、異常告警、AI輔助決策

其中,〈[Django 6.0] 整合Django和MQTT〉示範了Django與MQTT訊息的整合,正好可作為通訊層銜接Web應用的參考。正式部署還需處理認證、TLS加密、資料庫寫入、設備識別、訊息重送及監控等問題。

八、大學生可以怎麼學?四階段專題

  1. 第一階段:裝置連線。用micro:bit或Pico W取得溫度,確認序列埠、Wi-Fi與資料格式。
  2. 第二階段:資料上雲。使用MQTT或HTTP傳送JSON,並在Django建立資料接收與查詢功能。
  3. 第三階段:資料分析。匯出CSV,使用Pandas計算平均、極值、缺值比例及時間趨勢。
  4. 第四階段:智慧應用。設計有依據的告警規則,評估模型效能,再逐步導入AI輔助解讀。

建議學生在報告中清楚標示:資料是實測還是模擬?量測單位是什麼?資料缺漏如何處理?AI的輸出是否經過驗證?這些問題往往比使用哪一套熱門工具更重要。

九、延伸閱讀:智慧生活科技專業社群既有文章

  1. micro:bit和電腦的串列通訊程式:感測資料進入電腦的第一步。
  2. micro:bit和電腦的串列通訊程式加上MQTT:發布/訂閱訊息傳遞。
  3. HTTP與REST API|Pico 2 W:IoT裝置呼叫遠端API。
  4. [Django 6.0] 整合Django和MQTT:Web平台整合訊息。
  5. 讓ChatGPT產生樞紐分析表來分析漁貨交易資料:Pandas資料彙整。
  6. 利用Ollama分析異常數據並提供預測性維護設備的建議:LLM輔助解讀。

十、結語:從感測資料走向有價值的智慧決策

IoT讓我們能蒐集真實世界的資訊;Big Data提供管理與分析大規模資料的思維和工具;AIoT則嘗試讓資料成為可採取行動的洞察。三者的關係不是「設備越多、資料越大、AI越強」就一定越好,而是從真實需求出發,建立可信的資料流程,再選擇適合的分析與智慧技術。

對初學者而言,先讓一顆感測器成功傳資料,再用Python整理幾十筆紀錄,就是很好的起點。當學生理解資料從哪裡來、如何傳送、怎麼儲存、如何分析,才真正具備把IoT、Big Data與AIoT整合到智慧生活場域的能力。

下一篇預告:《Python Pandas實戰:從智慧養殖感測資料學習資料清理、統計與視覺化》。

教學與AI使用說明:本文依據社群既有公開文章進行延伸整理,使用生成式AI協助架構、文字與示範程式草擬;模擬資料僅供教學。實際應用應由教師及場域專業人員確認設備、資料與控制安全。

沒有留言:

張貼留言