Particle.io 氩气延迟时间作为 var

物联网 阿杜伊诺
2021-06-07 12:01:11

我让一切都运转良好,但我想再完成一件事,但我不知道如何去做。

这个问题的第一部分:

command=="loops"我有一个delay()功能。我希望这次能够从仪表板或 url 发送。示例是……(用 CURL 的 php 动作编写):

$url =  “https://api.particle.io/v1/devices/".$my_device."/".$zone_name."?access_token=”.$my_token;

我的网址会改成

$url = “https://api.particle.io/v1/devices/".$my_device."/".$zone_name."?dealy=100&access_token=”.$my_token;

如果是这样,我如何将 var 分配给我的延迟?

问题的第 2 部分是,我不知道延迟是否是正确的选择。我记得读过一些关于延迟导致锁定的内容,并且在这种情况下设备无法执行任何操作。如果是这种情况,这将不起作用,因为我将有其他功能会触发其他事件。我还有什么其他功能可以解决这个问题?

int zoneone = D5;
int zonetwo = D6;
int zonethree = D7;
int zonefour = D8;


void setup()
{

// define pine as output high/low not digital read
   pinMode(zoneone, OUTPUT);
   pinMode(zonetwo, OUTPUT);
   pinMode(zonethree, OUTPUT);
   pinMode(zonefour, OUTPUT);


// creates the webhook actions 
   Particle.function("zoneone",zones_one);
   Particle.function("zonetwo",zones_two);
   Particle.function("zonethree",zones_three);
   Particle.function("zonefour",zones_four);  


// sets everything to off just to make sure we are in the right state 
   digitalWrite(zoneone, LOW);
   digitalWrite(zonetwo, LOW);
   digitalWrite(zonethree, LOW);
   digitalWrite(zonefour, LOW);

}

void loop()
{
   // Nothing to do here
}

// zone one action
int zones_one(String command) {

    if (command=="on") {
        digitalWrite(zoneone,HIGH);
        return 1;
    }
     if (command=="loops") {
         
        digitalWrite(zoneone,HIGH);
// need to change this to a delay(var);
     delay(75); 
        digitalWrite(zoneone,LOW);
        return 2;
    }
    else if (command=="off") {
        digitalWrite(zoneone,LOW);
        return 0;
    }
    else {
        return -1;
    }
}

// zone two action
int zones_two(String command) {

    if (command=="on") {
        digitalWrite(zonetwo,HIGH);
        return 1;
    }
    else if (command=="off") {
        digitalWrite(zonetwo,LOW);
        return 0;
    }
    else {
        return -1;
    }
}

// zone three action
int zones_three(String command) {

    if (command=="on") {
        digitalWrite(zonethree,HIGH);
        return 1;
    }
    else if (command=="off") {
        digitalWrite(zonethree,LOW);
        return 0;
    }
    else {
        return -1;
    }
}

// zone four action
int zones_four(String command) {

    if (command=="on") {
        digitalWrite(zonefour,HIGH);
        return 1;
    }
    else if (command=="off") {
        digitalWrite(zonefour,LOW);
        return 0;
    }
    else {
        return -1;
    }
}
0个回答
没有发现任何回复~