:::

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


搜尋

錯誤訊息
未知: Array and string offset access syntax with curly braces is deprecated 在檔案中的第 /include/functions.encoding.php 列 40
未知: Array and string offset access syntax with curly braces is deprecated 在檔案中的第 /include/functions.encoding.php 列 40
未知: Array and string offset access syntax with curly braces is deprecated 在檔案中的第 /include/functions.encoding.php 列 73
未知: Function get_magic_quotes_gpc() is deprecated 在檔案中的第 /class/libraries/vendor/xoops/xmf/src/Request.php 列 505
未知: Function get_magic_quotes_gpc() is deprecated 在檔案中的第 /class/libraries/vendor/xoops/xmf/src/Request.php 列 119
未知: Function get_magic_quotes_gpc() is deprecated 在檔案中的第 /class/libraries/vendor/xoops/xmf/src/Request.php 列 505
未知: Function get_magic_quotes_gpc() is deprecated 在檔案中的第 /class/libraries/vendor/xoops/xmf/src/Request.php 列 119
未知: Function get_magic_quotes_gpc() is deprecated 在檔案中的第 /class/libraries/vendor/xoops/xmf/src/Request.php 列 119
未知: Function get_magic_quotes_gpc() is deprecated 在檔案中的第 /class/libraries/vendor/xoops/xmf/src/Request.php 列 119
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
警告: str_repeat(): Second argument has to be greater than or equal to 0 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined variable: disabled 在檔案中的第 /modules/tad_book3/function.php 列 818
通知: Undefined index: bootstrap 在檔案中的第 /modules/tadtools/preloads/core.php 列 68
已棄用
資料庫語法
0.000080 - SET SQL_BIG_SELECTS = 1
0.000708 - SELECT * FROM config WHERE (`conf_modid` = '0' AND `conf_catid` = '1') ORDER BY conf_order ASC
0.000336 - SELECT sess_data, sess_ip FROM session WHERE sess_id = 's16j3mbrgnfbd5aa87c4ckpu2k'
0.000388 - SELECT * FROM modules WHERE dirname = 'tad_book3'
0.000639 - SELECT COUNT(*) FROM group_permission WHERE (`gperm_modid` = '1' AND (`gperm_groupid` = '3') AND `gperm_name` = 'module_read' AND `gperm_itemid` = '9')
0.000352 - SELECT * FROM config WHERE (`conf_modid` = '9') ORDER BY conf_order ASC
0.000371 - select a.tbsn,a.title,b.author,a.category,a.page,a.paragraph,a.sort from tad_book3_docs as a left join tad_book3 as b on a.tbsn=b.tbsn where a.tbdsn='44'
0.000276 - SELECT tbsn,title FROM tad_book3 ORDER BY sort
0.000461 - SELECT * FROM config WHERE (`conf_modid` = '0' AND `conf_catid` = '5') ORDER BY conf_order ASC
0.000270 - SELECT COUNT(*) FROM banner
0.000136 - SELECT * FROM banner LIMIT 1, 1
0.003462 - UPDATE banner SET impmade = 1277903 WHERE bid = 2
0.000358 - SELECT * FROM config WHERE (`conf_modid` = '0' AND `conf_catid` = '3') ORDER BY conf_order ASC
0.001179 - SELECT DISTINCT gperm_itemid FROM group_permission WHERE gperm_name = 'block_read' AND gperm_modid = 1 AND gperm_groupid IN (3)
0.000900 - SELECT b.* FROM newblocks b, block_module_link m WHERE m.block_id=b.bid AND b.isactive=1 AND b.visible=1 AND m.module_id IN (0,9) AND b.bid IN (1,2,3,4,5,6,7,8,9,10,11,18,15,16,20,19,58,60,61,73,72,74,71,76,75,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,111,109,110,112,113,114,115,116,117,118,119,120,121,122,123) ORDER BY b.weight, m.block_id
0.000703 - SELECT f.*, s.tpl_source FROM tplfile f LEFT JOIN tplsource s ON s.tpl_id=f.tpl_id WHERE (`tpl_tplset` = 'default' AND `tpl_file` = 'system_block_search.tpl') ORDER BY tpl_refid
0.003504 - update tad_book3_docs set `count` = `count`+1 where tbdsn='44'
0.000246 - select * from tad_book3_docs where tbdsn='44'
0.000175 - select * from tad_book3 where tbsn='11'
0.000214 - select mid from modules where dirname='tad_book3'
0.000432 - desc `tad_book3_data_center` `sort`
0.000286 - select `col_sn`,`data_name`,`data_sort`, `data_value` from `tad_book3_data_center` where `mid`= '9' and `col_name`='read_tbdsn_date' and `col_sn`='44' order by `sort` , `data_sort`
0.001217 - select tbdsn,title,content,category,page,paragraph,sort,enable,uid,from_tbdsn from tad_book3_docs where tbsn='11' and `enable`='1' order by category,page,paragraph,sort
0.000875 - select tbdsn,title,category,page,paragraph,sort from tad_book3_docs where tbsn='11' and (`content` != '' or `from_tbdsn` != 0) and enable='1' order by category,page,paragraph,sort
0.000198 - SELECT * FROM modules WHERE dirname = 'tadtools'
0.000332 - SELECT * FROM config WHERE (`conf_modid` = '4') ORDER BY conf_order ASC
0.000180 - select mid from modules where dirname='tad_book3'
0.000412 - desc `tad_book3_data_center` `sort`
0.000220 - select `col_sn`,`data_name`,`data_sort`, `data_value` from `tad_book3_data_center` where `mid`= '9' and `col_name`='video_tbdsn_date' and `col_sn`='44' order by `sort` , `data_sort`
0.000272 - select groupid,name from groups
0.000361 - select * from `tad_book3_files_center` where `col_name`='mp4' and `col_sn`='44' and `kind`='file' order by sort limit 0,1
0.000273 - select `tt_theme`,`tt_use_bootstrap`,`tt_bootstrap_color`,`tt_theme_kind` from `tadtools_setup` where `tt_theme`='school2015'
0.000363 - SELECT f.*, s.tpl_source FROM tplfile f LEFT JOIN tplsource s ON s.tpl_id=f.tpl_id WHERE (`tpl_tplset` = 'default' AND `tpl_file` = 'tadbook3_index.tpl') ORDER BY tpl_refid
0.000204 - SELECT * FROM modules WHERE dirname = 'tad_themes'
0.000221 - SELECT * FROM config WHERE (`conf_modid` = '3') ORDER BY conf_order ASC
0.000153 - select `tt_bootstrap_color` from tadtools_setup where `tt_theme`='school2015'
0.000268 - select * from tad_themes where `theme_name`='school2015'
0.000175 - select conf_value from config where conf_title ='_MD_AM_DEBUGMODE'
0.000218 - select * from tad_themes_blocks where `theme_id`='7'
0.000181 - select mid from modules where dirname='tad_themes'
0.000454 - desc `tad_themes_data_center` `sort`
0.000155 - select `col_sn`,`data_name`,`data_sort`, `data_value` from `tad_themes_data_center` where `mid`= '3' and `col_name`='theme_id' and `col_sn`='7' order by `sort` , `data_sort`
0.000185 - select conf_value from config where conf_name ='allow_register'
0.000319 - select `mid`, `name`, `dirname` from modules where isactive='1' and hasmain='1' and weight!=0 order by weight
0.000155 - SELECT * FROM modules WHERE dirname = 'tad_blocks'
0.000175 - select conf_value from config where conf_title ='_MD_AM_DEBUGMODE'
0.000174 - select count(*) from priv_msgs where `to_userid` ='0' and `read_msg`=0 group by `to_userid`
0.000321 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='0' and status='1' order by position
0.000138 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='11' and status='1' order by position
0.000123 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='14' and status='1' order by position
0.000115 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='15' and status='1' order by position
0.000111 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='17' and status='1' order by position
0.000129 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='16' and status='1' order by position
0.000113 - select `menuid`, `itemname`, `itemurl`, `target`, `icon`, `link_cate_name`, `link_cate_sn`, `read_group` from tad_themes_menu where of_level='18' and status='1' order by position
0.000324 - select a.* from tad_themes_files_center as a left join tad_themes as b on a.col_sn=b.theme_id where a.`col_name`='slide' and b.`theme_name`='school2015'
0.000175 - SELECT * FROM modules WHERE dirname = 'tad_login'
0.000255 - SELECT * FROM config WHERE (`conf_modid` = '14') ORDER BY conf_order ASC
總計: 57
區塊
搜尋: 沒有快取
總計: 1
額外資訊
包含檔案: 204 檔案
使用記憶體: 6978720 bytes
計時
XOOPS 使用 0.129 秒來載入。
XOOPS Boot 使用 0.032 秒來載入。
Module init 使用 0.009 秒來載入。
XOOPS output init 使用 0.038 秒來載入。
Module display 使用 0.028 秒來載入。
Page rendering 使用 0.021 秒來載入。