2019年11月21日 星期四

【開箱教學】DSI5168物聯網開發板應用測試範例集

文章出處: MAKERPRO
作者:柯大
為了快速、有效的解決物聯網產品在研發及行銷上的需求,並且可以讓物聯網新創團隊更快速完成初期的原型開發,找到早期使用者進行測試,因此,一套能加快開發的物聯網建置環境會對團隊有很大的幫助。
在筆者另一篇文章《快速上手精簡易用的物聯網開發板-DSI5168》中介紹了DSI5168這塊專為IoT新創設計的開發板,它提供完全兼容Arduino的開發特性,還一舉整合MCU、Wi-Fi、Ethernet及豐富的接腳介面,並搭配提供標準化的Arduino函式庫,是一套完整的物聯網方案開發板,更可快速打造出IoT產品的雛形,進而經由量產輔導機制,很務實地幫團隊加速跨越開發、實作的過程,順利將創意商品量產推入市場。
本文將針對此開發板的一些特色功能進行介紹,並提供相關的範例程式,有興趣的讀者可實際執行看看,會更有心得。

DSI5168 PWM應用測試

在電子元件的操控上,常會使用到PWM,PWM 全名叫做 pulse width modulation(脈衝寬度調變),最主要的核心概念為 工作週期(Duty Cycle)。簡單來說,PWM 原理是用 analogWrite() 輸出0~255的值來產生對應電壓,透過電壓值的變化產生亮度或不同顏色的變化。

PWM運作原理圖(圖片來源:柯清長)
DSI5168開發板提供4個PWM GPIO Pin(D10、D11、D12、D13),如下圖,本範例利用RGB LED來驅動全彩LED亮燈的顏色,此範例的接線方式為 V :5V、R:PWM (D10)、 G:PWM (D11)、 B:PWM (D12)。

RGB LED感測器接線圖(圖片來源:柯清長)
範例程式如下:

DSI5168 UART應用測試

UART 全名 Universal Asynchronous Receiver/Transmitter,中譯為通用非同步收發傳輸器,通稱為序列式或串列埠傳輸介面。Ameba 開發板提供了3組UART介面,除了Log UART之外,還提供2組硬體的UART(UART0、UART2),為了相容於Arudino的Software Serial API,Ameba在取名上沿用Software Serial,但底層是硬體而不是軟體模擬。
DSI5168則僅接出UART0(D0/RX、D1/TX) 使用,在Ameba Arduino 開發環境下可利用以下方式宣告使用:
本範例應用目前最夯的空氣品質感測器PMS5003連接DSI5168開發板,它是一款空氣懸浮粒子感測器,使用激光散射原理,能夠得到空氣中0.3 ~ 10微米懸浮顆粒物濃度,測出來的數據,會經由UART輸出。它可以讀出PM 1.0, PM 2.5, PM 10的數據。以PM2.5為例子, 表示每立方公尺的空氣中直徑小於2.5 um的懸浮例子密度,是一個UART介面的感測器。

PMS5003感測器接線圖(圖片來源:柯清長)

PMS5003感測器回傳資料值說明(圖片來源:柯清長)
範例程式如下:
序列埠輸出結果如下:

PMS5003範例程式透過序列埠視窗輸出PM2.5值(圖片來源:柯清長)

DSI5168 WiFi功能測試

拿到DSI5168開發板之後,為了確認Wi-Fi有沒有問題,簡單方法之一:讓DSI5169掃描你附近有沒有Wi-Fi無線上網,如果有,那就顯示出來。有個ScanNetworks範例,透過這個範例程式來了解一下WiFi通訊服務的一些意義。
開啟ScanNetworks範例程式:

開啟DSI5168 WiFi Scan 範例程式(圖片來源:柯清長)
將ScanNetworks範例編譯完成並上傳成功後,按下Ameba的Reset按鈕,然後打開Arduino IDE的序列埠監控視窗,Wi-Fi功能正常的話應該可以看到現有環境下Scan WiFi網路狀況的結果

ScanNetworks範例程式可找到DSI5168開發板置附近的Wi-Fi AP分享器(圖片來源:柯清長)

顯示DHT22溫溼度資料

本範例以DSI5168開發板接上最常用到的DHT22溫溼度感測器,再以DSI5168 WiFi建立一個WebServer(標準TCP Port 80),當有Client 利用瀏覽器連上WebServer 時,會自動每15秒讀取DHT22溫溼度感測器,並將感測器透過瀏覽器顯示。

DHT22感測器接線圖(圖片來源:柯清長)
範例程式如下:
序列埠輸出結果如下:

序列埠監控視窗輸出結果(圖片來源:柯清長)
瀏覽器輸出結果如下:

瀏覽器讀取DSI5168 WebServer輸出結果(圖片來源:柯清長)

一站式AIoT快速開發工具平台-IDEAS Chain

資策會服創所整合內部的開發人力,推出了IDEAS Chain一站式AIoT快速開發工具平台,提供簡易且安全的物聯網建置解決方案,能加速Maker、新創團隊與開發者完成專案,IDEAS Chain 可以很簡單、快速導入物聯網數據應用平台。
平台使用步驟:
1.連線至IDEAS Chain網站:https://www.ideaschain.com.tw/www/iot.html

(圖片來源:IDEAS Chain網站)
2.註冊或登入帳號並進入專案管理

(圖片來源:IDEAS Chain網站)
3.新增專案
4.新增裝置
5.建立裝置名稱及資訊
6. 新增感測器項目
7.建立溫度感測器SID:TEMP
8.建立溼度感測器SID:HUMI
9.取得專案資訊: AK

AK = cJfV9BJID87ldXZk
10.取得裝置ID: DID
DID = 7255458640135639
SID_1 = TEMP
SID_2 = HUMI
本範例以DSI5168開發板接上最常用到的DHT22溫溼度感測器,再以DSI5168 連線WiFi AP並建立一個WiFi Client 連線Session ,連上IDEAS Chain IoT平台(標準TCP Port 80),每15秒讀取DHT22溫溼度感測器並上傳至平台(參閱平台API文件)。

DHT22感測器接線圖(圖片來源:柯清長)
範例程式如下:
序列埠輸出結果如下:

(圖片來源:柯清長)
平台接收感測資料結果如下:

(圖片來源:柯清長)

(圖片來源:柯清長)

(圖片來源:柯清長)

(圖片來源:柯清長)

(圖片來源:柯清長)

(圖片來源:柯清長)

(圖片來源:柯清長)
IDEAS Chain POST API 感測值上傳API,其文件介紹如下:


(圖片來源:柯清長)
更多的DSI5168應用範例,可至Realtek Ameba 官網下載各種感測元件及WiFi應用完整的範例。

小結

台灣為全球IC設計重鎮,也是製造量產的大國,擁有IoT創新裝置發展的極佳條件,服創所為了將這些優勢帶給新創團隊,自行研發推出了基於國產IC的DSI5168開發板,同時提供IDEAS Chain開發平台,相當有心,希望本文的介紹讓大家更了解這塊開發板,有機會不妨用它來完成自己的IoT創意專案。
(責任編輯:王姵文)

參考連結