手机控制 wifi继电器程序

发布时间 2023-05-27 11:19:40作者: 网络来者

/* *****************************************************************

 *

 * Download latest Blinker library here:

 * https://github.com/blinker-iot/blinker-library/archive/master.zip

 *

 *

 * Blinker is a cross-hardware, cross-platform solution for the IoT.

 * It provides APP, device and server support,

 * and uses public cloud services for data transmission and storage.

 * It can be used in smart home, data monitoring and other fields

 * to help users build Internet of Things projects better and faster.

 *

 * Make sure installed 2.7.4 or later ESP8266/Arduino package,

 * if use ESP8266 with Blinker.

 * https://github.com/esp8266/Arduino/releases

 *

 * Make sure installed 1.0.5 or later ESP32/Arduino package,

 * if use ESP32 with Blinker.

 * https://github.com/espressif/arduino-esp32/releases

 *

 * Docs: https://diandeng.tech/doc

 *      

 *

 * *****************************************************************

 *

 * Blinker 库下载地址:

 * https://github.com/blinker-iot/blinker-library/archive/master.zip

 *

 * Blinker 是一套跨硬件、跨平台的物联网解决方案,提供APP端、设备端、

 * 服务器端支持,使用公有云服务进行数据传输存储。可用于智能家居、

 * 数据监测等领域,可以帮助用户更好更快地搭建物联网项目。

 *

 * 如果使用 ESP8266 接入 Blinker,

 * 请确保安装了 2.7.4 或更新的 ESP8266/Arduino 支持包。

 * https://github.com/esp8266/Arduino/releases

 *

 * 如果使用 ESP32 接入 Blinker,

 * 请确保安装了 1.0.5 或更新的 ESP32/Arduino 支持包。

 * https://github.com/espressif/arduino-esp32/releases

 *

 * 文档: https://diandeng.tech/doc

 *      

 * 继电器

 * 8266  

 * *****************************************************************/

 

#define BLINKER_WIFI

 

#include <Blinker.h>

 

char auth[] = "";

char ssid[] = "";

char pswd[] = "";

 

// 新建组件对象

BlinkerButton Button1("btn-open");

BlinkerButton Button2("btn-close");

BlinkerButton Button3("btn-abd");

BlinkerNumber Number1("num-abc");

int GPIO = 0;

int counter = 0;

// 关闭水泵

void button1_callback(const String & state)

{

    BLINKER_LOG("get button state: ", state);

     digitalWrite(GPIO, HIGH);

     Blinker.delay(500);//操作延时

}

// 开水泵

void button2_callback(const String & state)

{

    BLINKER_LOG("get button state: ", state);

     digitalWrite(GPIO, LOW);

     Blinker.delay(500);//操作延时

}

//led

void button3_callback(const String & state)

{

    BLINKER_LOG("get button state: ", state);

    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));

}

// 如果未绑定的组件被触发,则会执行其中内容

void dataRead(const String & data)

{

    BLINKER_LOG("Blinker readString: ", data);

    counter++;

    Number1.print(counter);

}

 

void setup()

{

    // 初始化串口

    Serial.begin(115200);

    BLINKER_DEBUG.stream(Serial);

    BLINKER_DEBUG.debugAll();

     

    // 初始化有LEDIO

    pinMode(LED_BUILTIN, OUTPUT);

    digitalWrite(LED_BUILTIN, HIGH);

 

     // 初始化控制继电器的GPIO引脚

    pinMode(GPIO, OUTPUT);

    //digitalWrite(GPIO, LOW);//低电平默认继电器关闭

    digitalWrite(GPIO, HIGH);//低电平默认继电器关闭

 

    // 初始化blinker

    Blinker.begin(auth, ssid, pswd);

    Blinker.attachData(dataRead);

 

    Button1.attach(button1_callback);

    Button2.attach(button2_callback);

    Button3.attach(button3_callback);

}

 

void loop() {

    Blinker.run();

}