|
本帖最后由 caiyq52 于 2020-2-24 09:49 编辑
方法一,我试写了一个串口控制的程序,控制一个继电器的,你看看能用不,如果可以你再扩展
[mw_shl_code=arduino,true]
#define BLINKER_WIFI
#include <Blinker.h>
char auth[] = "Your Device Secret Key"; //caiyq52-改成自己在点灯app中生成的key码
char ssid[] = "Your WiFi network SSID or name"; //caiyq52-改成自己的WIFI名称
char pswd[] = "Your WiFi network WPA password or WEP key"; //caiyq52-改成自己的WIFI密码
int KK[4][4]={ //定义控制指令
{0xA0,0x01,0x01,0xA2},//caiyq52打开第一路继电器KK[0][]
{0xA0,0x01,0x00,0xA1},//caiyq52关闭第一路继电器KK[1][]
{0xA0,0x02,0x01,0xA3},//caiyq52打开第二路继电器KK[2][]
{0xA0,0x02,0x00,0xA2},//caiyq52关闭第二路继电器KK[3][]
};
// 新建组件对象
BlinkerButton Button1("btn-abc"); //caiyq52-此组件未点灯app中自己设置的按键,改名"btn-abc"必须与自己APP中设定的名称一致
int PinLED=0; //caiyq52-;
// 按下按键即会执行该函数
void button1_callback(const String & state) {
BLINKER_LOG("get button state: ", state);
if(digitalRead(PinLED)==HIGH)
{
for(int i=0;i<4;i++) //caiyq52-发送关闭第一路继电器指令
{
Serial.print(KK[1],HEX);
}
digitalWrite(PinLED, LOW);//caiyq52-记录开关状态
}
else if(digitalRead(PinLED)==LOW)
{
for(int i=0;i<4;i++) //caiyq52-发送打开第一路继电器指令
{
Serial.print(KK[0],HEX);
}
digitalWrite(PinLED, HIGH);//caiyq52-记录开关状态
}
}
// 如果未绑定的组件被触发,则会执行其中内容
void setup() {
// 初始化串口
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
// 初始化有LED的IO
pinMode(PinLED, OUTPUT); //caiyq52-设置引脚为输出模式
digitalWrite(PinLED, LOW); //caiyq52-设置初始状态为LOW低电平
// 初始化blinker
Blinker.begin(auth, ssid, pswd);
Button1.attach(button1_callback);
}
void loop() {
Blinker.run();
}[/mw_shl_code]
这个程序发上来之后居然被自动改了,按照截图上的改回来使用
|
|