1. 程式人生 > >手機通過wifi遙控arduino

手機通過wifi遙控arduino

手機下載Blinker

Blinker官網下載手機App,安裝到手機。
手機連線WiFi。
點選我的裝置右上角的"+"新增裝置,選擇Arduino -> wifi接入,複製金鑰以備後續使用。
點選新建的裝置,可以在新介面中載入示例,也可以新建其他應用。

電腦端配置開發環境

參考Blinker開發準備中的軟體準備一節,在電腦端需要做兩部分工作,1)Arduino IDE安裝ESP8266擴充套件,2)下載並安裝blinker Arduino庫。

編寫程式,上傳到Arduino

#define BLINKER_WIFI
#include <Blinker.h>

char auth[] = "829d5d91794a"; //"Your Device Secret Key"; 就是之前複製下載的金鑰
char ssid[] = "CU_xdNg"; //"Your WiFi network SSID or name";
char pswd[] = "cnj263j2"; //"Your WiFi network WPA password or WEP key";

// 新建元件物件
BlinkerButton Button1("btn-abc");
BlinkerNumber Number1("num-abc");

int counter = 0;

// 按下按鍵即會執行該函式
void button1_callback(const String & state)
{
    BLINKER_LOG("get button state: ", state);
    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
    Blinker.vibrate();
}

// 如果未繫結的元件被觸發,則會執行其中內容
void dataRead(const String & data)
{
    BLINKER_LOG("Blinker readString: ", data);
    counter++;
    Number1.print(counter);
}

void setup()
{
    // 初始化串列埠
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);
    
    // 初始化有LED的IO
    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, HIGH);
    // 初始化blinker
    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);

    Button1.attach(button1_callback);
}

void loop() {
    Blinker.run();
}

上傳到Arduino+esp8266之後,我用的是wemos-D1R2,對App中對應的裝置進行狀態更新,裝置會顯示"裝置線上",此後點選"載入示例"中的"點我開關燈",就能開啟或關閉Arduino板載Led燈,同時