Arduino和Python实时监督控制和数据采集系统(SCADA)

2023-11-07

本文,将向您展示如何设置环境温度信号,该信号将通过计算机上的实时仪表板记录和可视化数据。

硬件设计
首先,我们将使用Arduino Uno开发板从红外温度计读取温度值。

如上所示连接红外测温仪后,继续将以下程序上传到Arduino。

要验证Arduino和温度计是否按预期工作,请打开串行监视器(“工具”>“串行监视器”)以确保每秒打印一次温度记录,如下所示。

另外,您也可以打开Arduino的串行绘图仪(“工具”>“串行绘图仪”)以查看环境温度的实时图,如下所示。

Python代码设计
既然Arduino和红外测温仪正在工作并将值打印到串行端口,我们就需要用Python获取读数来生成SCADA仪表板。我们需要下载并安装所需库。 键入以下命令:

为了生成一个图形用户界面,我们可以在其中与仪表板进行交互,我们将使用Streamlit。 这个高度通用的Web框架,使您可以快速开发应用程序并将其部署到Web服务器,或者在浏览器中本地运行它们。 为了显示当前温度读数的规格以及所有以前温度记录的图表,我们将使用Plotly。 这是JavaScript高度互动的数据可视化框架的Python绑定,可让您触手可及地呈现出动态视觉效果。

通过将以下源代码保存在本地目录中来进行操作:

上面的代码将启动与Arduino的连接,然后将连续从串行端口读取指定迭代次数的值。 它将持续渲染和更新量表和图表。 最后,在循环完成后,将关闭端口,并将包含所有录音的CSV文件保存在本地目录中。

您可以在本地浏览器上运行自己的实时SCADA仪表板。

Gif结果

详情参阅 - 亚图跨际

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Arduino和Python实时监督控制和数据采集系统(SCADA) 的相关文章

随机推荐

  • 数字电路的时序分析

    记录一下时序分析的学习 首先搞清楚以下时序分析时用到的名词 记录一下时序分析的学习 1 什么是setup time和hold time 为什么需要setup time和hold time 2 时序路径是什么 有哪些时序路径 3 如何分析时序
  • node编写C++扩展文件并引入到项目方案总结

    插入模块 通过Addon实现可扩展接口 可以将C 插入到前端项目中 编写扩展文件 编译扩展 调用扩展 参考 在项目中引入本地模块 1 使用 npm install module1 2 直接修改 package json 字段 增加依赖 3
  • layUI基本使用——布局

    layui特点 1 layui属于轻量级框架 简单美化 是用于开发后端模式 它在服务端页面上有非常好的效果 2 layui是提供给后端开发人员的ui框架 基于DOM驱动 layui的使用 引入layui的核心css文件 引入layui的he
  • 深度学习学习笔记(一):深度学习在图像和视频的应用

    深度学习在图像和视频的应用 文章目录 深度学习在图像和视频的应用 一 图像 视频处理 1 超分辨率问题 2 图像去噪 3 图像增强 3 1 弱光照增强 3 2 动态范围增强 4 质量评价 二 图像 视频压缩 2 1 传统压缩编码框架 2 2
  • java的BigDecimal也会存在丢失精度的问题

    先说结论 务必使用BigDecimal valueOf 1 01 或者使用 new BigDecimal 1 01 而不要使用new BigDecimal 1 01 查看源码可以知道 BigDecimal valueOf double va
  • 七校联合NewStarCTF 公开赛赛道WEEK2 web wp

    也不知道是不是公开赛和内部赛是不是同一套题 week1的题挺简单的 这里小记一下week2的题目 如有侵权立刻删除 Word For You 2 Gen 这题很简单就带过一下吧 报错注入就行 1 updatexml 1 concat 0x7
  • 数据挖掘 决策树算法 ID3 通俗演绎

    决策树是对数据进行分类 以此达到 预测的目的 该决策树方法先根据训练集数据形成决策树 如果该树不能对所有对象给出正确的分类 那么选择一些例外加入到训练集数据中 重复该过程一直到形成正确的决策集 决策树代表着决策集的树形结构 决策树由决策结点
  • Openwrt下设置程序开机自动启动

    转自http www cnyubin com p 364 今天在使用Openwrt时 需要将scp到上面的程序设置为开机自动启动 按照Linux下设置自动启动的方法并不有效 后来在官方wiki下发现了介绍文章 具体可见Openwrt下htt
  • Epoll图解

    图解 Epoll怎么实现的 51CTO COM epoll详解 Ineffable 的博客 CSDN博客 epoll详解
  • Nginx健康检查

    0 背景 服务治理的一个重要任务是感知服务节点变更 完成服务自动注册及异常节点的自动摘除 这就需要服务治理平台能够 及时 准确的感知service节点的健康状况 1 方案概述 Nginx 提供了三种HTTP服务健康检查方案供用户选择 1 T
  • 三面阿里被挂,竟获内推名额,历经 5 面拿下口碑 offer...

    每一个互联网人心中都有一个大厂梦 百度 阿里巴巴 腾讯是很多互联网人梦寐以求的地方 而我也不例外 但是 BAT 等一线互联网大厂并不是想进就能够进的 它对人才的技术能力和学历都是有一定要求的 所以除了学历以外 我们的技术和能力都要过硬才行
  • win10微信打电话对方听不到你的声音,你能听到对方声音

    1 隐私权限 开始 设置 隐私 麦克风 更改 开启权限 2 禁用占用问题 右键电脑右下角小喇叭 声音 声音控制面板 录制 分别右键下面的几个选项 启用麦克风 立体声混音等 然后分别双击下面的麦克风 立体声等选项 高级 独占前面的v取消 确定
  • 拯救小tim【最短路】

    题目链接 这里有一个坑点 譬如说 我们从S出发的时间 不是刚好卡着第一个的 起始点 没准出发的第一步 没有卡起始点 而是在后面的到达其他点的时候卡了起始点这样的情况 所以我们应该从0 max BegTim的来枚举起点时间 然后跑Dijkst
  • javamail发送接收的简单demo

    目录结构 首先引入文件
  • 23考研重大软院数一英一391分经验帖

    今年这情况之后 所有前人的经验帖作废 前言 本校本专业生一战上岸 属于考研界难度最低的一档 今年有个初试439的怪物 属于是蚌了 第二名也有419 第三名就断档了 我初试第五 政治78 英一75 数一115 专业课123 总分391分 可以
  • [个人笔记] vCenter设置时区和NTP同步

    VMware虚拟化 运维篇 第三章 vCenter设置时区和NTP同步 VMware虚拟化 运维篇 系列文章回顾 vCenter设置时区和NTP同步 附加 ESXi设置alias 参考链接 系列文章回顾 第一章 vCenter给虚机添加RD
  • 鼓励参与计算机考试宣传标语,考试宣传标语

    考试标语 1 遵守考场纪律 维护知识尊严 2 提倡诚信做人 纯洁校园风气 3 考前不慌不乱 考时沉着应对 考后杜绝议论 4 用心看卷 专心答题 细心复查 5 我自信 我成功 6 与诚信携手同行与舞弊挥手作别 7 怀轻松心情进考场 带胜利喜悦
  • 安全https,dns笔记整理

    一 https HTTP 是用于从万维网 WWW World Wide Web 服务器传输超文本到本地浏览器的传送协议 他是一种应用层协议 是基于 TCP IP 通信协议来传递数据的 但他不安全 以明文传递的方式 容易被他人盗取篡改信息 H
  • java 提取存在逗号和小数点的字符串中的数字

    可以使用正则表达式来处理 以下是一个示例代码 可以提取字符串中可能包含逗号和小数点的数字 import java util regex Matcher import java util regex Pattern public class
  • Arduino和Python实时监督控制和数据采集系统(SCADA)

    本文 将向您展示如何设置环境温度信号 该信号将通过计算机上的实时仪表板记录和可视化数据 硬件设计 首先 我们将使用Arduino Uno开发板从红外温度计读取温度值 如上所示连接红外测温仪后 继续将以下程序上传到Arduino 要验证Ard