处理:从arduino输入

时间:2016-08-24 11:16:37

标签: java html arduino processing

我正在尝试使用Arduino制作工厂监视器并进行处理。 Processing根据Arduino的传感器输入写入html文件。 WinSCP正在监视为更改创建的文件,并在文件发生更改时直接通过FTP上传。

Arduino通过串口发送以下内容进行处理:

45
0
31
40
x

在处理中使用以下代码我用这个数据编写一个html页面:

import processing.serial.*;

Serial myPort;
String dataReading = "";
int lol = 0;
String string0 = "<h1>Jurze Plants <img src=\"https://html-online.com/editor/tinymce/plugins/emoticons/img/smiley-laughing.gif\" alt=\"laughing\" /></h1>";
String string1 = "Moisture Level: ";
String string2 = " %<br> Motorstate: ";
String string3 = "<br> Temperature: ";
String string4 = " &deg;C<br> Humidity: ";
String string5 = "%<br>";

void setup() {
    size(500, 500);

    myPort = new Serial(this, "COM4", 9600); 
    myPort.bufferUntil('x');
}

void draw() {
}

String [] dataOutput = {};

void serialEvent(Serial myPort) {
    dataReading = myPort.readString();
    if (dataReading!=null) {
        dataOutput = split(dataReading, '\n');
        String [] tempfile  = {string0,string1,dataOutput[1],string2,dataOutput[2],string3,dataOutput[3],string4,dataOutput[4],string5  };
        println("saving to html file...");
        saveStrings("data/index.html",tempfile);
    }
}

我第一次得到的HTML代码是:

<h1>Jurze Plants <img src="https://html-online.com/editor/tinymce/plugins/emoticons/img/smiley-laughing.gif" alt="laughing" /></h1>
Moisture Level: 46   %<br>
Motorstate: 0  <br> 
Temperature:31.00 &deg;C <br> 
Humidity: 35.00%  <br> 

但是,在第二次从Arduino获取数据后,它看起来像这样:

<h1>Jurze Plants <img src="https://html-online.com/editor/tinymce/plugins/emoticons/img/smiley-laughing.gif" alt="laughing" /></h1>
Moisture Level:      %<br>
Motorstate: 46  <br> 
Temperature:0 &deg;C <br> 
Humidity: 31.00%  <br> 

我猜数组有问题吗? 任何帮助将非常感谢! :d

1 个答案:

答案 0 :(得分:1)

调试代码的时间! (我们不能真的为你做这件事,因为我们没有你的Arduino。)

第1步:在serialEvent()功能中,使用println()功能打印出dataReading的值。价值是您所期望的吗?

第2步:打印出dataOutput的值。那是你的期望吗?打印出每个索引。它们都是你所期望的吗?检查额外的空格和控制字符。

第3步:索引是您所期望的吗?我看到你开始使用索引1而不是索引0。这是你的意思吗?

关键是,你必须打印出每个变量的值,以确保它们符合你的期望。当您发现变量值不正确时,您可以追溯您的代码,以确切了解发生了什么。