智慧門鈴讓你外賓來訪不久等

這個智慧門鈴應用,是透過 Intel® IoT 開發工具套件、 Intel® Edison 開發平台、雲端平台、 APIs 與其他技術來執行 Intel 物聯網 (IoT) 程式碼範例操作。
透過此次執行,開發人員將會學到如何:
與 Intel® Edison 開發平台連結、原型設計計算平台、生產 IoT 與可穿戴性的相關產品。
利用在 Intel® IoT 開發工具套件的 MRAA 、 UPM 、 Intel® Edison 平台與感應器數據庫的介面結合,透過完整的硬體與軟體解決方案來協助開發人員研究 IoT 與創新項目的應用。
執行 Intel® XDK IoT Edition 的程式碼範例,透過 IDE 建立與感應器跟制動器的應用,並能在 Intel® Edison 或 Intel® Galileo 主機板更快速入門開發軟體。
使用微軟 Azure Redis Cache 、 IBM Bluemix 或 AWS 的 Redis ElastiCache 雲端服務 IoT 連結解決方案儲存門鈴資料,並透過雲端服務連結 IoT 的數據分析、機器學習與各種不同具有效益的工具來簡化感應器與雲端連結的過程,並能提升您的 IoT 項目與執行效率。
利用 Intel® Edison 主機板能讓您可以建立智慧型門鈴:
• 當門鈴響時,發出聲音通知
• 當門鈴響時,顯示通知
• 紀錄使用雲端儲存空間訪客
此智慧門鈴在 I2C Touch Sensor 按壓時,會自蜂鳴器發出聲音,此外會在 LCD 螢幕上顯示訊息。
門鈴資料亦可依 Intel IoT 資料儲存範例,儲存於您的微軟 Azure 、 IBM Bluemix 或 AWS 的帳號中。
Grove Starter Kit Plus 包含以下配備:
1. Intel® Edison 搭配 Arduino breakout 主機板
2. Grove Base Shield V2
3. Grove* Touch Sensor
4. Grove* Buzzer
5. Grove* RGB LCD
先以 Git* 將 Intel IoT 程式碼範例操作程式庫, 複製到您的電腦如以下所示:
$ git clone https://github.com/intel-iot-devkit/how-to-code-samples.git
若想要下載 zip 檔案,在您的 web 瀏覽器當中,可至 https://github.com/intel-iot-devkit/how-to-code-samples 網頁, 並點擊右下方 Download ZIP 的選鈕。當下載 .zip 檔案後,將其解壓縮並在目錄清單當中使用檔案為範例。
於 Eclipse 選擇 Import Wizard 以輸入已存在的專案至 workspace 如下:
1. 於主選單選擇 File>Import 。
2. 開啟 Import Wizard 對話框。選擇 General > Existing Project into Workspace ,點選 Next 。
3. 點選 Select root directory 然後點選 Browse 鈕以選擇您專案所在的目錄。
4. 在 Projects 下,選擇您欲輸入的專案所在的目錄,點選 OK 以及 Finish 按鈕,即可輸入該檔至 Eclipse 。
5. 您的主程式 main.cpp 現在已經在 workspace 的 src 資料夾下。
您必須將 Grove Base Shield V2 連結至相容 Arduino breakout 主機板,並將 Grove 裝置連結至 Grove Base Shield V2 。請確認連接至 Grove Base Shield V2 的 VCC 電源設定為 5V 。
1. 將 Grove cable 的一端插入 Grove Rotary 感應器,並連結另一端至 Grove Base Shield V2 上的 D4 port。
2. 將 Grove cable 一端插入 Grove 蜂鳴器,並連接另一端至 Grove Base 上的 D5 port。
3. 將 Grove cable 一端接上 RGB LCD ,並連接另一端至 Grove Base Shield V2 上任一 I2C port。
這個範例使用自 restclient-cpp 函式庫的 REST 呼叫以遠端遙控資料伺服器。程式碼可於 thelib 資料夾找到。 restclient-cpp 函式庫需要 libcurl package ,其已預設內建於 Intel® Edison board 。
您可選擇是否將這個範例程式,所產生的資料以 Node.js 、 Redis data store 儲存於微軟 Azure 、 IBM Bluemix 或 AWS 的伺服器上。
如何設定雲端資料伺服器,請見 https://github.com/intel-iot-devkit/intel-iot-examples-datastore
連結您的 Intel® Edison board 至 Eclipse
1. 在左下角 Target SSH Connections 點選右鍵並選擇 New > Connection。
2. Intel® IoT Target Connection 視窗出現後,在 Filter 欄位輸入您主板的名稱。
3. 在 Select one of the found connections 清單中,選擇您的裝置名並點選 OK 。
4. 在 Target SSH Connections 上,右鍵您的裝置並點選 Connect。
要是要求提供 username 和 password , username 為 root 而 password 則是您設定於 Intel® Edison board 的密碼。
在後端資料儲存系統執行範例時,您需要設定 SERVER 和 AUTH_TOKEN 環境變數。您可在 Eclipse 設定如下:
在 Run 選單,選擇 Run Configurations. Run Configurations 對話窗將顯示。
chmod 755 /tmp/doorbell;export SERVER="http://intel-examples.azurewebsites.net/counter/doorbell/inc"; export AUTH_TOKEN=" 您的認證 token"
點選 Apply 儲存您的新環境變數。
現在當您點選 Run 執行您的程式時,應可呼叫伺服器自 Intel Edison board 儲存資料。
當您準備好執行範例,點選 Eclipse 最上排選單 Run 。
此步驟會以 Cross G++ 編譯器編譯程式,以 Cross G++ 連結器連結,將二進制碼傳送至 Intel Edison board ,並在上面執行。
執行程式後,您應可看到如下圖輸出。
當程式上傳至 Intel Edison board 並執行時, Grove RGB LCD 顯示訊息如下,當碰觸 Grove Touch Sensor 時您可聽見蜂鳴器發出聲音。若伺服器設定正確,您可接收到通知。
關於 18 項 Intel 物聯網 (IoT)C++ 程式碼範例 操作完整清單,請至 Intel® 開發者區域部落格文章 18 項基本指引, Intel® 公開物聯網 C++ 程式碼範例
關於本文詳細程式碼範例,請至 GitHub 。