JavaScript通过网站切换中继

时间:2018-04-21 22:07:59

标签: javascript html arduino raspberry-pi

我道歉我是javascript的新手。我正在尝试使用setInterval从网站切换中继。继电器是一个有16个通道的Sainsmart,它连接到由树莓派控制的arduino。目标是最终有三个独立的继电器以特定间隔切换。然而,每次尝试使第一个工作失败。另外,每次在函数或全局中添加setInterval时,都会冻结来自我的ip camera的直播视频。我正在使用沙盒密钥。

html代码和脚本用于切换继电器,然后第二个按钮将其关闭,但我需要一个按钮来完成它。

按钮通过计数器启动序列,指示继电器是打开还是关闭。设置为使用偶数打开,使用奇数打开。任何帮助将不胜感激。

以下是我正在尝试使用的更新代码。

<div class="grid-item"><button id="37" onclick="startOnOff()">Start</button> 
</div>

<script src="http://cdn.ably.io/lib/ably.min-1.js"></script>
<script>

var count = 0;
function startOnOff() {
  var on = "37" + "on";
  var off = "37" + "off";
  if (counter % 2 == 0) {
    toggleRelay(on);
    count += 1;
  } else if (count % 2 == 1) {
    toggleRelay(off);
  }
  setInterval(startOnOff, 2000);
}

1 个答案:

答案 0 :(得分:0)

您在一些地方countcounter在一个地方count

假设toggleRelay()已在代码中的其他位置定义,请尝试以下操作:

var count = 0;
var on = "37" + "on";
var off = "37" + "off";

function startOnOff() {

    if (count % 2 == 0) {
        toggleRelay(on);
    } else {
        toggleRelay(off);
    }

    count += 1;
    setTimeout(startOnOff, 2000);

}
  • count += 1;应位于if条件语句
  • 之外
  • 并在递归调用setTimeout()时使用startOnOff()