You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/mo/4-manufacturing/lessons/4-trigger-fruit-detector
co-op-translator[bot] 7b6699135a
🌐 Update translations via Co-op Translator (#544)
4 weeks ago
..
README.md 🌐 Update translations via Co-op Translator (#544) 4 weeks ago
assignment.md 🌐 Update translations via Co-op Translator (#544) 4 weeks ago
pi-proximity.md 🌐 Update translations via Co-op Translator (#544) 4 weeks ago
virtual-device-proximity.md 🌐 Update translations via Co-op Translator (#544) 4 weeks ago
wio-terminal-proximity.md 🌐 Update translations via Co-op Translator (#544) 4 weeks ago

README.md

從感測器觸發水果品質檢測

本課程的手繪筆記概述

手繪筆記由 Nitya Narasimhan 提供。點擊圖片查看更大版本。

課前測驗

課前測驗

簡介

物聯網應用並不僅僅是單一設備捕捉數據並將其發送到雲端。通常,它涉及多個設備協同工作,使用感測器從物理世界捕捉數據,根據這些數據做出決策,並通過執行器或可視化方式與物理世界進行交互。

在本課程中,您將深入了解如何設計複雜的物聯網應用,整合多個感測器、多個雲端服務來分析和存儲數據,並通過執行器顯示響應。您將學習如何設計一個水果品質控制系統的原型,包括使用接近感測器觸發物聯網應用,以及該原型的架構。

本課程將涵蓋以下內容:

🗑 這是本專案的最後一課,因此在完成本課程和作業後,請記得清理您的雲端服務。您需要這些服務來完成作業,因此請確保先完成作業。

如有需要,請參考清理專案指南以獲取相關指導。

設計複雜的物聯網應用

物聯網應用由許多元件組成,包括各種設備和網路服務。

物聯網應用可以描述為由設備(事物)發送數據生成洞察,這些洞察再生成行動以改善業務或流程。例如,一個引擎(事物)發送溫度數據。這些數據用於評估引擎是否正常運行(洞察)。洞察則用於主動優化引擎的維護計劃(行動)。

  • 不同的設備收集不同的數據。
  • 物聯網服務基於這些數據提供洞察,有時還會結合其他來源的數據。
  • 這些洞察驅動行動,包括控制設備中的執行器或可視化數據。

物聯網架構參考

物聯網架構參考

上圖展示了一個物聯網架構參考。

🎓 架構參考是一個可以在設計新系統時用作參考的示例架構。在這種情況下,如果您正在構建新的物聯網系統,可以遵循此架構參考,並根據需要替換自己的設備和服務。

  • 事物是從感測器收集數據的設備,可能與邊緣服務交互以解釋這些數據,例如使用影像分類器解釋影像數據。設備的數據被發送到物聯網服務。
  • 洞察來自無伺服器應用或存儲數據的分析。
  • 行動可以是發送給設備的指令,或是可視化數據以幫助人類做出決策。

Azure 物聯網架構參考

上圖展示了本課程中涵蓋的一些元件和服務,以及它們如何在物聯網架構參考中相互連結。

  • 事物 - 您已撰寫設備程式碼以從感測器捕捉數據,並使用 Custom Vision 在雲端和邊緣設備上分析影像。這些數據被發送到 IoT Hub。
  • 洞察 - 您已使用 Azure Functions 回應發送到 IoT Hub 的訊息,並將數據存儲在 Azure Storage 中以供後續分析。
  • 行動 - 您已根據雲端的決策控制執行器並發送指令到設備,並使用 Azure Maps 可視化數據。

思考您使用過的其他物聯網設備,例如智能家居設備。這些設備及其軟體中涉及哪些事物、洞察和行動?

此模式可以根據需要擴展,添加更多設備和服務。

數據與安全性

在定義系統架構時,您需要不斷考慮數據和安全性。

  • 您的設備發送和接收哪些數據?
  • 如何保護和加密這些數據?
  • 如何控制對設備和雲端服務的訪問?

思考您擁有的任何物聯網設備的數據安全性。哪些數據是個人數據,應在傳輸和存儲時保持私密?哪些數據不應存儲?

設計水果品質控制系統

現在讓我們將事物、洞察和行動的概念應用到水果品質檢測器,設計一個更大的端到端應用。

假設您被要求構建一個水果品質檢測器,用於加工廠。水果在輸送帶系統上移動,目前員工手動檢查水果並移除任何未成熟的水果。為了降低成本,廠主希望建立一個自動化系統。

隨著物聯網(以及技術)的興起,許多手動工作正在被機器取代。進行一些研究:估計有多少工作因物聯網而消失?又有多少新工作因物聯網設備的建造而創造?

您需要構建一個系統,當水果到達輸送帶時進行檢測,拍攝照片並使用在邊緣運行的 AI 模型進行檢查。結果被發送到雲端存儲,如果水果未成熟,則發出通知以便移除未成熟的水果。

事物 檢測輸送帶上到達的水果
拍攝照片並分類水果
運行分類器的邊緣設備
通知未成熟水果的設備
洞察 決定檢查水果的成熟度
存儲成熟度分類的結果
判斷是否需要警告未成熟水果
行動 發送指令給設備拍攝水果並使用影像分類器進行檢查
發送指令給設備警告未成熟水果

應用原型設計

水果品質檢測的物聯網架構參考

上圖展示了此原型應用的架構參考。

  • 配備接近感測器的物聯網設備檢測到水果到達。這會向雲端發送訊息,表示檢測到水果。
  • 雲端中的無伺服器應用向另一設備發送指令,拍攝照片並進行分類。
  • 配備相機的物聯網設備拍攝照片並將其發送到在邊緣運行的影像分類器。結果隨後被發送到雲端。
  • 雲端中的無伺服器應用存儲這些信息以供後續分析,查看未成熟水果的百分比。如果水果未成熟,則向另一配備 LED 的物聯網設備發送指令,通知工廠工人有未成熟水果。

💁 整個物聯網應用可以作為單一設備實現,所有啟動影像分類和控制 LED 的邏輯都內建其中。它可以僅使用 IoT Hub 來追蹤檢測到的未成熟水果數量並配置設備。在本課程中,該應用被擴展以展示大型物聯網應用的概念。

在原型中,您將在單一設備上實現所有功能。如果您使用的是微控制器,則需要使用單獨的邊緣設備運行影像分類器。您已經學習了構建所需的大部分內容。

從感測器觸發水果品質檢測

物聯網設備需要某種觸發器來指示水果準備進行分類。一種觸發器是通過測量到感測器的距離來判斷水果是否在輸送帶上的正確位置。

接近感測器發送雷射光束到物體(如香蕉),並計算光束反射回來的時間

接近感測器可用於測量感測器與物體之間的距離。它們通常發射電磁輻射光束,例如雷射光束或紅外線光,然後檢測反射回來的輻射。從光束發射到信號反射回來的時間可用於計算到感測器的距離。

💁 您可能在不知情的情況下使用過接近感測器。大多數智能手機在您將其靠近耳朵時會關閉螢幕,以防止耳垂意外結束通話。這是通過接近感測器實現的,感測器在通話期間檢測到螢幕附近的物體並禁用觸控功能,直到手機距離一定範圍外。

任務 - 使用距離感測器觸發水果品質檢測

按照相關指南,使用接近感測器檢測物體並使用您的物聯網設備:

水果品質檢測器使用的數據

原型水果檢測器有多個元件相互通信。

元件之間的通信

  • 接近感測器測量到水果的距離並將其發送到 IoT Hub
  • 控制相機的指令從 IoT Hub 發送到相機設備
  • 影像分類的結果被發送到 IoT Hub
  • 控制 LED 警告未成熟水果的指令從 IoT Hub 發送到配備 LED 的設備

在構建應用之前,最好先定義這些訊息的結構。

💁 幾乎每位有經驗的開發者都曾因發送的數據與預期數據不一致而花費數小時、數天甚至數週追蹤錯誤。

例如 - 如果您正在發送溫度信息,如何定義 JSON您可以使用名為 temperature 的欄位,也可以使用常見縮寫 temp

{
    "temperature": 20.7
}

與:

{
    "temp": 20.7
}

您還需要考慮單位 - 溫度是以 °C 還是 °F 表示?如果您使用消費者設備測量溫度並更改顯示單位,則需要確保發送到雲端的單位保持一致。

進行一些研究:單位問題如何導致價值 1.25 億美元的火星氣候探測器墜毀?

思考水果品質檢測器發送的數據。如何定義每個訊息?在哪裡分析數據並決定發送哪些數據?

例如 - 使用接近感測器觸發影像分類。物聯網設備測量距離,但決策在哪裡做出?設備是否決定水果足夠接近並發送訊息告訴 IoT Hub 觸發分類?或者它是否發送距離測量並讓 IoT Hub 做出決策?

這些問題的答案是 - 視情況而定。每個使用案例都不同,因此作為物聯網開發者,您需要了解您正在構建的系統、它的使用方式以及檢測到的數據。

  • 如果由 IoT Hub 做出決策,您需要發送多個距離測量。
  • 如果發送過多訊息,會增加 IoT Hub 的成本以及物聯網設備所需的頻寬(尤其是在有數百萬設備的工廠中)。這也可能會減慢設備速度。
  • 如果在設備上做出決策,您需要提供配置設備的方法以微調機器。

使用開發者設備模擬多個物聯網設備

為了構建您的原型,您需要讓您的物聯網開發套件模擬多個設備,發送遙測數據並回應指令。

在 Raspberry Pi 或虛擬物聯網硬體上模擬多個物聯網設備

使用像 Raspberry Pi 這樣的單板電腦時,您可以同時運行多個應用程式。這意味著您可以通過創建多個應用程式(每個應用程式代表一個“物聯網設備”)來模擬多個物聯網設備。例如,您可以將每個設備實現為單獨的 Python 文件並在不同的終端會話中運行它們。 💁 請注意,某些硬體在同時被多個應用程式存取時可能無法正常運作。

模擬微控制器上的多個設備

微控制器在模擬多個設備方面更為複雜。與單板電腦不同,微控制器無法同時運行多個應用程式,必須將所有獨立的物聯網設備邏輯整合到一個應用程式中。

以下是一些讓這個過程更簡單的建議:

  • 為每個物聯網設備建立一個或多個類別,例如名為 DistanceSensorClassifierCameraLEDController 的類別。每個類別可以有自己的 setuploop 方法,由主程式的 setuploop 函數調用。
  • 在一個集中位置處理命令,並根據需要將命令分配到相關的設備類別。
  • 在主程式的 loop 函數中需要考慮每個不同設備的時間安排。例如如果有一個設備類別需要每10秒處理一次另一個需要每1秒處理一次那麼在主程式的 loop 函數中使用1秒的延遲。每次 loop 調用都會觸發需要每秒處理的設備的相關程式碼並使用計數器來計算每次循環當計數器達到10時處理另一個設備然後重置計數器

移至生產階段

原型將成為最終生產系統的基礎。當移至生產階段時,可能會有以下差異:

  • 耐用的元件 - 使用能夠承受工廠中的噪音、熱量、震動和壓力的硬體。
  • 使用內部通信 - 部分元件會直接通信,避免跳到雲端,只將數據發送到雲端進行存儲。具體方式取決於工廠的設置,可以是直接通信,也可以通過使用網關設備在邊緣運行部分物聯網服務。
  • 配置選項 - 每個工廠和使用案例都不同,因此硬體需要具備可配置性。例如,接近感測器可能需要在不同距離檢測不同的水果。與其將觸發分類的距離硬編碼,您可能希望通過雲端進行配置,例如使用設備雙胞胎。
  • 自動化水果移除 - 不再使用LED來提示水果未成熟而是使用自動化設備進行移除。

做些研究:生產設備與開發套件還有哪些其他不同之處?


🚀 挑戰

在本課中,您學到了設計物聯網系統所需的一些概念。回想之前的項目,它們如何適配上述的參考架構?

選擇一個之前的項目,思考設計一個更複雜的解決方案,結合多種功能超越項目中所涵蓋的內容。繪製架構圖,並思考您需要的所有設備和服務。

例如 - 一個車輛追蹤設備結合GPS和感測器來監控冷藏卡車中的溫度、引擎啟動和關閉時間以及司機的身份。涉及哪些設備、服務、傳輸的數據以及安全和隱私的考量

課後測驗

課後測驗

回顧與自學

作業

建立一個水果品質檢測器


免責聲明
本文件已使用 AI 翻譯服務 Co-op Translator 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。