網頁

雲端開發平台Blynk的Button工具


在Blynk中,Button是再基本不過的工具,我們可以透過這個按鈕對開發板的IO腳進行開關,就如同官方手冊裡對這個工具的介紹(Works in push or switch modes. Allows to send ON and OFF (LOW/HIGH) values. Button sends 1 (HIGH) on press and sends 0 (LOW) on release.),這個工具能控制開發板的IO輸出HIGH或LOW的訊號,藉此達到開關的一個效果。

既然能這樣進行控制,那我們就能接上繼電器去對做各種家電、設備進行遠端遙控。就像我之前寫過的文章利用WebDuino SMART開發版快速建構家電雲端控制。這個做法相當的簡單,只要參考這篇文章利用NodeMCU透過Blynk APP建立雲端開關點亮LED燈,並且將NodwMCU的Vin腳接上繼電器的VCC、GND接GND然後將IN接入控制板的D0腳即可(腳位可以自己進行選擇,不一定要D0)。

ESP8266本身是3.3V的工作電壓,雖然市售的繼電器模組都是使用5V的驅動電壓,但是我們能將NodeMCU的Vin腳接上繼電器的VCC,其供電相當於USB的V+(5V),在我測試之下這樣的接法還是能成功作動的,我想是因為3.3V還是有超過繼電器模組上面比較器的閥值。同時我看到不少國外的文章也都是使用這樣的做法,但如果要串接多顆繼電器的話,建議還是使用外部的5V電源比較好,可以參考這篇文章的圖片接法IOT Home Automation over Internet using Blynk



在Blynk APP中的Button Settings第一行可以更改按鈕名稱,右邊的綠色圈圈則可以更改按鈕的顏色,而Select Pin則可以選擇NodeMCU上面的11支數位輸出腳(Digital0~10),然後0跟1則是按下或放開時的輸出電位,你也可以自行更改成1-0,讓按下按鈕時輸出的是低電位LOW,放開則是高電位HIGH。

而Mode模式中的PUSH與SWITCH的意思就像無段與有段開關那樣,選擇後運行試試看應該能很清楚地了解它的不同,最後ON跟OFF的字樣也可以進行更改,讓按下與放開時顯示的字樣不同,我測試中文名稱也是沒問題的。




但是有一點要注意的是,我使用NodeMCU並沒有辦法成功控制這種不帶光耦的繼電器,我外部供電也嘗試過,接3.3V的VCC也沒辦法,關於點我不太確定是怎麼一回事,我想可能這種繼電器模組真的要照正規的接法,使用電晶體來進行觸發(接法可以參考這裡),但我實在是不太喜歡另外接一堆有的沒的,所以我私心建議買繼電器的時候,就直接買帶有光耦隔離電路的繼電器模組,接線上也比較簡單一點。或是單純控制一樣電器而已的話也可以買這種設計好的ESP8266繼電器模組




最後則是在按鈕工具中Select Pin有出現的Virtual虛擬引腳,在官方的介紹中(Virtual Pins - have no physical representation. They are used to transfer any data between Blynk App and your hardware. Read more about Virtual Pins here.)指出,這個虛擬引腳並不是實際的腳位,而是一種用來讓APP跟硬體溝通的腳位。

如果一款雲端APP只有單純的IO腳的輸出入及PWM輸出是完全不夠的,就如同官方對於這個功能的介紹(We designed Virtual Pins to send any data from your microcontroller to the Blynk App and back.),有些情況我們需要傳送一些數值到APP上,或是從APP輸入一些字串到硬體中,例如溫濕度、LCD的顯示或I2C的資料等等,還可以透過這個引腳觸發你在硬體端寫的一些functions,這種情況都需要靠虛擬引腳來達成,這些功能我之後會在進行測試,目前只要知道這是Blynk中相當重要的一個功能就好。



在Blynk Widger中有相當多的工具可供選取,而它的營利模式就是利用儲值工具點數的方式,每個免費的帳號它會給你2000點的額度,在這個額度內可以使用任何想用的工具,而不同的工具也有不同的價格。



在不同的專案中是使用共通的點數的,所以專案開得越多點數也會剩的越少。幸好它的點數方案價格其實還算親民,只是我目前都還是在學習的階段,所以一樣一樣工具使用,目前都還是足夠的。



文章寫到這邊,希望大家能試試看用不同的輸出腳,搭配一些如馬達、燈泡等等的元件,試試看實際透過APP來進行控制,好好的發揮Blynk這個平台的威力。