image

作者:Kit Wan

在 Arduino 和 mbed 出現之前,製造物聯網和傳感裝置不是一個容易的工作;現在很容易買到此類硬件,那麼問題將是如何如何採集和分析物聯網數據。

本文將展示如何使用 DATA.SPARKFUN.COM 和 analog.io 的免費在線工具簡單的以 WIZnet 的 mbed 板來構建的一個物聯網平台,以半小時就打造一個展示辦公室濕度和溫度的華麗圖表。

我在這裡使用的硬件是 WIZnet 出品的 WIZwiki-W7500 為主板與 YwRobot 的 Easy Module Shield 為傳感器的子板。

image

上面的圖片是整個系統的結構

image

WIZnet 的 WIZwiki-W7500

image

YwRobot 的 Easy Module Shield V1

傳感器是常見的 DHT11。

我們需要有一個雲服務來記錄傳感器數據流。在這裡,我們將使用 Sparkfun.com的免費服務。首先,到 data.sparkfun.com 註冊一個賬號。

image

按一下 CREATE

image

填寫好信息,然後按 Save 鍵,遵循所有的步驟,你會看到下面的頁面。

image

公鑰 (Public Key) 、私鑰 (Private Key) 和刪除鍵 (Delete Key) 將如上產生。

軟件方面,如果想知道如何在 mbed 平台編譯程序詳細步驟,請參考 ARM mbed 快速入門指南。這裡使用的是 mbed.org 軟件庫 Data_Sparkfun_io 裡面已經包含了要來啟動的示例代碼需,只需要很少設定。

image

首先從 mbed 編譯器導入 Data_Sparkfun_io。

然後,打開 main.cpp

image

main.cpp 可以如下修改。主要是貼上兩個鍵 (Key) 和修改 fieldNames1[] 如下:

char publicKey[] = “Your Public Key goes here”; //“insert_your_publicKey”
char privateKey[] = “Your Private Key goes here”; //“insert_your_privateKey”;
uint8_t NUM_FIELDS = 2;
char fieldNames1[] = “humidity”;
char fieldNames2[] = “temp”;

這個程序主要使用 DHCP 來獲得 IP 和建立網絡環境。然後,它會檢查按鈕 SW2 D3,如果按下按鈕,會發出的濕度和溫度到 data.sparkfun.com。

image

此外,我們可以在串口終端檢查狀態或調試信息。由於我使用的是Mac,我使用串口終端軟件 SerialTools,這可以從App Store下載。

下面是在串行終端顯示資料的樣本:

image

如果按 SW2 D3 按鈕,一組數據將被發送,您可以從 Streams URL 看到。

image

下一步是導入數據流進去 analog.io。

image

登錄 analog.io,如果你沒有帳戶請先按 Sign Up 註冊。

image

登錄後進入主界面內。

image

按“+ Import Stream” 按鈕。

image

選擇 Sparkfun 為 主機(Host) 和輸入你的公鑰(Public Key)。

image

大功告成,現在你可以看到從物聯網設備中的數據繪製的圖表。

在這設置中,系統使用的是 D3 開關來進行環境參數(濕度和溫度)的採樣,我們可修改 main.ccp 以讀獲取開關狀態,並使用定時器等進行自動環境參數記錄。