Blynk官網 http://www.blynk.cc/
Blynk是一套中介程式,支援的設備很多,如Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, Energia, ARM mbed, etc.
其中ESP8266也有支援,我們只需要用arduino把Blynk的韌體上傳到ESP-01,就可以在手機上用圖形化編輯控制介面來操控ESP-01了,
這次外接兩項,一項是LED當作練習輸出裝置,接到GPIO0,一項是紅外線感應器當作練習輸入裝置,接到GPIO2
1.下載library,網址在 https://github.com/blynkkk/blynk-library/releases
解壓縮後放到arduino底下的library資料夾,本範例是使用v0.4.2版
2.手機(APPLE或Android皆可),請在APP商店搜尋Blynk安裝
01.首次使用需註冊一個帳號
02.帳戶是使用email當作名稱,密碼自訂,之後需要寄送驗証碼(ATUH TOKEN)時會寄到這個信箱
03.上面的小+或是下面的大+,都是建立一個新專案
04.輸入專案名稱,然後硬體選ESP8266
05.進到專案的主畫面,此時是編輯模式,可用的功能選單在右上角3個,先按左邊的六角螺帽,我們要來找出AUTH TOKEN碼
06.進入專案設定後,點下方的DEVICES
07.確認一下連接方式是WIFI,然後下方黃色方框裡就是我們要找的AUTH TOKEN碼,這串碼"樂樂等",懶得一個字一個字慢慢KEY的話可以按下方的E-mail,寄到信箱
到信箱收信,複製上面那串AUTH TOKEN碼備用
08.打開arduino,找到要上傳的韌體檔,從檔案>>範例>>Blynk>>Boards_WIFI>>ESP8266_Standalone
這個檔案只需要修改auth、ssid、pass三個地方就可以上傳到ESP-01了(詳細上傳方法請參閱第1章)
ssid、pass是讓ESP-01能夠上網,auth則是讓手機APP能夠找到你的ESP-01,(手機與ESP-01不需在同一網段哦~)
/************************************************************** * Blynk is a platform with iOS and Android apps to control * Arduino, Raspberry Pi and the likes over the Internet. * You can easily build graphic interfaces for all your * projects by simply dragging and dropping widgets. * * Downloads, docs, tutorials: http://www.blynk.cc * Blynk community: http://community.blynk.cc * Social networks: http://www.fb.com/blynkapp * http://twitter.com/blynk_app * * Blynk library is licensed under MIT license * This example code is in public domain. * ************************************************************** * This example runs directly on ESP8266 chip. * * Note: This requires ESP8266 support package: * https://github.com/esp8266/Arduino * * Please be sure to select the right ESP8266 module * in the Tools -> Board menu! * * Change WiFi ssid, pass, and Blynk auth token to run :) * **************************************************************/ #define BLYNK_PRINT Serial // Comment this out to disable prints and save space #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> // You should get Auth Token in the Blynk App. // Go to the Project Settings (nut icon). char auth[] = "YourAuthToken"; // Your WiFi credentials. // Set password to "" for open networks. char ssid[] = "YourNetworkName"; char pass[] = "YourPassword"; void setup() { Serial.begin(9600); Blynk.begin(auth, ssid, pass); } void loop() { Blynk.run(); }
韌體上傳後,開始來接線,LED接到GPIO0,外線感應器接到GPIO2
電路接好,插上變壓器,接下來我們繼續回到手機上來操作
09.點一下右上角的新增元件後,會出現可使用的項目,首先做一個點亮LED的開關,這裡我們不選Button,是因為ESP8266的所有接腳都可以模擬PWM輸出,所以我用滑桿來作開關控制LED亮度,而不是只有[開]與[關]
10.主畫面出現剛剛點選的滑桿元件,接著在上面點一下進入細部設定
11.我們把元件名稱改名為led,再來是輸出的數值是0~1023,再來點中間左邊的[PIN]來設定腳位
(預設就是0~1023,圖示裡255是錯的,UNO板的PWM是8bit,0~255,但是ESP8266的PWM是10bit,所以使用預設的0~1023就好了)
12.左邊選Digital,右邊選gp0,(led是接到GPIO0)再按下CONTINUE
13.檢查一下元件上方的資訊是否有更改過來了,目前還是在編輯模式,拉動滑桿不會有反應,請按右上角的三角形進行執行模式
14.拉動滑桿,放開後,應該就可以即時看到LED的亮度跟著改變了
輸出(LED)搞定後,我們再來試試輸入部份(紅外線感應器)
15.在主畫面的編輯模式下,點新增元件,這次選Value Display M
16.主畫面出現了剛新增的元件,在元件上點一下進入細部設定
17.這次PIN選Digital gp2 (紅外線感應器是連接到GPIO2)
18.元件名稱順便改一下名,點選左上角箭頭回到主畫面,
19.確認一下元件上面的資訊是否更新過來,接著按右上角的三角形開始執行
20.紅外線感應器沒有動靜時,會顯示LOW(低電位)
21.用手在紅外線感應器旁揮一揮,偵測到有動靜時,會顯示HIGH(高電位)