如何快速連線到雲端,並將 IoT 資料直接傳送到雲端及進行遠端存取
資料提供者:DigiKey 北美編輯群
2019-03-13
許多開發人員都在打造需要連線到雲端的物聯網 (IoT) 專案,以進行資料儲存、遠端存取,以及近期興起的資料分析服務。但是,開發人員很難找到最有效和最安全的連線方式。
本文將介紹如何使用 Microchip Technology 的 Google Cloud 評估板作為 IoT 感測器端點,連線至 Google 的雲端 IoT 平台。這樣一來,此評估板便能夠儲存資料,隨後即可透過簡單的瀏覽器介面從任何地方進行讀取。
開始使用雲端儲存
對於嵌入式 IoT 端點來說,若想實作雲端託管,其需要的雲端伺服器必須具備必要的安全連線能力與軟體。Google Cloud Platform (GCP) 能滿足這項要求。此外,嵌入式 IoT 端點還必須具有可遠端控制端點的韌體。Microchip Technology 透過 AC164160 AVR-IoT 雲端評估板提供所有必備的軟體,藉此簡化開發流程。

圖 1:Microchip 的 AVR-IoT 雲端評估板是完整的 IoT 端點,可供開發人員快速將專案連線到 Google Cloud IoT 伺服器。(圖片來源:Microchip Technology)
雖然 AVR-IoT 評估板非常適合用於 IoT 端點,但深入檢視其運作方式還能瞭解到 IoT 端點以及雲端運算的運作原理。
AVR-IoT 評估板的運作
此評估板已設定為透過 Wi-Fi 連線到 Google Cloud 伺服器。與伺服器建立連線後,即可即時儲存與顯示資料。
此評估板的元件經過挑選,可達到最佳化低功率,因此相當適合用於電池供電式 IoT 端點。微控制器為 Microchip 的 ATMEGA4808-MFR 8 位元 AVR® 處理器,運作速度為 20 MHz,消耗電流為 8.5 mA。在僅運作即時時脈 (RTC) 的待機模式下,消耗電流為 690 nA。
微控制器負責控制評估板,並可介接所有感測器與 LED。核心則由 48 Kb 快閃記憶體、6 Kb SRAM,以及 256 位元組 EEPROM 提供支援。EEPROM 用於儲存 Wi-Fi 連線資料。雙週期硬體乘法器則透過減少 CPU 週期來省電。
ATMEGA4808 具有完善的周邊裝置,包含 4 個 16 位元計時器、3 個 USART、1 個 SPI 介面以及 1 個類比比較器,因此非常適合低功率的 IoT 感測器端點應用。
在 Wi-Fi 連線方面,ATMEGA4808 會透過 SPI 序列埠連接至 Microchip Technology 的 ATWINC1510-MR210UB1961 2.4 GHz 802.11 b/g/n IoT Wi-Fi 模組 (圖 2)。此模組功能齊全,並支援 WEP、WPA 與 WPA2 安全性;更具有整合式天線,有助於不熟悉 RF 天線佈局的開發人員快速上手。此外若需要額外的收訊範圍,也可支援外接天線。此模組還支援以 TLS 協定建立加密連線。

圖 2:Microchip Technology 的 WINC1510 Wi-Fi 模組的覆蓋區為 21.7 mm x 14.7 mm,並支援 2.4 GHz 802.11 b/g/n 無線存取點。此模組可透過 SPI 序列埠連接至主機微控制器。(圖片來源:Microchip Technology)
WINC1510 採用 2.7 V 至 3.6 V 的電源操作,運作時消耗 290 mA 電流。半睡眠模式可將裝置斷電,同時會保存所有設定。在此模式下,模組消耗 380 µA 電流,這對一些會開啟和關閉無線電的超低功率應用來說非常有用,例如信標監測。WINC1510 能夠在 150 ms 內連線到 Wi-Fi 存取點。其連接到主機微控制器的全套介面使用 8 個引腳,包括 1 個四線式 SPI 從屬介面,以及 4 個用於控制訊號的 GPIO。此模組已取得在美洲、歐洲以及亞洲使用的所有認證。這將大幅簡化為最終設計取得 FCC 核准的流程。
AVR-IoT 評估板的覆蓋區為 63.5 mm x 25.4 mm,可透過 USB 纜線連接至電腦,以進行電力和資料傳輸;可支援 Windows、Linux 以及 MacOS 系統。通電後,此評估板的 4 個 LED (藍、綠、黃、紅) 會由左到右依序閃爍兩次,表示評估板運作正常。
此評估板看起來就像電腦上的隨身碟,且會顯示 5 個檔案。若想連接網際網路,開發人員可點擊名為 CLICK-ME.HTM 的檔案。此操作會在預設瀏覽器中打開一個網頁,允許開發人員連接本地 Wi-Fi (圖 3)。

圖 3:在這個 CLICK-ME.HTM 檔的左下角輸入 Wi-Fi 存取點資訊後,Microchip 的 AVR-IoT 評估板即可連接本地 Wi-Fi 網路。(圖片來源:Microchip Technology)
在輸入網路名稱、選擇網路類型並輸入密碼後,藍色 LED 燈會亮起,表示評估板已連接本地 Wi-Fi 網路。綠色的 LED 不久後也會亮起,表示評估板已連接到 Google Cloud 伺服器。每當評估板將資料傳送到 Google Cloud 伺服器時,黃色的 LED 燈便會閃爍。AVR-IoT 和 Google Cloud 伺服器之間傳輸的所有資訊,都會經過加密。
IoT、加密連線和資料加密
點對點間的網際網路流量都會透過安全連線傳輸,通常是採用傳輸層安全性 (TLS) 協定進行加密。然而,駭客依然有可能在加密連線中找到弱點,並發動「中間人攻擊」來竊取資料。為了避免設計受到這類攻擊的影響,資料也必須經過加密,使用的加密標準通常是 AES 或 SHA。
為了對傳輸到 Google Cloud 的資料進行加密,AVR-IoT 配備了 Microchip Technology 的 ATECC608A-MAHCZ-T CryptoAuthentication™ 安全晶片,可透過 I2C 介面連接到 AVR 微控制器。ATECC608A 是加密記憶體晶片,支援多種加密標準,包括 AES-128 和 SHA-256。此晶片可用來儲存與 Google Cloud 伺服器通訊用的公鑰和私鑰。
Microchip Technology 會預先對所有 AVR-IoT 中的每個 ATECC608A 進行編程,使其具有獨一無二的公鑰與私鑰。ATECC608A 的私鑰存放在安全儲存空間中,就算使用邏輯分析器來監測與記錄 I2C 介面也不會外洩。公鑰則會顯示在發送到 Google Cloud 的 URL 以及 PUBKEY.TXT 檔中;後者可以由連接到 AVR-IoT 的主機電腦 USB 介面讀取。只有在簽署保密協議的情況下,Microchip Technology 才會提供 ATECC608A 的詳細運作情形。
不過,AVR-IoT 的 ATMEGA4808 微控制器韌體已設定為能在安全的 Google Cloud 專案中有效使用 ATECC608A。因此開發人員可瞭解 ATECC608A 絕大多數的加密功能細節,這可大幅簡化並加快開發速度。
若是高安全性 IoT 端點,ATECC608A 可針對應用和本身提供保護。此元件對實體攻擊具有很強的抵抗力,可以偵測並防止多種旁路攻擊,比如施加極度低溫以維持記憶體的內容,或是讓 I2C 時脈變得異常快速或緩慢。此元件還可以偵測是否有人企圖打開元件的蓋子,檢視其內部架構。元件的內部記憶體內容也經過加密。此外,ATECC608A 還可能具備僅有 Microchip Technology 工程師知道的機密安全機制。
使用 Google Cloud IoT 伺服器
在 AVR-IoT 連接到 Google Cloud IoT 伺服器後,便會開始交換資料。AVR-IoT 配有光和溫度感測器。來自這些感測器的資料會發送到 Google Cloud 伺服器,並可即時顯示 (圖 4)。若想在任何瀏覽器上查看資料,開發人員需要輸入以下的網址:
avr-iot.com/device/{公鑰}
其中,{公鑰} 是指分配給 AVR-IoT 評估板的公鑰。
由於使用的 Google Cloud 伺服器是示範用的沙盒帳戶,因此從 AVR-IoT 發送到 Google Cloud 的資料不會永久儲存,並會在伺服器連線中斷後刪除。

圖 4:從 Google Cloud IoT 伺服器呈現的網頁,能夠顯示從 AVR-IoT 收集的溫度與光感測器資料。(圖片來源:Microchip Technology)
若要使用功能更完整的雲端伺服器,AVR-IoT 套件含有操作說明,可升級至私有 Google Cloud 帳戶。具備私有 Google Cloud 帳戶後,開發人員即可將資訊永久儲存在 Google Cloud 上,以供日後使用。此外,開發人員也可以在私有 Google Cloud 上建立一個網頁介面與 AVR-IoT 進行通訊,即可讓網頁介面在線上託管應用程式,並向評估板上的自訂韌體傳送命令。例如,開發人員可以從全世界任何地方控制 ATmega4808 上的任何 GPIO 引腳,而這些引腳可連接到電子設備。
結論
雖然有許多書籍與網站介紹過雲端的儲存、存取和使用,但最簡單的方式還是從範例中學習。Microchip 的 AVR-IoT 評估板不僅可輕鬆連接至雲端,還能展示雲端儲存、加密以及 IoT 端點控制的基礎知識。
聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。




