logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

使用Python实现DLT645-2007智能电表协议

摘要 该项目实现了DLT645电表通信协议的服务端和客户端功能,支持TCP和RTU两种通信方式。系统采用模块化设计,分为数据层、协议解析层、业务逻辑层和通信层。数据层通过JSON配置文件初始化测点数据,协议层处理帧的编解码和校验。目前已实现电能量、最大需量等核心功能读取,但事件记录、参变量等部分功能尚未完成。项目代码结构清晰,包含通用函数、数据模型、协议解析和服务实现等模块,为电表通信提供了完整的

#python#网络协议#能源 +1
Shell脚本实现简单的进程管理器

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

文章图片
#状态模式
Linux远程命令行终端启动向日葵

一般我们将工控机发到现场会做双重保险,接一个vpn或ssh反向代理,再接一个向日葵,一个是方便终端操作,启动程序,修改配置文件等。一个是方便界面操作,比如说启动网页或者客户端,必须要通过界面。但是有时将工控机发到现场会忘记将向日葵设置开机自启动,现场如果也没人协助,这样就无法操作界面了,我们需要通过远程将向日葵启动,但是前提是必须设置的永久验证码。

文章图片
#linux#服务器#运维
Linux终端命令行图形化Modbus调试工具

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

文章图片
#linux#运维#服务器 +4
C++使用grpc详例(使用CMake构建)

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

文章图片
#c++#开发语言#linux +3
Ubuntu系统deb打包方法(图形化界面打包,简单实用,功能强大)

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

文章图片
#ubuntu#linux#debian
Linux命令行Modbus调试工具mbpoll的使用

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

文章图片
#linux#运维#c++ +2
sqlalchemy异步方法使用

注意,使用select查询时获取单个要用scalar(),因为sqlalchemy的异步方法不支持query。建立异步引擎和session,后面接口的async_session()都从这里引入。一般是select搭配scalar()使用,query()搭配fisrt()使用。comment表示注释,生产mysql的数据表里面会带上注释。以用户为例,建立用户模型继承基类。创建基类base.py。

文章图片
#python#mysql
到底了