NodeMCU ESP8266 基于Arduino IDE的串口图形化调试教程(超详细)

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/106979.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【接口测试】接口测试内容

主要内容如下: 一、接口测试的相关基础知识 什么是接口测试? 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间、以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换、传递和控制管理过程,以…

数据结构 - 5(二叉树7000字详解)

一:二叉树的基本概念 1.1树形结构 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 注意&am…

探秘Socks5代理在跨界电商、爬虫和游戏领域的应用

在当今数字化浪潮中,技术对于各行各业都产生着深远的影响。其中,Socks5代理技术作为一项关键的网络工具,不仅在跨界电商领域提供了便利,还在爬虫数据采集以及游戏体验优化中扮演着重要角色。本文将深入探讨Socks5代理技术在这些领…

js继承的几种方式(原型链继承、构造函数继承、组合式继承、寄生组合式继承、ES6的Class类继承)

1.原型链继承 实现原理:子类的原型指向父类实例。子类在自身实例上找不到属性和方法时去它父类实例(父类实例和实例的原型对象)上查找,从而实现对父类属性和方法的继承 缺点: 子类创建时不能传参(即没有…

探究Socks5代理和代理IP在技术领域的多重应用

随着数字化时代的不断发展,网络工程师在跨界电商、爬虫数据采集、出海业务拓展以及游戏优化等领域扮演着关键角色。而Socks5代理和代理IP作为他们的得力工具,在这些领域中发挥着至关重要的作用。本文将深入探讨这两种技术在技术领域中的应用,…

scrollIntoView使用与属性详解

scrollIntoView 使用与属性详解 效果图如下图所示 如果要想让元素滚动到指定位置 window.onload function () {containerItems[6].scrollIntoView({ behavior: "smooth" }); };js 代码 const containerItems document.querySelectorAll(".container div&…

2 files found with path ‘lib/armeabi-v7a/liblog.so‘ from inputs:

下图两个子模块都用CMakeLists.txt引用了android的log库,编译后,在它们的build目录下都有liblog.so的文件。 四个CPU架构的文件夹下都有。 上层模块app不能决定使用哪一个,因此似乎做了合并,路径就是报错里的哪个路径&#xff0c…

【算法训练-排序算法 一】【手撕排序】快速排序、堆排序、归并排序

废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是【手撕排序系列】,使用【数组】这个基本的数据结构来实现,这个高频题的站点是:CodeTop,筛选条件为&…

【6k字】详解Python装饰器和生成器

文章目录 1 Python装饰器1.1 什么是装饰器?1.1.1 参数化装饰器 1.2 装饰器的工作原理1.2.1 函数签名保持 1.3 装饰器的应用实例1.3.1 日志记录1.3.2 装饰器链1.3.3 自动注册装饰器 1.4 Summary 2 Python生成器2.1 生成器的定义和基本操作2.2 生成器的惰性求值和内存…

【工具】html请求 Content-Encoding=br 返回值乱码的问题 解码返回值

【工具】Content-Encodingbr 解码返回值 添加依赖 <dependency><groupId>org.brotli</groupId><artifactId>dec</artifactId><version>0.1.2</version></dependency> 代码 public static String 解码br(InputStream is) {try…

MySQL日志管理和权限管理(重点)

目录 一、日志管理1.错误日志2.二进制日志3.慢查询日志 二、权限管理(重点)1.用户登录管理2.创建用户及授权3.刷新权限4.权限简介5.查看权限7.修改密码8、删除用户9、查看密码复杂度 一、日志管理 日志类型 1、错误日志&#xff1a;启动&#xff0c;停止&#xff0c;关闭失败报…

UPS监控技术,你一定要试试,太绝了!

UPS&#xff08;不间断电源&#xff09;监控系统是一种关键的技术&#xff0c;用于监视、管理和维护不间断电源设备&#xff0c;以确保电力供应的稳定性和可用性。这对于各种组织和企业来说至关重要&#xff0c;因为电力中断可能导致生产中断、数据丢失和设备损坏&#xff0c;对…

全流量安全分析发现内部系统外联异常

内部系统外连监控的重要性在于保护企业的信息安全和预防数据泄露&#xff0c;以下是几个重要的理由&#xff1a; 1、检测异常活动&#xff1a;通过监控内部系统的外连连接&#xff0c;可以及时发现是否有未经授权或异常的链接尝试。这可能表示存在恶意软件、黑客攻击或内部员工…

MySQL JSON_TABLE() 函数

JSON_TABLE()函数从一个指定的JSON文档中提取数据并返回一个具有指定列的关系表。 应用&#xff1a;数据库字段以JSON 存储后&#xff0c;实际应用需要对其中一个字段进行查询 语法 JSON_TABLE(json,path COLUMNS(column[,column[,...]]))column:name参数 json必需的。一个 …

风向编码与度数对照表

十六方位风向和静风的方位、符号、风向编码、中心角度及各风向角度范围对照表 方位 符号 风向编码中心角度 角度范围 北N9990010.0348.76~11.25北东北NNE99900222.511.26~33.75东北NE99900345.033.76~56.25东东北ENE99900467.556.26~78.75东E99900590.078.76~101.25东东南ESE…

登录ip地址异常怎么办

在互联网时代&#xff0c;登录IP地址异常已经成为一个普遍存在的问题。当用户尝试登录某个网站或服务时&#xff0c;如果其IP地址被认定为异常&#xff0c;则可能会被拒绝访问或面临其他安全风险。虎观代理小二二将介绍登录IP地址异常的处理方法&#xff0c;帮助大家解决这一问…

机器学习的打分方程汇总

机器学习的打分方程集合 受到机器学习&#xff08;Machine Learning&#xff09;和深度学习&#xff08;Deep Learning&#xff09;等算法模型的创新性冲击&#xff0c;其应用范围涵盖了自然语言处理&#xff08;Natural Language Processing&#xff09;、自动驾驶&#xff08…

远程计算机或设备将不接受连接

远程计算机或设备将不接受连接 1 现象网络连接失败感叹号,提示ip被占用,修改ip后显示连接成功但是不能上网,网络检验后提示:远程计算机或设备将不接受连接 2 原因因为安装了梯子,关机的时候未退出,原因大概就是这个原因. 3 解决1.修改internet属性(winr:inetpl.cpl)->连接-&…

使用Python创建faker实例生成csv大数据测试文件并导入Hive数仓

文章目录 一、Python生成数据1.1 代码说明1.2 代码参考 二、数据迁移2.1 从本机上传至服务器2.2 检查源数据格式2.3 检查大小并上传至HDFS 三、beeline建表3.1 创建测试表并导入测试数据3.2 建表显示内容 四、csv文件首行列名的处理4.1 创建新的表4.2 将旧表过滤首行插入新表 一…

docker部署的jenkins配置(接口自动化)

目录 一、jenkins汉化1.点击Manage Jenkins&#xff08;系统管理&#xff09;&#xff0c;点击Plugins&#xff08;插件&#xff09;2.安装Locale插件 二、jenkins配置allure报告1.安装allure插件2.配置 三、配置jenkins项目1.新建任务2.创建项目3.源码管理4.构建触发器5.增加构…