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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11003|回复: 24

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

[复制链接]
发表于 2020-3-26 18:29 | 显示全部楼层 |阅读模式
第一次报错 这个单词 我改了 就好了 也不知道该不该改的


Screenshot_2020-03-25-14-07-37-750_com.oray.sunlo.jpg 第二次报错 就是这个了
Screenshot_2020-03-25-14-08-35-634_com.oray.sunlo.jpg

C:\Users\Administrator\Desktop\diannao\blinker_kaiji_xiaoai13\blinker_kaiji_xiaoai13.ino: In function 'void miotPowerState(const String&)':

blinker_kaiji_xiaoai13:35:9: error: 'BlinkerAliGenie' was not declared in this scope

         BlinkerAliGenie.powerState("on");

         ^

blinker_kaiji_xiaoai13:46:9: error: 'BlinkerAliGenie' was not declared in this scope

         BlinkerAliGenie.powerState("off");

         ^

C:\Users\Administrator\Desktop\diannao\blinker_kaiji_xiaoai13\blinker_kaiji_xiaoai13.ino: In function 'void miotQuery(int32_t)':

blinker_kaiji_xiaoai13:59:13: error: 'BlinkerAliGenie' was not declared in this scope

             BlinkerAliGenie.powerState("on");

             ^

blinker_kaiji_xiaoai13:62:13: error: 'BlinkerAliGenie' was not declared in this scope

             BlinkerAliGenie.powerState("off");

             ^

blinker_kaiji_xiaoai13:65:13: error: 'BlinkerAliGenie' was not declared in this scope

             BlinkerAliGenie.print();

             ^

exit status 1
'BlinkerAliGenie' was not declared in this scope


 楼主| 发表于 2020-3-26 18:33 | 显示全部楼层
Arduino:1.8.12 (Windows 7), 开发板:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"

C:\Users\Administrator\Desktop\diannao\blinker_kaiji_xiaoai13\blinker_kaiji_xiaoai13.ino: In function 'void miotPowerState(const String&)':

blinker_kaiji_xiaoai13:35:9: error: 'BlinkerAliGenie' was not declared in this scope

         BlinkerAliGenie.powerState("on");

         ^

blinker_kaiji_xiaoai13:46:9: error: 'BlinkerAliGenie' was not declared in this scope

         BlinkerAliGenie.powerState("off");

         ^

C:\Users\Administrator\Desktop\diannao\blinker_kaiji_xiaoai13\blinker_kaiji_xiaoai13.ino: In function 'void miotQuery(int32_t)':

blinker_kaiji_xiaoai13:59:13: error: 'BlinkerAliGenie' was not declared in this scope

             BlinkerAliGenie.powerState("on");

             ^

blinker_kaiji_xiaoai13:62:13: error: 'BlinkerAliGenie' was not declared in this scope

             BlinkerAliGenie.powerState("off");

             ^

blinker_kaiji_xiaoai13:65:13: error: 'BlinkerAliGenie' was not declared in this scope

             BlinkerAliGenie.print();

             ^

exit status 1
'BlinkerAliGenie' was not declared in this scope

在文件 -> 首选项开启
“编译过程中显示详细输出”选项
这份报告会包含更多信息。
 楼主| 发表于 2020-3-26 19:05 | 显示全部楼层
#define BLINKER_PRINT Serial
#define BLINKER_WIFI
#define BLINKER_MIOT_OUTLET   //小爱同学

#include <Blinker.h>

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

bool oState = false;

bool power;
bool lastpower;

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

#define PW D2    //继电器控制管脚
#define PM D5    //电源检测管脚


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

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

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

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

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

        oState = false;
    }
}


void miotQuery(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(200);
    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);
   
    BlinkerMIOT.attachPowerState(miotPowerState);
    BlinkerMIOT.attachQuery(miotQuery);
    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-26 19:12 | 显示全部楼层
这个错误提示意思是:你程序中有非ASCII的字符。通常是你网页上复制粘贴造成的。
解决办法:手动输入,或者使用专业的代码编辑器删除不可见的字符
发表于 2020-3-26 19:25 | 显示全部楼层
分号用成中文符号了!!
 楼主| 发表于 2020-3-26 19:33 | 显示全部楼层
奈何col 发表于 2020-3-26 19:12
这个错误提示意思是:你程序中有非ASCII的字符。通常是你网页上复制粘贴造成的。
解决办法:手动输入,或者 ...

这个是他 上传到网盘的 直接 就可以打开的 代码
能帮忙 改下吗 ?
 楼主| 发表于 2020-3-26 19:41 | 显示全部楼层
jh800215 发表于 2020-3-26 19:25
分号用成中文符号了!!

不会弄啊  求指点
 楼主| 发表于 2020-3-26 19:51 | 显示全部楼层
奈何col 发表于 2020-3-26 19:12
这个错误提示意思是:你程序中有非ASCII的字符。通常是你网页上复制粘贴造成的。
解决办法:手动输入,或者 ...

大哥 我是真不会弄啊 你把这个改成已解决 我也没解决啊    买的东西早就到了 就一直没法写进去啊! 之前他的教程 里代码 都可以的  

点评

是:“已解答”,意思我是提供了最为准确的解答,我的同事看到这个帖子后,就不用解答了。 我的解答已经非常清楚了,原因和解决办法也都已经告诉你了。 不会使用代码编辑器的话,手动输入一次代码,就可以了。  详情 回复 发表于 2020-3-26 20:26
发表于 2020-3-26 20:26 | 显示全部楼层
no2yulu 发表于 2020-3-26 19:51
大哥 我是真不会弄啊 你把这个改成已解决 我也没解决啊    买的东西早就到了 就一直没法写进去啊! 之前 ...

是:“已解答”,意思我是提供了最为准确的解答,我的同事看到这个帖子后,就不用解答了。
我的解答已经非常清楚了,原因和解决办法也都已经告诉你了。
不会使用代码编辑器的话,手动输入一次代码,就可以了。
 楼主| 发表于 2020-3-26 20:35 | 显示全部楼层
奈何col 发表于 2020-3-26 20:26
是:“已解答”,意思我是提供了最为准确的解答,我的同事看到这个帖子后,就不用解答了。
我的解答已经 ...

问题是 这个代码  是软件生成的一个文件 我是直接打开的 啊!所以就不是你说的 网页复制啊 !

点评

。。。请注意,我说的是:“通常” 原因是“你程序中有非ASCII的字符” 不想扯这种浪费时间的语文问题,你手动输入一次,就好了 至于'BlinkerAliGenie' was not declared in this scope 就是程序里没定义BlinkerAl  详情 回复 发表于 2020-3-26 20:49
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 12:54 , Processed in 0.092194 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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