爆改车间 开机升级版 代码一直报错 求指点!!-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: no2yulu

[已解答] 爆改车间 开机升级版 代码一直报错 求指点!!

[复制链接]
发表于 2020-3-26 20:49 | 显示全部楼层
no2yulu 发表于 2020-3-26 20:35
问题是 这个代码  是软件生成的一个文件 我是直接打开的 啊!所以就不是你说的 网页复制啊 ! ...

。。。请注意,我说的是:“通常”
原因是“你程序中有非ASCII的字符”

不想扯这种浪费时间的语文问题,你手动输入一次,就好了

至于'BlinkerAliGenie' was not declared in this scope
就是程序里没定义BlinkerAliGenie,你用的小爱的宏,又在调用天猫精灵的函数。
解决办法:使用blinker提供的例程
 楼主| 发表于 2020-3-26 21:00 | 显示全部楼层
奈何col 发表于 2020-3-26 20:49
。。。请注意,我说的是:“通常”
原因是“你程序中有非ASCII的字符”

实在不好意思 我是真不懂的 不知道 您有没有空帮忙改下呗!感谢!!
 楼主| 发表于 2020-3-26 21:05 | 显示全部楼层
奈何col 发表于 2020-3-26 20:49
。。。请注意,我说的是:“通常”
原因是“你程序中有非ASCII的字符”

QQ截图20200326210215.jpg
发表于 2020-3-26 21:10 | 显示全部楼层
#define BLINKER_WIFI
#define BLINKER_MIOT_OUTLET   //小爱同学

#include <Blinker.h>

char auth[] = "0bceb1c50115";  //设备key
char ssid[] = "jia";  //路由器wifi ssid
char pswd[] = "164004861";  //路由器wifi 密码
BlinkerButton Button1("diannao");     //定义按钮键名
bool oState = false;
int counter = 0;
void miotPowerState(const String & state)
{
    BLINKER_LOG("need set power state: ", state);

    if (state == BLINKER_CMD_ON) {     //小爱同学控制开命令 此处修改为点动模式,适合按钮操作,
        digitalWrite(0, LOW);
        delay(200);
        digitalWrite(0, HIGH);
        BlinkerMIOT.powerState("on");

        BlinkerMIOT.print();

        oState = true;
    }
    else if (state == BLINKER_CMD_OFF) {   //小爱同学控制关命令 此处修改为点动模式,适合按钮操作,
        digitalWrite(0,LOW);
        delay(200);
        digitalWrite(0, HIGH);
        BlinkerMIOT.powerState("off");

        BlinkerMIOT.print();

        oState = false;
    }
}

void miotQuery(int32_t queryCode)      //小爱同学控制
{
    BLINKER_LOG("MIOT Query codes: ", queryCode);

    switch (queryCode)
    {
        case BLINKER_CMD_QUERY_ALL_NUMBER :
            BLINKER_LOG("MIOT Query All");
            BlinkerMIOT.powerState(oState ? "on" : "off");
            BlinkerMIOT.print();
            break;
        case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :
            BLINKER_LOG("MIOT Query Power State");
            BlinkerMIOT.powerState(oState ? "on" : "off");
            BlinkerMIOT.print();
            break;
        default :
            BlinkerMIOT.powerState(oState ? "on" : "off");
            BlinkerMIOT.print();
            break;
    }
}

void dataRead(const String & data)      // 如果未绑定的组件被触发,则会执行其中内容
{
    BLINKER_LOG("Blinker readString: ", data);

    Blinker.vibrate();
   
    uint32_t BlinkerTime = millis();
   
    Blinker.print("millis", BlinkerTime);
}

void button1_callback(const String & state)     //点灯app内控制按键触发
{
    BLINKER_LOG("get button state: ", state);
    digitalWrite(0,LOW);
    delay(200);
    digitalWrite(0, HIGH);
}

void setup()
{
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);

    pinMode(0, OUTPUT);              //定义io口为输出
    digitalWrite(0, HIGH);           //定义io默认为高电平

    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);
   
    BlinkerMIOT.attachPowerState(miotPowerState);
    BlinkerMIOT.attachQuery(miotQuery);
    Button1.attach(button1_callback);      
}

void loop()
{
    Blinker.run();
}
 楼主| 发表于 2020-3-26 21:20 | 显示全部楼层
q164004861 发表于 2020-3-26 21:10
#define BLINKER_WIFI
#define BLINKER_MIOT_OUTLET   //小爱同学

这个是 他之前那个 电脑开机代码  我试过了 可以用的 之前是8266-01s现在用的是NodeMcu这个板子 这个带反馈的  一直弄不好
 楼主| 发表于 2020-3-27 08:06 来自手机 | 显示全部楼层
有大神 能改下吗?
发表于 2020-3-27 17:50 | 显示全部楼层
本帖最后由 out 于 2020-3-27 18:00 编辑

#define BLINKER_PRINT Serial
#define BLINKER_WIFI
#define BLINKER_ALIGENIE_OUTLET //天猫精灵

#include <Blinker.h>

char auth[] = "659904c2863b";
char ssid[] = "TP-LINK_0805";
char pswd[] = "012345678";
BlinkerButton Button1("btn-abc");     //定义按钮数据键值
BlinkerText Text1("TextKey");        //文件显示键值

bool oState = false;

bool power;
bool lastpower;

int counter = 0;
String pState;  //存储检测到的电源状态

#define PW D4    //继电器控制管脚
#define PM D3    //电源检测管脚


void aligeniePowerState(const String & state)
{
    BLINKER_LOG("need set power state: ", state);

    if (state == BLINKER_CMD_ON) {
        digitalWrite(PW, HIGH);
        delay(1500);
        digitalWrite(PW, LOW);
        Serial.println("开了");

        BlinkerAliGenie.powerState("on");
        BlinkerAliGenie.print();

        oState = true;
    }
    else if (state == BLINKER_CMD_OFF) {
        digitalWrite(PW,HIGH);
        delay(1500);
        digitalWrite(PW, LOW);
        Serial.println("关了");

        BlinkerAliGenie.powerState("off");
        BlinkerAliGenie.print();

        oState = false;
    }
}


void aligenieQuery(int32_t queryCode)
{
    BLINKER_LOG("AliGenie Query codes: ", queryCode);

            if(digitalRead(PM) == true){
            BlinkerAliGenie.powerState("on");
            BlinkerAliGenie.powerState("on");
          }else {
            BlinkerAliGenie.powerState("off");
            BlinkerAliGenie.powerState("off");
                }
            BlinkerAliGenie.print();

}

void dataRead(const String & data)      // 如果未绑定的组件被触发,则会执行其中内容
{
    BLINKER_LOG("Blinker readString: ", data);

    Blinker.vibrate();

    uint32_t BlinkerTime = millis();

    Blinker.print("millis", BlinkerTime);

}

void button1_callback(const String & state)     //点灯app内控制按键触发
{
    BLINKER_LOG("get button state: ", state);
    digitalWrite(PW,HIGH);
    delay(1500);
    digitalWrite(PW, LOW);
}

void heartbeat(){
    if(digitalRead(PM) == true){
        pState="开机";
      }else {
        pState="关机";
            }

     Text1.print(pState,"电源状态反馈");
     Serial.println("心跳反馈");
}

void setup()
{
    pinMode(PM,INPUT);
    Serial.begin(115200);
    #if defined(BLINKER_PRINT)
        BLINKER_DEBUG.stream(BLINKER_PRINT);
    #endif

    pinMode(PW, OUTPUT);              //定义io口为输出
    digitalWrite(PW, LOW);           //定义io默认为高电平

    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);

    BlinkerAliGenie.attachPowerState(aligeniePowerState);
    BlinkerAliGenie.attachQuery(aligenieQuery);
    Button1.attach(button1_callback);   
    Blinker.attachHeartbeat(heartbeat);   

}

void loop()
{
    Blinker.run();
    power = digitalRead(PM);
    if (power != lastpower){
            if(digitalRead(PM) == true){
              pState="开机";
            }else {
              pState="关机";
                  }
           Text1.print(pState,"电源状态反馈");
           Serial.println("反馈");
    }
    lastpower = power;

}
发表于 2020-3-27 17:51 | 显示全部楼层
#define BLINKER_PRINT Serial
#define BLINKER_WIFI
#define BLINKER_ALIGENIE_OUTLET //天猫精灵

#include <Blinker.h>

char auth[] = "659904c2863b";
char ssid[] = "TP-LINK_0805";
char pswd[] = "012345678";
BlinkerButton Button1("btn-abc");     //定义按钮数据键值
BlinkerText Text1("TextKey");        //文件显示键值

bool oState = false;

bool power;
bool lastpower;

int counter = 0;
String pState;  //存储检测到的电源状态

#define PW D4    //继电器控制管脚
#define PM D3    //电源检测管脚


void aligeniePowerState(const String & state)
{
    BLINKER_LOG("need set power state: ", state);

    if (state == BLINKER_CMD_ON) {
        digitalWrite(PW, HIGH);
        delay(1500);
        digitalWrite(PW, LOW);
        Serial.println("开了");

        BlinkerAliGenie.powerState("on");
        BlinkerAliGenie.print();

        oState = true;
    }
    else if (state == BLINKER_CMD_OFF) {
        digitalWrite(PW,HIGH);
        delay(1500);
        digitalWrite(PW, LOW);
        Serial.println("关了");

        BlinkerAliGenie.powerState("off");
        BlinkerAliGenie.print();

        oState = false;
    }
}


void aligenieQuery(int32_t queryCode)
{
    BLINKER_LOG("AliGenie Query codes: ", queryCode);
            
            if(digitalRead(PM) == true){
            BlinkerAliGenie.powerState("on");
            BlinkerAliGenie.powerState("on");
          }else {
            BlinkerAliGenie.powerState("off");
            BlinkerAliGenie.powerState("off");
                }
            BlinkerAliGenie.print();

}

void dataRead(const String & data)      // 如果未绑定的组件被触发,则会执行其中内容
{
    BLINKER_LOG("Blinker readString: ", data);

    Blinker.vibrate();
   
    uint32_t BlinkerTime = millis();
   
    Blinker.print("millis", BlinkerTime);
   
}

void button1_callback(const String & state)     //点灯app内控制按键触发
{
    BLINKER_LOG("get button state: ", state);
    digitalWrite(PW,HIGH);
    delay(1500);
    digitalWrite(PW, LOW);
}

void heartbeat(){
    if(digitalRead(PM) == true){
        pState="开机";
      }else {
        pState="关机";
            }
            
     Text1.print(pState,"电源状态反馈");
     Serial.println("心跳反馈");
}

void setup()
{
    pinMode(PM,INPUT);
    Serial.begin(115200);
    #if defined(BLINKER_PRINT)
        BLINKER_DEBUG.stream(BLINKER_PRINT);
    #endif

    pinMode(PW, OUTPUT);              //定义io口为输出
    digitalWrite(PW, LOW);           //定义io默认为高电平

    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);
   
    BlinkerAliGenie.attachPowerState(aligeniePowerState);
    BlinkerAliGenie.attachQuery(aligenieQuery);
    Button1.attach(button1_callback);   
    Blinker.attachHeartbeat(heartbeat);   
   
}

void loop()
{
    Blinker.run();
    power = digitalRead(PM);
    if (power != lastpower){
            if(digitalRead(PM) == true){
              pState="开机";
            }else {
              pState="关机";
                  }
           Text1.print(pState,"电源状态反馈");
           Serial.println("反馈");
    }
    lastpower = power;
   
}
 楼主| 发表于 2020-3-27 20:09 | 显示全部楼层
out 发表于 2020-3-27 17:51
#define BLINKER_PRINT Serial
#define BLINKER_WIFI
#define BLINKER_ALIGENIE_OUTLET //天猫精灵

首先 感谢您 还能回我的  
就是想问问 大神 您能帮忙改改 我是小爱同学的语音的
感谢!!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 12:56 , Processed in 0.116948 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表