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开发板将串口数据发送到电脑上并进行图形化显示。