Arduino 開發者要如何入門 IoT 技術?

IoT 這個名詞近年來非常的火紅,那什麼是 IoT 呢? IoT 就是 Internet of Things,簡單來說就是萬物聯網。以往電腦以及網際網路的訊息,主要都是透過人類以打字、錄影、錄音、照相和掃描的方式來提供,而人的問題在於時間、精力、準確度都不足,所以必須用 IoT 的技術來克服。如今像是工廠機器設備、消費性電子產品、醫療器材、家電等…裝置,都已經可以連結到網際網路。根據 Gartner 統計這類裝置於 2016 年已達到 64 億個,遠遠超越地球總人口數。


IoT 的組成要素:
(1)感知層:模擬人類的五官,用來蒐集既有環境的資料。感知工具有感測器、辨識器、影音監控。
(2)網路層:感知層所蒐集到的資料會透過網路層傳輸到資料庫。網路層區分為 100M 以內的近距離通訊(如 Bluetooth、WiFi 等…)和遠距離通訊(如 Lora、NB IoT 等…)。
(3)分析層:眾多 IoT 節點經年累月所蒐集到的資料量是非常巨大的,逐漸形成大數據,再經過分析層處理後就會變成可用的資訊,主要的工具有 AI、Machine Learning、Pattern Recognition 等…。


對 Arduino 有興趣又想學習 IoT 的朋友,要如何開始呢?首先,我們知道 Arduino 開發板本身並不具備連網功能,但是結合像是 W5100、ENC28J60、ESP8266 等…網路模組,再搭配原本 Arduino 控制周邊感測器的專長,就能讓Arduino 搖身變成 Internet 上的 IoT 節點,開始收集環境資料並將它傳送到雲端資料庫或雲端服務主機。


如果要初學雲端資料庫,我們會建議使用 ThingSpeak,因為它有提供免費版,最多可建立 4 個 Channel,並且每年可發送 300 萬則訊息,已經非常夠用了。你可以使用 Arduino 開發板搭配 DHT11 溫溼度模組,結合上面所提到的網路模組,就能將感測資料傳送到 ThingSpeak,並以圖表來顯示數據。


如果要初學雲端服務主機,我們會建議使用 IFTTT,它也有提供免費版,最多可建立 5 個服務,並且可串接各式免費的服務,像是 Line、GMail、Google Sheets 等…。你可以使用 Arduino 開發板搭配 DHT11 溫溼度模組,結合上面所提到的網路模組,就能依據感測資料做相對應的行為。


如果你覺得 Arduino 開發板結合網路模組這樣的組合,在使用上不是很方便的話,你也可以考慮直接使用 ESP8266 當作開發板,它本身就是一個 MCU,且內建 WiFi 功能,可輕鬆連接到 Internet,相關資訊可參考這裡