基于Pyqt5+serial的串口电池监测工具

news2024/11/16 1:56:15

本章,其他的没有,废话没有,介绍一下新开源了一个公司的测试工具,写了差不多三周吧。先来看看界面:

061aa9a9d1c384292a4de474fc180cb4.png

这是一个串口调试界面,使用Pyqt5+serial完成。升级功能暂未移入,占一个坑位。

基于serial二次开发的功能各位如有需要可以照搬走,这是一个纯手写的轮子,稳定!

左侧使用的是QListWidget写的一个按钮列表,用于点击切换界面的

a1a30c81f64aa03534ccda7c85b66d5a.png

这就是第二个界面了,空白部分是使用的是pyqtgraph库,嵌入QWidget中动态做图的一个功能。当有数据的时候,图标就会显示出来了。

具体效果可以看看哔哩哔哩,我录制了一个简短的使用视频:https://www.bilibili.com/video/BV1iV411G7wM/

此外,本次的工具是纯个人开发,包括UI,串口连接代码等等。gitee地址:https://gitee.com/qinganan_admin/Pyqt5_Battery_MONITOR_SYSTEM 此处包含源码+UI。以及库的下载介绍,以及几个文件的作用。

其他界面并没有开发,因为用不到了,各位可以自行二次开发。

代码中,用到了Pyqt5的多线程机制以及自定义信号槽。值得关注的是自定义信号槽机制,这个可以帮助我们减少很多冗余代码。让代码更加的简洁,且自定义信号也是非常的实用的一个操作。

这是个人在公司的第二个开源工具,觉得对自己开发有帮助的话,欢迎点个star,B站来个三连。


总结:造轮子太麻烦了。但是收获还是很多的。

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

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

相关文章

javaAPI(一):String

String的特性 String底层源码 1、String声明为final,不可被继承 2、String实现了Serializable接口:表示字符支持序列化 实现了Comparable接口:表示String可以比较大小 3、String内部定义了final char[] value用于存储字符串 4、通过字面量的…

20天突破英语四级高频词汇——第①天

20天突破英语四级高频词汇~第一天加油(ง •_•)ง💪 🐳博主:命运之光 🌈专栏:英语四级高频词汇速记 🌌博主的其他文章:点击进入博主的主页 目录 20天突破英语四级…

CSS基础介绍笔记1

官方文档 CSS指的是层叠样式(Cascading Style Sheets)地址:CSS 教程离线文档:放大放小:ctrl鼠标滚动为什么需要css:简化修改HTML元素的样式;将html页面的内容与样式分离提高web开发的工作效率&…

windows开机运行jar

windows开机自启动jar包: 一、保存bat批处理文件 echo off %1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit java -jar E:\projects\ruoyi-admin.jar > E:\server.log 2>&1 &…

自监督去噪:Neighbor2Neighbor原理分析与总结

文章目录 1. 方法原理1.1 先前方法总结1.2 Noise2Noise回顾1.3 从Noise2Noise到Neighbor2Neighbor1.4 框架结构2. 实验结果3. 总结 文章链接:https://arxiv.org/abs/2101.02824 参考博客:https://arxiv.org/abs/2101.02824 1. 方法原理 1.1 先前方法总…

C数据结构与算法——哈希表/散列表创建过程中的冲突与聚集(哈希查找) 应用

实验任务 (1) 掌握散列算法(散列函数、散列存储、散列查找)的实现; (2) 掌握常用的冲突解决方法。 实验内容 (1) 选散列函数 H(key) key % p,取散列表长 m 为 10000,p 取小于 m 的最大素数; (2) 测试 α…

javaWeb项目--二级评论完整思路

先来看前端需要什么吧: 通过博客id,首先需要显示所有一级评论,包括评论者的头像,昵称,评论时间,评论内容 然后要显示每个一级评论下面的二级评论,包括,评论者的头像,昵称…

python:基于Kalman滤波器的移动物体位置估计

CSDN@_养乐多_ Kalman滤波器是一种经典的估计方法,广泛应用于估计系统状态的问题。本篇博客将介绍Kalman滤波器的基本原理,并通过一个简单的Python代码示例,演示如何使用Kalman滤波器来估计移动物体的位置。 通过运行代码,我们将得到一个包含两个子图的图像,分别展示了估…

数学知识(三)

一、容斥原理 #include<iostream> #include<algorithm>using namespace std;const int N 20;typedef long long LL; int n,m; int p[N];int main() {cin>>n>>m;for(int i 0;i < m;i ) cin>>p[i];int res 0;//从1枚举到2^m(位运算)for(int …

SpringBoot+vue 大文件分片下载

学习链接 SpringBootvue文件上传&下载&预览&大文件分片上传&文件上传进度 VueSpringBoot实现文件的分片下载 video标签学习 & xgplayer视频播放器分段播放mp4&#xff08;Range请求交互过程可以参考这个里面的截图&#xff09; 代码 FileController …

HTML|计算机网络相关

1.三次握手 第一次握手&#xff1a;客户端首先向服务端发送请求。 第二次握手&#xff1a;服务端在接收到客户端发送的请求之后&#xff0c;需要告诉客户端已收到请求。 第三次握手&#xff1a;客户端在接收到服务端发送的请求和确认信息之后&#xff0c;同样需要告诉服务端已…

python并发编程(多线程、多进程、多协程)

文章截图来源来源B站&#xff1a;蚂蚁学python 引入并发&#xff0c;就是为了提升程序运行速度 1、基础介绍 1-1 CPU密集型计算、IO密集型计算 1-2 多进程、多线程、多协程对比 2、全局解释器锁GIL 2-1 python速度慢的两大原因 2-2 GIL是什么 2-3 为什么有GIL这个东西 2-4 怎样…

Vue [Day3]

Vue生命周期 生命周期四个阶段 生命周期函数&#xff08;钩子函数&#xff09; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale…

企业服务器数据库中了devos勒索病毒怎么办如何解决预防勒索病毒攻击

随着科学技术的不断发展&#xff0c;计算机可以帮助我们完成很多重要的工作&#xff0c;但是随之而来的网络威胁也不断提升。近期&#xff0c;我们收到很多企业的求助&#xff0c;企业的服务器数据库遭到了devos勒索病毒攻击&#xff0c;导致系统内部的许多重要数据被加密无法正…

1310. 数三角形

题目链接&#xff1a;https://www.acwing.com/problem/content/1312/ 首先不考虑三点共线的情况一共有 种&#xff0c;现在来计算三点共线的情况 1.三点在一条直线上 2.三点在一条竖线上 3.三点在一条斜线上&#xff0c;正反斜线对称&#xff0c;仅需考虑一边的情况 如果…

考研数学Note1—划分框架

calculus 微积分教会我为什么椭圆的面积 π \pi πab. 隐函数求导Rule 如何理解Lagrange求函数极值&#xff1f; 万物可积&#xff08;所有的函数都能找到原函数?&#xff09;——数即宇宙 线性代数 It’s doubtless that Gitmind&Blog is best place for taking note…

Django Rest_Framework(二)

文章目录 1. http请求响应1.1. 请求与响应1.1.1 Request1.1.1.1 常用属性1&#xff09;.data2&#xff09;.query_params3&#xff09;request._request 基本使用 1.1.2 Response1.1.2.1 构造方式1.1.2.2 response对象的属性1&#xff09;.data2&#xff09;.status_code3&…

“三个高度”写作提纲30例

1.充分把握“三个高度” 全面推进全过程人民民主的基层实践 从坚定政治信仰的高度坚持正确方向 从坚定制度自信的高度把握完整链条 从确保落地见效的高度强化组织保障 2. “三个高度”扎实推进安全生产工作 一是着眼大局&#xff0c;高度负责。 二是立足长远&#xff0c;高…

macOS下Django环境搭建

1. macOS升级pip /Library/Developer/CommandLineTools/usr/bin/python3 -m pip install --upgrade pip 2. 卸载Python3.9.5版本 $ sudo rm -rf /usr/local/bin/python3 $ sudo rm -rf /usr/local/bin/pip3 $ sudo rm -rf /Library/Frameworks/Python.framework 3. 安装P…

servlet接受参数和乱码问题

servlet接受参数和乱码问题 1、乱码问题 1&#xff09;get请求 传输参数出现中文乱码问题&#xff1a; 如果还存在问题&#xff1a; 2&#xff09;post请求 传输参数出现中文乱码问题&#xff1a; 2、接受参数&#xff1a; 3、登录注册案例