# 使用**Blynk Cloud**控制esp32 ###### tags: `Blynk` `iot` [登入]([https://](https://blynk.cloud/dashboard/login))  **達到目的** 用手機Blynk app的Switch控制esp32內置燈的開關 **要做什麼?(模板的使用)**  模板是讓其他的裝置共用的*設定*,例如在一個模板裡指定了一個Virtual Pin,設定**開**的時候代表1,**關**的時候代表0。那麼**全部**使用這模板的裝置也會是這樣被設定。 ## 步驟﹕ (1) 先要加入Template(模板)。  New Template->填寫資料  Datastreams來設定(設備上)傳送資料的結構   最重要是pin的選擇,這是設計Blynk app與iot裝置通訊的橋樑。  一定要記得Save  **Blynk App連接WIFI** 有開發過iot程式的人也知道要hardcode wifi的SSID及密碼到裝置以使之連上互聯網。是次Blynk App用WIFI provisioning便解決了hardcode的問題。 在app透過連按接裝置(例如ESP32)去引導使用者輸入WIFI資料令不同的使用者連接自己的網絡。  (2) 需要使用特別的library﹕ 在Arduino使用相關的[library]([https://](https://github.com/blynkkk/blynk-library/releases/tag/v1.0.0-beta.3))  Include library   改名為->"blynk"  使用範例檔   有兩項資料必須填入 #define BLYNK_TEMPLATE_ID "" #define BLYNK_DEVICE_NAME "" 就是用那一個template的資料。我們會用剛新增template的內容   填好上載程式到esp32 esp32連上電源 (2) 把esp32接駁WIFI的步驟﹕  開啟esp32  選擇WIFI  輸入密碼  esp32成功連接WIFI(不是手機連接esp32)  ## 在Blynk裡設計app以控制esp32 選擇已連接WIFI的設備  新增Switch Switch的Datastreams就是我們在template裡已計好的vinpin0   加畢後現在的狀況就是這個 **Switch的開關觸發V0 pin的的開關** App Switch ON -> V0 (1) App Switch OFF -> V0 (0) **最後要將相關邏輯放回esp32的設備** ```cpp= void setup() { Serial.begin(115200); delay(100); BlynkEdgent.begin(); pinMode(2, OUTPUT); // Initialise digital pin 2 as an output pin Blynk.syncVirtual(V0); //取得V0 pin最後的狀態 } BLYNK_WRITE(V0) // Executes when the value of virtual pin 0 changes { if(param.asInt() == 1) { // execute this code if the switch widget is now ON digitalWrite(2,HIGH); // Set digital pin 2 HIGH Serial.println("ON"); } else { // execute this code if the switch widget is now OFF digitalWrite(2,LOW); // Set digital pin 2 LOW Serial.println("OFF"); } } void loop() { BlynkEdgent.run(); } ``` 解說﹕ BLYNK_WRITE(V0) 當V0有改變時便觸發
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up