:::

5. 手機APP [Blynk] 操控ESP-01

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安裝

Blynk APP操作 Step by Step

01.首次使用需註冊一個帳號

02.帳戶是使用email當作名稱,密碼自訂,之後需要寄送驗証碼(ATUH TOKEN)時會寄到這個信箱

03.上面的小+或是下面的大+,都是建立一個新專案

04.輸入專案名稱,然後硬體選ESP8266

 

05.進到專案的主畫面,此時是編輯模式,可用的功能選單在右上角3個,先按左邊的六角螺帽,我們要來找出AUTH TOKEN碼

新版APP在建立好專案的同時,也會同時寄出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亮度,而不是只有[開]與[關] 

每個帳戶可使用的點數是2000點,不同的元件各需不同的點數,若您專案很大,使用元件太多,2000點不夠用那就要另外花錢購買點數了

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(高電位)


搜尋