NodeMCU ESP8266 基于Arduino IDE的串口图形化调试教程

文章目录
- NodeMCU ESP8266 基于Arduino IDE的串口图形化调试教程
- 前言
- Serial Plotter
- 测试
- 前期准备
- 打开工具
- 方法 1
- 方法 2
- 测试代码
- 总结
前言
在嵌入式的开发过程中,我们经常会采集一些传感器的数据,通常希望将这些数据通过图形化的方式展现出来,因为微控制器的资源有限。
常用的一种方法就是通过串口将数据发送到上位机,然后通过上位机软件将数据图形化显示出来。
我们需要编写一个上位机软件来显示串口的数据,或者使用现成的软件进行对接显示,Arduino IDE中提供好了图形化显示的软件Serial Plotter,这里我们可以简单做一下实验。
Serial Plotter
Serial Plotter 是 Arduino IDE 中的一个工具。Arduino可以将读取的温度、湿度或任何类型的传感器数据,通过串口发送到PC,并通过Serial Plotter进行显示。
Serial Plotter可以将教据可视化为波形,并且支持同时显示多个数据;
由于Serial Plotter和 ESP8266 之间通过 USB 线进行数据交换,因此我们必须保证ESP8266 和 电脑之间通过USB线的连接是完好的。
- 物理连接完好;
- PC安装好相应的串口驱动;
Serial Plotter主要一个XY轴的图形显示界面;具体如下所示;

- X轴:代表时间;X轴一共有500个点,每个点之间的时间是两个连续的
Serialprintin函教调用之间的时间,这个时间通常等于loop()函数的时间; - Y轴:代表从 Arduino 接收的值。Y 轴会随着值的增加或减少而自动调整;
测试
前期准备
- 确保电脑上安装了软件
Arduino IDE,本文使用的版本是2.2.1; - 准备一块NodeMCU ESO8266开发板,可以通过串口连接到电脑,这里需要保证安装了串口驱动;
打开工具
方法 1
在Arduino IDE的菜单栏上选择,Tools -> Serial Plotter

方法 2
确保开发板已经和电脑连接好,点击图标即可打开Serial Plotter;

测试代码
下面的代码用于显示正弦和余弦函数的曲线,x1显示sin曲线,x2显示cos曲线;具体如下所示;
float timeCnt = 0;
void setup() {Serial.begin(9600);
}void loop() {timeCnt++;float t0 = 5;float x1 = 10*sin(timeCnt/t0);float x2 = 10*cos(timeCnt/t0);Serial.print("Sin:");Serial.println(x1);Serial.print(",");Serial.print("Cos:");Serial.println(x2);
}
最终的效果如下所示;

Serial Plotter可以自动识别\r\n或\n作为换行符;
因此,请确保最后一个变量后面有一个换行符;
我们可以使用
Serial.print("\n")或者Serial.print("\r\n")在末尾引入换行符,另外我们可以用Serial.println()函数自动追加换行符;
同时显示多个变量,我们可以使用
\t(tab)或 (空格)作为分隔符;
曲线的标题后需要加
:,Serial Plotter会自动识别出相应的曲线名称;
总结
本文简单介绍了Arduino IDE的工具Serial Plotter的使用,基于NodeMCU ESP8266开发板将串口数据发送到电脑上并进行图形化显示。