如何解决Javascript/HTML - 从 Arduino 获取数据
我正在尝试使用 Javascript 从 Arduino 获取数据。问题是我不能接受超过 10 个变量;代码会忽略所有经过的内容。我把代码序列放在下面。
变量 test0 和 in 1 接收值,而变量 test 1 和 2 不接收任何值。
我尝试使用另一个引用,如“analog2”和另一个索引,但没有任何效果。
我不擅长这种语言,我只是需要让它工作。
您对我如何获得 10 个以上的变量有什么建议吗?
先谢谢你!
Javascript:
function GetArduinoInputs() {
nocache = "&nocache=" + Math.random() * 1000000;
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.status == 200) {
if (this.responseXML != null) {
document.getElementById("test0").innerHTML = this.responseXML.getElementsByTagName('analog')[0].childNodes[0].nodeValue;
document.getElementById("in1").innerHTML = this.responseXML.getElementsByTagName('analog')[1].childNodes[0].nodeValue;
document.getElementById("in2").innerHTML = this.responseXML.getElementsByTagName('analog')[2].childNodes[0].nodeValue;
document.getElementById("in3").innerHTML = this.responseXML.getElementsByTagName('analog')[3].childNodes[0].nodeValue;
document.getElementById("in4").innerHTML = this.responseXML.getElementsByTagName('analog')[4].childNodes[0].nodeValue;
document.getElementById("in5").innerHTML = this.responseXML.getElementsByTagName('analog')[5].childNodes[0].nodeValue;
document.getElementById("in6").innerHTML = this.responseXML.getElementsByTagName('analog')[6].childNodes[0].nodeValue;
document.getElementById("in7").innerHTML = this.responseXML.getElementsByTagName('analog')[7].childNodes[0].nodeValue;
document.getElementById("in8").innerHTML = this.responseXML.getElementsByTagName('analog')[8].childNodes[0].nodeValue;
document.getElementById("in9").innerHTML = this.responseXML.getElementsByTagName('analog')[9].childNodes[0].nodeValue;
document.getElementById("test1").innerHTML = this.responseXML.getElementsByTagName('analog')[10].childNodes[0].nodeValue;
document.getElementById("test2").innerHTML = this.responseXML.getElementsByTagName('analog')[11].childNodes[0].nodeValue;
}
}
}
}
request.open("GET","ajax_inputs" + nocache,true);
request.send(null);
setTimeout('GetArduinoInputs()',200);
}
HTML 中的数据:
<td class="tg-fia5">Putere instalata</td>
<td class="tg-fia5" id="test0">p11</td>
<td class="tg-fia5">kW</td>
<td class="tg-fia5" >Putere instalata</td>
<td class="tg-fia5" id="test1" >p21</td>
<td class="tg-fia5">kW</td>
<td class="tg-fia5">Putere instalata</td>
<td class="tg-fia5" id="in1">p31</td>
<td class="tg-fia5">kW</td>
Arduino 代码:
void date_trimise(EthernetClient cl) {
cl.print("<inputs>");
cl.print("<analog>");
cl.print(u1);
cl.print("</analog>");
cl.print("<analog>");
cl.print(u2);
cl.print("</analog>");
cl.print("<analog>");
cl.print(i1);
cl.print("</analog>");
cl.print("<analog>");
cl.print(p1);
cl.print("</analog>");
cl.print("<analog>");
cl.print(t1);
cl.print("</analog>");
cl.print("<analog>");
cl.print(h1);
cl.print("</analog>");
cl.print("<analog>");
cl.print(v1);
cl.print("</analog>");
cl.print("<analog>");
cl.print(d1);
cl.print("</analog>");
cl.print("<analog>");
cl.print(pz1);
cl.print("</analog>");
cl.print("<analog>");
cl.print(pz2);
cl.print("</analog>");
cl.print("<analog>");
cl.print(u3);
cl.print("</analog>");
cl.print("<analog>");
cl.print(u4);
cl.print("</analog>");
cl.print("</inputs>");
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。