當時把感測器和Arduino結合之後,為了達到資料儲存與呈現,我得把資料送到pushing box這個網站,再請pushing box把資料推送到Google表單,所以pushing box就像是個機器人一樣,每隔幾秒收到資料後就去填寫Google表單。
而如果我要取得過去幾個月的氣溫資料圖表,我還很難從Google試算表中撈出來,因為資料量太大了。我是下載後,再用程式打撈出來繪圖(gnuplot繪製室內氣溫與氣壓對照圖)
這篇沒有其他圖片介紹怎麼做,因為純粹就是寫起來讓我以後可以看。如果對這服務有興趣的話,可以再查其他網站的介紹,或是看Blynk的流程說明。
製作流程如下
1.手機安裝Blynk的App,用FB或Google帳號登入後,建立一個新專案,它會產生一串英數字的token,然後用App內的功能把Token寄回信箱。
2.下載Arduino IDE,然後在檔案/偏好設定中,增加額外的開發版管理員網址如下
http://arduino.esp8266.com/stable/package_esp8266com_index.json
接下來到工具/開發板搜尋ESP8266,找到之後點擊空白處,出現安裝按鈕,進行安裝。
(這步驟的意義,是在讓Arduino可以擁有ESP8266的安裝開發環境)
3.安裝Library
3.1.因為目的是要做天氣站,我使用dht11的感測器,所以要安裝DHT的library。直接在Arduino IDE的Sketch->Import Library,搜尋DHT,找到後就安裝。
接下來到工具/開發板搜尋ESP8266,找到之後點擊空白處,出現安裝按鈕,進行安裝。
(這步驟的意義,是在讓Arduino可以擁有ESP8266的安裝開發環境)
3.安裝Library
3.1.因為目的是要做天氣站,我使用dht11的感測器,所以要安裝DHT的library。直接在Arduino IDE的Sketch->Import Library,搜尋DHT,找到後就安裝。
3.2 安裝arduino的Blynk程式庫,下載這個壓縮檔,這是Blynk的程式庫(library)。用上述步驟再安裝這個程式庫
4.用瀏覽器進入這個網址,這是Blynk的程式碼產生器。選擇自己的開發版、wifi連接界面、Token等。比方說我用的是NodeMCU、wifi就用自帶的ESP8266 wifi,Token就填入第一步驟收到的那串東西,而在Example當中,可以找到Dht11。選好之後,右邊窗格會自動產生程式碼。你把這串程式碼貼到Arduino IDE裡面,再改一下你的wifi ssid和Password(以下兩行)
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";
這樣感覺不太專業,不過至少程式是順利了。
5.當上述程式都上傳到NodeMCU之後,把DHT11接上NodeMCU。DHT11的供電是3-5.5V,所以"+"請接上NodeMCU的VU腳,"-"就接上Gnd,至於Out則是按照程式碼的說明接上GPIO 2,也就是D4的位置。
6.順利的話,只要開啟Arduino的序列埠監控視窗,傳輸速率選擇9600,應該就會看到相關訊息。例如順利連上wifi、取得ip是多少,溫度、濕度各是多少。基本上看到這些訊息之後,你的NodeMCU就已經開始把資料都送到Blynk的雲端資料庫了。
7.手機blynk的程式界面設計方式,你回到你一開始第一步驟新增的專案,右上角的加號可以新增許多不同種的小元件。以本文章唯一那張圖片為例,那個用的是superchart的元件。
新進blynk的使用者都有2000個能量點,而每個小工具都有不同消耗的能量點,在此你可以任意試用。雖然你增加了一個小工具,你擁有的能量點會變少,但是當你把那個小工具刪除後,能量點又會還給你,所以盡量亂用沒關係。當然這能量點也都是可以再付費購買的。
如何將NodeMCU街收到的溫度資料呈現在手機App上呢?我用以下簡圖說明
dht11-->NodeMCU--->V6........Blynk雲端.........V6---->Blynk App
Blynk.virtualWrite(V6, t);
以下是我玩這個Blynk想到的一些問題和解答
Q. Blynk可以幾秒紀錄一次資料?
A. 我在程式碼中設定一秒上傳一次資料,事後也的確在Blynk的資料中看到一秒一筆資料。
Q. 上傳的資料如何下載?
A. 用Blynk App的專案往右滑,有下載成csv檔案的選項。裡頭的時間是用unix timestamp。
可以用試算表轉換成人熟悉的時間戳記
(資料/86400000)+data(1970,1,1)
可以用試算表轉換成人熟悉的時間戳記
(資料/86400000)+data(1970,1,1)
A.可以,但是要讓每一台手機的Blynk App都登入同一個帳號才行。
Q.Blynk雲端資料庫可以儲存多少資料?
A.目前不知道,就App的呈現界面,最多可以呈現最近3個月的資料。所以如果想要更久的資料,大概要每三個月自己手動下載一次舊的資料。
Q.Blynk雲端資料庫可以儲存多少資料?
A.目前不知道,就App的呈現界面,最多可以呈現最近3個月的資料。所以如果想要更久的資料,大概要每三個月自己手動下載一次舊的資料。