- 博客(19)
- 收藏
- 关注
原创 Linux远程命令行终端启动向日葵
一般我们将工控机发到现场会做双重保险,接一个vpn或ssh反向代理,再接一个向日葵,一个是方便终端操作,启动程序,修改配置文件等。一个是方便界面操作,比如说启动网页或者客户端,必须要通过界面。但是有时将工控机发到现场会忘记将向日葵设置开机自启动,现场如果也没人协助,这样就无法操作界面了,我们需要通过远程将向日葵启动,但是前提是必须设置的永久验证码。
2024-08-17 11:10:59
201
原创 Pyside(PyQt)开发中英文版软件
最近接到一个新需求,软件需要开发英文版。自己研究了一阵子pyside英文版开发,差不多走通了,把方案分享给大家。
2024-08-05 10:28:44
322
原创 Pyqt结合matplotlib实现图表的基本交互,实现图表的放大缩小,移动光标注释
最近在使用pyqt结合matlibplot开发一款内部使用的数据分析软件,发现matlibplot库在处理大数据,出图性能方面还是很不错的,但是就是图表的交互性上差了一点,比如说图像的放大和缩小,移动的光标线,显示注释等等,很多还是需要自己造轮子,本人通过五一假期的一番研究,从中也颇有收获,现在把下面的这些研究成果分享给大家。
2024-05-05 18:19:47
1351
原创 Python使用grpc以及与C++进行互相调用
python中使用grpc就比在c++简单多了,我们可以使用grpc轻松的跨语言通讯,相比传统的webserver通讯,grpc的效率更高。对于追求效率的场景下,我们可以使用c++编写,然后业务方面我们可以使用Java或者python。我现在遇到的一个场景就是需要使用modbus实时采集数据,然后将数据传递给web后台或者客户端,对于这种场景,grpc就比webserver优势大多了。
2024-04-05 08:43:05
949
原创 C++使用grpc详例(使用CMake构建)
本文讲解了在C++使用grpc传递基本数据类型、一维数组、二维数组、自定义结构体类型的基本方法,总体来讲,在C++中使用grpc还是有一定难度的,因为安装grpc的途中就伴有一大堆坑,其中重要的一点是千万不能使用国内镜像源下载,这个是大陷阱,很多依赖库版本对不上,最终会导致安装失败,挂VPN在Github上下载很快就能安装成功。后面我会继续讲解c++和python使用grpc跨语言通讯的方法。
2024-03-30 19:52:04
1529
原创 Linux终端命令行图形化Modbus调试工具
之前经常使用mbpoll在Linux命令行下调试modbus,用久了发现其实并不方便,因为每次携带的参数太多,使用的时候老是忘记怎么使用,经常需要去翻笔记,于是决定自己开发一款Linux命令行版本的Modbus调试工具,方便调试。项目开源地址:https://gitee.com/chen-dongyu123/modbus_tools。
2024-03-14 20:31:07
1086
1
原创 Linux命令行Modbus调试工具mbpoll的使用
之前调试Modbus很多都是在Windows上调试的,但现在有一些场景,我们需要远程通过vpn连接到现场,然后再测试现场的modbus设备是否通讯正常。在这种场景下,windows的工具就不太适用了,我们虽然能通过vpn使用ssh方式远程连接到现场主机,但我们却无法连接到现场的modbus设备,因为modbus设备并没有配置vpn地址,我们只能用他们内网地址访问modbus设备,这个时候就需要用到Linux下的命令行Modbus调试工具了。
2024-03-07 10:44:53
2547
原创 使用libmodbus库在相同IP地址和端口上实现多个从机
之前用Python写过Modbus服务端,用的是pymodbus库,但这个库里面使用的是协程,小弟水平不够,有些hold不住,所以决定用C++把之前那块代码给重构了。
2024-03-03 19:16:09
1058
原创 Shell脚本实现简单的进程管理器
现在我用python写了一个前后端分离项目,每次启动都需要使用python3+脚本名称,杀死进程时还需要ps -ef | grep 脚本名称,显得非常的麻烦,考虑用shell脚本实现一个简单的进程管理器,方便管理进程。定义启动后端和前端的函数。定义停止后端和前端的函数。定义重启后端和前端的函数。定义显示启动说明的函数。
2024-02-20 09:13:14
971
原创 Docker基本配置
3.安装查找mysql库的工具pkg-config。4.CMakeList.txt写法。5.读取json配置Mysql信息。1.安装mysql开发包。2.安装soci开发包。
2024-01-05 13:21:31
867
原创 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
465
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
732
原创 cpack介绍及打deb包方法
CPack 是 CMake 的一个组件,用于创建软件包。它可以将 CMake 项目打包为各种不同的软件包格式,例如 ZIP、TGZ、RPM、DEB 等。CPack 可以自动检测您的系统,并根据您的系统自动选择适当的软件包格式。CPack 还提供了许多选项,以便您可以自定义软件包的生成过程。CPack 可以与 CMake 无缝集成,因此您可以使用 CMake 的语法来指定要包含在软件包中的文件、目录和其他资源。您可以使用 CMake 的变量和函数来指定软件包的元数据,例如软件包名称、版本、描述等。
2023-05-29 09:59:21
744
原创 Deb打包方法初探
因为最近配置好了局域网源,其他主机都可以通过该源下载安装软件了,但我们配置局域网源的目的就是为了存放自己的软件包,这个时候就需要学会如何制作自己软件的deb包了。
2023-04-13 18:21:08
826
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
16477
18
原创 Ubuntu20配置本地源和局域网源(使用GPG签名解决不安全的源验证问题,亲测可行!)
Ubuntu20配置局域网源,使得其他主机可以通过局域网内配置的本地仓库下载,配置GPG密钥解决不安全的源问题
2023-03-31 13:54:42
2173
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人