WFduino第41課ThingSpeak雲端資料庫應用
當scratch程式關閉後,原來使用中的資料也跟著不見了,資料無法的保存實在可惜。
使用ThingSpeak積木,簡單的將外部感應器收集的資料上傳到ThingSpeak雲端資料庫,完成雲端資料的整合運用。
軟體:Scratch2.0+WFduino
ThingSpeak是一個開源的物聯網(IoT)應用程式平台,免費提供雲端資料儲存及分析應用。透過它提供的API服務,我們可以很容易的將外部感應器收集的資料傳到雲端資料庫,並使用HTTP協議儲存或檢索數據及應用。(註)
———————-
註冊Thingspeak帳號(只需一次)
建立Channels頻道(專案)
取得專案授權碼(每個專案不同)
設定公開資料(取得網址)(可以不公開)
程式設計(資料輸入)
資料匯出與應用
————————
一、註冊帳號(只需一次)
1.點ThingSpeak網站連結(https://thingspeak.com/),點右上角[Sign up]
2.填入電子郵件、帳號、密碼、名字、姓、選時區,按[Continue]
注意:密碼要有大小寫字母和數字
3.到您的mail信箱中找到確認信,按確認。
4.回到ThingSpeak網站,註冊成功,按[OK]
5.第一次要按[Agree to Terms],同意條件。
6.完成註冊。
二、登入帳號
1.點ThingSpeak網站連結(https://thingspeak.com/),點右上角[Sign in]
2.填寫登記的[電子郵件],按[Next]
3.填寫[密碼],按[Log In]
三、建立Channels頻道(專案)
1.選上面的[Channels],再選[New Channel]
2.問你要做甚麼?點選後,按[OK]
3.填寫[專案名稱]、[內容]、勾選[欄位],填寫[欄位名稱],再按[Save Channel]
一個頻道(專案)最多可同時上傳 8 組欄位資料。
4.完成後可以看到專案裡每個欄位的圖表。
5.在欄位圖表上點[編輯],可以編輯圖表上的標題文字,修改完成後按[Save]。
6.選擇網頁中間的[API Keys],把[Write API Key] 寫入的授權碼複製下來
7. 如果要公開資料,可以選擇網頁中間的[Sharing],勾選中間的[Share chanel view with everyone],網址列上/sharing前面的網址就是資料公開的網址。
例如:https://thingspeak.com/channels/415006/sharing
8.任何人只要在瀏覽器輸入這串網址就可以看到資料圖表。
9.專案清除或資料清除。
請在網頁上面選擇[Channels]。
按底下[Clear Channel]就是清除資料。
按底下[Delete Channel]就是刪除專案。
四、程式設計(資料輸入)
使用ThingSpeak積木,ID後空格填入專案的授權碼[Write API Key] ,後面依序填入欄位資料。
示例:智慧家庭溫濕度監測系統
先製做[溫度]、[濕度]等2個變數,儲存資料
重複無限次下面的動作。
[溫溼度感測器(11)在腳位(7)],設定數位腳D7接收來自DHT11的訊號
[等待3秒],因為DHT11需要做資料轉換,每筆資料的抓取時間不能太快。
[設定變數(溫度)為(讀取感測器DHT參數°C)],將攝氏溫度存為變數[溫度]
[設定變數(濕度)為(讀取感測器DHT參數濕度)],將濕度存為變數[濕度]
在螢幕上就可以看到變數顯示現在的溫濕度。
[寫入Thingspeak ID(授權碼)欄位1(溫度)欄位2(溼度)…..],將DHT11測得的資料傳送到Thingspeak雲端資料庫。
[等待15秒],Thingspeak免費版限制上傳時間間隔。
程式下載:溫溼度.sb2
延伸:
1.將感測器換成光敏電阻,紀錄房間光線變化。
2.將感測器換成雨量感測器,紀錄雨量變化。
3.將感測器換成水族箱溫度感測器,紀錄水族箱溫度變化。
五、資料匯出與應用
除了可以直接在瀏覽器上,使用網頁瀏覽資料圖表,也可以直接將資料匯出。
1.登入ThingSpeak後,點選Channels頻道(專案)。
2.選擇網頁中間最右邊的[Data Import/Export]。
按[Download],資料下載成[csv]格式檔案,可以用Excel試算表程式打開。
也可以將json格式的網址複製下來。再參考WFduino第31課JSON格式資料運用http://blog.ilc.edu.tw/blog/blog/868/post/97509/677614
註:參考資料
https://en.wikipedia.org/wiki/ThingSpeak
https://thingspeak.com/
免費版的使用限制 :上傳間隔 15 秒,⼀年 3百萬筆資料
—————————–
相關連結:
iL學習板課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/111175/727272
WFduino(Arduino)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433
新DiFi課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/104089/678192