
编程
Java、dotnet、C++等
PascalMing
IT老兵 Git Hub/gitee:PascalMing
展开
-
InfluxDB写入测试
早几年测试时序库时,采集数据到kafka,然后用不同数据进行存储验证。Influxdb是花时间比较多的,它的数据建模方法、读写方法都需要使用特殊的API。时间久了自己也经常忘记,把当时的测试关键代码记录下来,也方便日后查找。 代码基于java编写。 1、接口数据定义,clientid+tag组合必须唯一2、数据写入原创 2025-03-16 22:52:29 · 323 阅读 · 0 评论 -
Influxdb cli删除数据步骤
1、下载cli客户端 https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.7.5-windows-amd64.zip,解压到指定目录。5、执行处理命令,命令格式建议参考https://docs.influxdata.com/influxdb/v2/reference/cli/influx/3、运行powershell,进入第1步解压的客户端目录。下面命令是删除所有指定库和测量名数据的命令。4、配置token,以本机访问为例。原创 2025-03-16 22:33:01 · 340 阅读 · 0 评论 -
MQTTnet库的MQTT Client证书连接模式
在证书连接模式下,我们一般可以获取到的是ca.crt、client.crt和client.key,并不能直接得到pem和pfx文件,这时需要转换使用openssl来转换。MQTT为了加强安全性,是支持Tls的安全模式连接的。在安全连接模式下,默认的服务端口由1883变更为8883,且使用CA证书来保证通讯双方的安全性。在openssl的命令行下,执行两个转换语句,即可实现pem和pfx的转换。原创 2024-07-24 22:50:16 · 1369 阅读 · 0 评论 -
C# 日志框架Serilog使用
C#日志框架Serilog支持多种场景输出,简单验证了一下,比较方便包的安装,推荐直接使用“推荐NuGet包管理器”安装Serilog.AspNetCore,常见的组件都已经集成在一个包中,使用比较方便。原创 2024-06-24 00:24:18 · 1230 阅读 · 0 评论 -
C#使用NPOI保存DataGridView数据到EXCEL文件
C# DataGridView可以显示各种表格数据,有时需要将结果保存到EXCEL文件中。开源库NPOI支持EXCEL格式文件的读写,可以使用NPOI编写通用的方法,自动将DataGridView控件表格数据保存到EXCEL文件。原创 2024-03-12 23:57:28 · 1034 阅读 · 0 评论 -
C# OMRON PLC FINS TCP协议简单测试
FINS/UDP运用的是一种嵌套格式数据包,即Ethernet报头、IP报头、 UDP报头和FINS帧。一个UDP数据段(FINS 帧)超过1472字节将被分成若干个数据包来传送。分开的UDP数据将在UDP/IP协议层自动组合。通常不须要关注运用 层的数据分段,但是在一个多层 IP网络中1427字节的UDP包可能无法 发送。在这种系统中就须要运用 FINS/TCP方式。ICF为信息控制域,用于标明指令和响应;RSV为系统保留;GCT为网关允许数目;DNA为目的网络号;DA1为目的节点号;原创 2024-02-04 22:55:39 · 3014 阅读 · 0 评论 -
C# .Net6搭建灵活的RestApi服务器
C# .Net6后支持顶级语句,更简单的RestApi服务支持,可以快速搭建一个极为简洁的Web系统。推荐使用Visual Studio 2022,安装"ASP.NET 和Web开发"组件。原创 2024-01-23 23:21:03 · 1645 阅读 · 0 评论 -
C#灵活的任务调度组件FluentScheduler
FluentScheduler是一个C#的灵活的任务调度组件,支持各类任务调度。网上有很多演示代码,此处记录下来,方便自己查找。原创 2024-01-14 22:39:53 · 1306 阅读 · 0 评论 -
Access数据库C#读写验证
Access数据库是一个相当古老的文件型数据库,主打一个简单+方便,没有复杂的安装过程,没有庞大的后端管理,整个数据库就是一个文件。可以像普通文件一样复制和修改,可以同时读写。 在小型系统中,还是有较多的存量系统在使用Access数据库,相对简单的文件存储,还是有很大的进步。Access是关系型数据库,数据是结构化存储,数据的关系和格式,相对文件严谨很多。原创 2024-01-01 17:47:58 · 1292 阅读 · 0 评论 -
C# Microsoft.ClearScript.V8脚本使用
Microsoft.ClearScript.V8就是一个.NET绑定到Google V8的脚本引擎。它允许.NET应用程序直接从JavaScript代码中调用函数,并返回JavaScript类型。ClearScript.V8可以使用各种JavaScript库(比如jQuery)来提高工作效率,也可以使用它来测试JavaScript代码原创 2023-05-07 11:23:46 · 4854 阅读 · 0 评论 -
Windows下使用Inpout库直接读写IO设备端口
Windows2000以后,随着系统安全性的提高和驱动机制的改变,设备的I/O操作需要ring0权限,在应用的ring3已经很难使用。早期有WinIo库流行过一段时间,最近有个特殊的需求要在Win7/Win2019/Win10下操作I/O,发现WinIo已经不好使,即使后面更新的WinIo3.0也有驱动签名的问题,不容易使用。后来网上找到了开源的Inpout库,有32位和64为版本,仅安装时需要管理员权限,使用时普通权限即可,非常方便。原创 2023-03-18 22:27:37 · 2097 阅读 · 0 评论 -
C#开发OPC DA客户端的服务器状态处理
C#开发OPC DA客户端,最简单的方法是使用OpcRcw.Comn.dll,OpcRcw.Da.dll封装的API进行。如何使用C#开发OPC DA Client程序,网上有很多例子,包括各大自动化厂商和OPC服务器厂商都带有相关的示例,本文仅仅讨论如何处理与OPC服务器的连接状态问题。原创 2023-03-16 23:53:41 · 1445 阅读 · 0 评论 -
C# 使用MQTTnet 4.1 Client通讯异常检测失效处理
C#下的MQTTnet client不能有效检测到网络的异常断开,使用PingAsync() 可以更安全的解决问题原创 2023-03-15 23:27:21 · 1713 阅读 · 0 评论 -
C# Roslyn编写脚本数据交互示例
Java中的Groovy嵌入式脚本,在C#中类似的实现,找到了Roslyn,入手简单,和原生的C#一样强大,可以快速使用。本文尝试用Demo实现脚本和本体进程之间使用API进行数据交换原创 2023-02-19 15:47:29 · 1174 阅读 · 1 评论 -
C# 使用NetStandard.Opc.Ua读写OPC UA数据
OPCFoundation.NetStandard.Opc.Ua是OPC基金会发布的开源OPC UA包,提供Client读写库方便读写OPC 服务器数据。使用时有几点需要注意。原创 2022-09-10 00:26:00 · 12551 阅读 · 3 评论 -
C# MQTTnet 3.1升级到MQTTnet 4.0 Client编程变化
MQTTnet的C#版的开源MQTT通讯库,支持MQTTServer和Client,并提供各种类型的连接方法Demo。MQTTnet库3.1升级到4.0,并不完全兼容,在连接方式构建、事件订阅等方面需要修改。原创 2022-07-17 18:52:15 · 9666 阅读 · 4 评论 -
C#使用NModbus4读写Modbus数据
这些数据怎么存放,高低位怎么对齐,就产生了所谓的ABCD、CDAB等转换,这个Master与Slave一致就可以。Int32等类型数据更新时,需要同时对多个存储地址进行更新,而master可能还在高速并发读数据,需要注意使用一个同步锁,避免数据更新一半就被读取,产生数据不一致问题。推进使用Unicode编码,首先是与OPC的默认字符串编码格式一致,其次的每个中英文都占用一个地址2个字节,方便计算长度。Modbus是一个免费的协议,协议设计简单,有很多成熟的库支持。在使用文件中,添加引用。......原创 2022-07-15 07:58:57 · 6263 阅读 · 0 评论 -
Python使用paho.mqtt.client与Mqtt服务器通信示例
MQTT(Message Queuing Telemetry Transport)是一种轻量级的即时通信协议。Paho 是Eclipse的开源 MQTT 客户端项目,提供多种语言的 MQTT 客户端实现,包括 C、C++、C#、Java、Python、JavaScript 等。在Python环境下,Paho MQTT Python客户端由paho-mqtt模块支撑。...原创 2022-06-25 22:11:45 · 5593 阅读 · 0 评论 -
Python读写Restful Api,解析JSON示例
最近测试Python调用RestfulApi,解析JSON,使用相应的库后,很简单原创 2022-05-04 22:26:58 · 1338 阅读 · 0 评论 -
涛思数据TDengine now插值问题记录
TDengine 缺省的时间戳是毫秒精度,但通过在 CREATE DATABASE 时传递的 PRECISION 参数就可以支持微秒和纳秒。(从 2.1.5.0 版本开始支持纳秒精度)。在使用过程中如果没有特殊要求一般采用默认值。TDengine内部函数 now 是客户端的当前时间,插入记录时,如果时间戳为 now,插入数据时使用提交这条记录的客户端的当前时间。在使用“插入多条记录”方式写入数据时,不能把第一列的时间戳取值都设为 NOW,否则会导致语句中的多条记录使用相同的时间戳,于是就可能出现相互覆盖原创 2022-03-05 22:36:58 · 1834 阅读 · 0 评论 -
Vistual Stdio 2022 C# 11新语法备忘
Vistual Stdio 2022 C# 11新语法备忘原创 2022-02-18 22:25:30 · 1339 阅读 · 0 评论 -
Wonderware Historian Servers 操作
工控软件Wonderware System Platform带有Historian实时归档数据库,采用SQL Server+本地文件形式管理和存储归档数据。数据的元数据(包括标签名、说明、采样频率等)存储在SQL Server的Runtime库中,归档的结果数据存储在本地。原创 2022-02-13 12:25:56 · 1895 阅读 · 0 评论 -
dubbo zookeeper Session 0x0 for server 127.0.0.1/<unresolved>:2181
相关组件版本:dubbo 2.7.12zookeeper 3.6.3使用dubbo zookeeper,之前已经测试完毕,记得当时以为Zookeeper连接问题折腾了好久。这次使用,照搬上次的配置,结果报错Session 0x0 for server 127.0.0.1/<unresolved>:2181, unexpected error,完整信息如下:22:40:08.920 [restartedMain] INFO o.a.z.ZooKeeper - [logE原创 2021-07-24 23:12:08 · 3652 阅读 · 1 评论 -
C# JsonConvert 字段映射处理方法
C# Newtonsoft.Json.JsonConvert可以进行序列化处理,有时序列化存在特殊字段,可以通过JsonProperty来处理。Json格式:{ "appName":"PascalMingService", "Timestamp":"2021-07-12 18:47:55.156", "os.name":"Linux", "os.arch":"amd64"}数据类定义如下:class InfoData{ public String appNa原创 2021-07-12 19:06:29 · 1636 阅读 · 0 评论 -
bootstrap表格传递复杂文本参数问题
在Html前端页面使用bootstrap展示数据,对单元格进行函数调用传递参数时,如果参数串包涵特殊字符,往往会导致调用失败。这时可以考虑用base64编码进行转义。关键部分代码如下:<script th:inline="javascript"> $(function() { var options = { url: xxx, modalName: xxx, columns: [...原创 2021-07-09 08:36:06 · 548 阅读 · 0 评论 -
centos下dotnet服务启停脚本
以服务PascalMing.RestService.dll服务为例创建dotnet启动脚本vim start.shnohup dotnet PascalMing.RestService.dll --urls "http://10.10.10.11:10086">>log.txt&tail -f log.txt创建停止脚本vim stop.shecho "PascalMing.RestService 进程信息"ps -ef | grep Pasc原创 2021-07-06 18:18:01 · 1338 阅读 · 1 评论 -
若依(RuoYi)集成redis集群实现集群会话
若依官网提供的集成redis实现集群会话 http://doc.ruoyi.vip/ruoyi/document/cjjc.html,redis使用的是单机版,如果需要采用Redis集群还有做小的修改application.yml配置示例spring: redis: password: # 密码(默认为空) timeout: 3000 # 连接超时时长(毫秒) cluster: nodes: #改...原创 2021-07-06 09:51:46 · 3983 阅读 · 0 评论 -
若依(RouYi)框架使用多个Redis数据源
若依(RouYi)框架使用多个Redis数据源的方法application.yml配置spring: redis-app: password: # 密码(默认为空) timeout: 3000ms # 连接超时时长(毫秒) cluster: nodes: - xx.xx.xx.xx:xx #集群Redis Ip:port - xx.xx.xx.x原创 2021-07-05 09:24:05 · 3192 阅读 · 0 评论 -
java .yml文件取值问题
spring-boot-starter-actuator 的info取值时,需要配置info信息application.yml#自定义info端点查看应用相关的信息info: encoding: "@project.build.sourceEncoding@" traget: "@java.version@" name: "@project.artifactId@" description: "@project.description@"...原创 2021-06-16 10:42:06 · 630 阅读 · 1 评论 -
fastjson 反序列化测试
最近在分析Java服务性能时,发现在处理数据时大量解析JSON占用的CPU资源比较大,想看看不同方法之间是否有性能上的差异。编写了一小段代码测试,对比结果基本没有差别。fastjson库版本和引用如下: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> ...原创 2021-06-04 21:06:24 · 274 阅读 · 0 评论 -
TDengine Taos数据库同步服务
功能:实现Taos不同数据库之间数据复制,可以用于数据库迁移和备份,支持续传运行环境:JDK 1.8 启动方法:java -jar Pascal.TaosDbSync.V2-1.0.jar使用方法:1、在application.yml中配置正确的taos源数据库和目标数据库以及相关参数2、iot.servermode为false时采用进程模式,所有参数来自与.yml,执行完毕退出3、iot.servermode为true时,采用服务模式Web+RestAPI运原创 2021-06-02 19:11:14 · 1759 阅读 · 0 评论 -
Java @Value使用@PropertySource加载.properties
Java 使用.properties进行配置时,一般用@PropertySource进行加载文件,使用示例如下:@PropertySource(value ={"classpath:my1.properties","file:my2.properties"},ignoreResourceNotFound = true,encoding="utf-8")@PropertySource的value,指定.properties文件,不能使用通配符,如果配置项有重复,实际使用时用value={}的后面文件原创 2021-05-20 15:04:15 · 582 阅读 · 0 评论 -
xxl-job 2.3.0增加RestJob JobHandler
xxl-job 2.3.0增加RestJobJobHandler,调度执行更加友好一点在xxl-job-executor模块的com.xxl.job.executor.service.jobhandler下增加RestXxlJob.javapackage com.xxl.job.executor.service.jobhandler;import com.xxl.job.core.context.XxlJobHelper;import com.xxl.job.core.handler.a..原创 2021-05-18 17:52:52 · 1132 阅读 · 0 评论 -
websockets 前端访问代码
一段websockets 前端访问代码,连接ws服务端,接收信息倒序显示在窗体aps.net有完整的Demo,位置:https://github.com/dotnet/AspNetCore.Docs/tree/main/aspnetcore/fundamentals/websockets/samples/2.x/WebSocketsSample<!DOCTYPE HTML><html> <head> <meta charset="utf.原创 2021-05-13 13:19:46 · 178 阅读 · 0 评论 -
OPC DA转Redis服务OPC.DA.Redis.Wrapper
OPC.DA.Redis.Wrapper介绍OPC DA Tags实时转发写入Redis,在涉及OPC 采集需求时,直接访问Redis即可,降低使用难度 OPC DA Client使用OpcRcw.Da和OpcRcw.Comn Redis使用StackExchange.Redis软件架构OPC DA Server =>OPC.DA.Redis.Wrapper=>Redis Server安装教程StackExchange.Redis 要求.net framework4.6.原创 2021-05-11 15:49:39 · 368 阅读 · 0 评论 -
海康威视VisionMaster算法平台SDK调试异常记
海康威视的VisionMaster算法平台功能强大,在2D处理域简单到小白级。之前使用的是直接基于VM平台的SDK,最近为了更加灵活和快速处理数据,改为直接用算法平台的SDK。在安装后的MVDAlgorithmSDK\Samples目录下,有各类SDK的调用示例,很简单和直观,但需要注意的是,它提供的是基于VS2008的版本,而目前最新的VS是2019,这次遇到的问题,就与这个版本有关。参考DEMO,构建了一个最小的测试示例,测试样图是之前工业相机拍的,用VM平台处理建模,将模型导出为.hp原创 2021-05-11 15:20:05 · 3799 阅读 · 0 评论