渊静尘嚣 发表于 2017-6-13 21:29:38

用arduino做智能小灯,只能控制很短的时间

本帖最后由 渊静尘嚣 于 2017-6-13 21:39 编辑

我根据机智云的论坛做了一个机智云的小灯,但是只能控制很短的时间,下边是我的一些步骤,求大神指点
首先在自己的产品中点击在线调试设备,在数据点中是我自己创建的数据点:

然后再在基本信息中点击“显示完整密匙”将密匙复制下来。在“MCU开发”中点击“修改”,点进去后用独立MCU方案,将刚刚复制的密匙粘贴上去并将“硬件平台”改为arduino UNO R3。点击“生成代码包”。

下载。
解压刚刚的压缩包,将第二个文件夹“Gizwits”里边的文件全部复制到第一个文件夹“examples”中的“simpleTry”文件夹目录下。

打开,将程序改一下
下边是改过的代码:
#include "Gizwits.h"
#include <Wire.h>

Gizwits myGizwits;

void setup() {
// put your setup code here, to run once:

Serial.begin(9600);
pinMode(6,OUTPUT);
pinMode(2,OUTPUT);
myGizwits.begin();
}

void loop() {

//Configure network
//if(XXX) //Trigger Condition
//myGizwits.setBindMode(0x02);//0x01:Enter AP Mode;0x02:Enter Airlink Mode



bool varR_switch = 0;
if(myGizwits.hasBeenSet(EVENT_SWITCH))
{
    myGizwits.read(EVENT_SWITCH,&varR_switch);//Address for storing data
    if (varR_switch==0)
    digitalWrite(6, HIGH);
    else if (varR_switch==1)
    digitalWrite(6, LOW);
}
bool varR_menjin = 0;
if(myGizwits.hasBeenSet(EVENT_MENJIN))
{
    myGizwits.read(EVENT_MENJIN,&varR_menjin);//Address for storing data
    if (varR_menjin==0)
    digitalWrite(2, HIGH);
    if (varR_menjin==1)
    digitalWrite(2, LOW);   
}


//binary datapoint handle


myGizwits.process();
}

烧录到模块里边
但是只能控制很短的时间,请大神指点。


bigfanofloT 发表于 2017-6-13 21:44:16

把这些放到函数外面定义为全局变量,或者加static关键字成为静态局部变量,bool varR_switch = 0;
bool varR_menjin = 0;

参考http://club.gizwits.com/thread-7005-1-1.html

浅悠夏雪 发表于 2017-6-14 10:20:21

哎呀,刚好我也遇到了这样的情况,求前辈指点{:3_59:}

bigfanofloT 发表于 2017-6-14 10:57:15

浅悠夏雪 发表于 2017-6-14 10:20
哎呀,刚好我也遇到了这样的情况,求前辈指点

把这些放到函数外面定义为全局变量,或者加static关键字成为静态局部变量,bool varR_switch = 0;
bool varR_menjin = 0;

参考http://club.gizwits.com/thread-7005-1-1.html
页: [1]
查看完整版本: 用arduino做智能小灯,只能控制很短的时间