自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Pyqt结合matplotlib实现图表的基本交互,实现图表的放大缩小,移动光标注释

最近在使用pyqt结合matlibplot开发一款内部使用的数据分析软件,发现matlibplot库在处理大数据,出图性能方面还是很不错的,但是就是图表的交互性上差了一点,比如说图像的放大和缩小,移动的光标线,显示注释等等,很多还是需要自己造轮子,本人通过五一假期的一番研究,从中也颇有收获,现在把下面的这些研究成果分享给大家。

2024-05-05 18:19:47 839

原创 Python使用grpc以及与C++进行互相调用

python中使用grpc就比在c++简单多了,我们可以使用grpc轻松的跨语言通讯,相比传统的webserver通讯,grpc的效率更高。对于追求效率的场景下,我们可以使用c++编写,然后业务方面我们可以使用Java或者python。我现在遇到的一个场景就是需要使用modbus实时采集数据,然后将数据传递给web后台或者客户端,对于这种场景,grpc就比webserver优势大多了。

2024-04-05 08:43:05 693

原创 C++使用grpc详例(使用CMake构建)

本文讲解了在C++使用grpc传递基本数据类型、一维数组、二维数组、自定义结构体类型的基本方法,总体来讲,在C++中使用grpc还是有一定难度的,因为安装grpc的途中就伴有一大堆坑,其中重要的一点是千万不能使用国内镜像源下载,这个是大陷阱,很多依赖库版本对不上,最终会导致安装失败,挂VPN在Github上下载很快就能安装成功。后面我会继续讲解c++和python使用grpc跨语言通讯的方法。

2024-03-30 19:52:04 662

原创 Linux终端命令行图形化Modbus调试工具

之前经常使用mbpoll在Linux命令行下调试modbus,用久了发现其实并不方便,因为每次携带的参数太多,使用的时候老是忘记怎么使用,经常需要去翻笔记,于是决定自己开发一款Linux命令行版本的Modbus调试工具,方便调试。项目开源地址:https://gitee.com/chen-dongyu123/modbus_tools。

2024-03-14 20:31:07 651 1

原创 Linux命令行Modbus调试工具mbpoll的使用

之前调试Modbus很多都是在Windows上调试的,但现在有一些场景,我们需要远程通过vpn连接到现场,然后再测试现场的modbus设备是否通讯正常。在这种场景下,windows的工具就不太适用了,我们虽然能通过vpn使用ssh方式远程连接到现场主机,但我们却无法连接到现场的modbus设备,因为modbus设备并没有配置vpn地址,我们只能用他们内网地址访问modbus设备,这个时候就需要用到Linux下的命令行Modbus调试工具了。

2024-03-07 10:44:53 1511

原创 使用libmodbus库在相同IP地址和端口上实现多个从机

之前用Python写过Modbus服务端,用的是pymodbus库,但这个库里面使用的是协程,小弟水平不够,有些hold不住,所以决定用C++把之前那块代码给重构了。

2024-03-03 19:16:09 889

原创 Shell脚本实现简单的进程管理器

现在我用python写了一个前后端分离项目,每次启动都需要使用python3+脚本名称,杀死进程时还需要ps -ef | grep 脚本名称,显得非常的麻烦,考虑用shell脚本实现一个简单的进程管理器,方便管理进程。定义启动后端和前端的函数。定义停止后端和前端的函数。定义重启后端和前端的函数。定义显示启动说明的函数。

2024-02-20 09:13:14 939

原创 Docker基本配置

3.安装查找mysql库的工具pkg-config。4.CMakeList.txt写法。5.读取json配置Mysql信息。1.安装mysql开发包。2.安装soci开发包。

2024-01-05 13:21:31 845

原创 Mysql服务端基本配置

2.查看密码强度限制(创建用户之前需要修改密码强度限制,否则密码强度可能不通过)3.更改密码强度限制为LOW(这个修改只是临时的,重启Mysql服务端后会失效)7.刷新权限(修改完权限之后必须要刷新权限,否则不生效)6.更改用户权限(让其他ip访问服务端必须做这一步)将bind-address改为0.0.0.0。以下内容若配置文件里面没有可以手动添加。4.设置最大连接错误次数,防止dos攻击。3.更改mysql最大允许的并发连接数。4.创建用户(自定义用户名和密码)1.配置mysqld.cnf文件。

2024-01-04 09:55:11 415 1

原创 CMake项目中使用libxlsxwriter库

1.在github上下载源码:https://github.com/jmcnamara/libxlsxwriter。3.编写CMakeLists.txt。1.新建xlsx文件,并设置格式。2.设置单元格的宽度和格式。5.关闭workbook。2.解压后放入项目中。3.将数据写入单元格。

2023-11-11 11:41:45 532

原创 cpack介绍及打deb包方法

CPack 是 CMake 的一个组件,用于创建软件包。它可以将 CMake 项目打包为各种不同的软件包格式,例如 ZIP、TGZ、RPM、DEB 等。CPack 可以自动检测您的系统,并根据您的系统自动选择适当的软件包格式。CPack 还提供了许多选项,以便您可以自定义软件包的生成过程。CPack 可以与 CMake 无缝集成,因此您可以使用 CMake 的语法来指定要包含在软件包中的文件、目录和其他资源。您可以使用 CMake 的变量和函数来指定软件包的元数据,例如软件包名称、版本、描述等。

2023-05-29 09:59:21 633

原创 Ubuntu系统deb打包方法(图形化界面打包,简单实用,功能强大)

使用debreate工具,图形化界面打deb包,简单实用,功能强大

2023-05-26 08:41:24 2391

原创 vscode配置RemoteSSH免密登录

创建用户(填写自己要创建的用户名)修改密码(填写用户名)

2023-05-11 13:08:49 1067

原创 Deb打包方法初探

因为最近配置好了局域网源,其他主机都可以通过该源下载安装软件了,但我们配置局域网源的目的就是为了存放自己的软件包,这个时候就需要学会如何制作自己软件的deb包了。

2023-04-13 18:21:08 784 1

原创 openVN安装搭建步骤,实现内网穿透

这将告诉 OpenVPN 服务器将 client-moxa 客户端的请求路由到 10.8.1.6 这个 IP 地址(即 client-24 客户端的 IP 地址)。这将告诉客户端将流量路由到 10.8.1.0/24 子网,其中包括 client-moxa 客户端和 client-24 客户端的 IP 地址。其中,ccd 是一个文件夹路径,用于存放客户端 CCD 配置文件,我这里CCD文件夹创建的路径在。跟之前一样先在服务端生成一份客户端的证书和密钥,然后将必要的这5份文件拷贝到如图所示的目录下。

2023-03-31 16:39:00 15134 18

原创 Ubuntu20配置本地源和局域网源(使用GPG签名解决不安全的源验证问题,亲测可行!)

Ubuntu20配置局域网源,使得其他主机可以通过局域网内配置的本地仓库下载,配置GPG密钥解决不安全的源问题

2023-03-31 13:54:42 1662

原创 花生壳配置内网穿透

花生壳配置内网穿透

2023-03-13 15:24:46 677 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除