- 博客(203)
- 资源 (2)
- 收藏
- 关注
原创 【NodeRed】node-red-contrib-opcua实现PLC读写
在之前的博文【Node-RED】node-red-contrib-opcua-server模块使用(1)中,我们介绍了用node-red-contrib-opcua-server模块实现OPCUA服务端的,以及二次开发的内容。本节博文中我们采用官方社区自带的node-red-contrib-opcua组件开展对OPCUA客户端的介绍,详细阐述用该组件中OpcUa-Client节点实现客户端对PLC的读写,以及实现过程中遇到的问题。由于官方社区中并没有找到该组件的介绍实例,这也是本博文编写的第1个原因。
2025-07-02 21:23:05
66
原创 【QT】TXT电子书语音朗读器开发(2)
在之前的博文【QT】TXT电子书语音朗读器开发(1)中,已经实现了基本功能,在使用过程中,鼠标控制、空格键的控制依旧很不便利,此时增加键盘翻页功能显得很有必要。
2025-07-01 16:39:19
65
原创 【QT】TXT电子书语音朗读器开发(1)
在电脑上看电子书时候,用Notepad、记事本等打开查看多有不便,考虑开发一个小型软件可以按行查看文档。而在使用过程中,能够进行页码跳转、页码保存也很有必要,否则每次都重头开始看很不方便。而且有时候在不同平台看了文档一部分,当用户在客户端上想继续看,此时内容查找也很有必要。经常性的点击按钮,鼠标声音很吵闹,此时按钮随着鼠标移动焦点转移也很有必要。前台直接查看内容有时不方便,配合按钮焦点灵活移动,以及空格按键,以实现后台页面切换,同时有语音朗读,解决后台无法查看的问题。可按行查看文档;可进行页面跳转;
2025-06-19 15:35:34
1063
原创 【QT】蓝牙库QtBluetooth实现设备通讯(1)
之前有用QT for Android实现对蓝牙键盘的控制,主要使用的是网上找的实例文件,结果没实现效果,卡在UUID上,当时也没有进行深入研究地层和代码,就不了了之了。这回基于上次的情况,对QT的蓝牙库进行深挖,完成对蓝牙的设备的控制。实验的流程:最初是直接分析QT官方的实例代码,然后去做蓝牙键盘的连接,结果没有成功,蓝牙耳机倒是识别出来了,但是耳机控制交互并不直观,首选还是键盘。因此选择蓝牙模拟设备、蓝牙键盘,和第三方的蓝牙调试助手,去验证在windows平台下功能可用性。然后。
2025-06-16 10:58:58
794
原创 【QT】自动更新库QSimpleUpdater使用实例封装
在使用过程中,会涉及到3个信号的使用,如下:其中和尤为要做好区分。关于参数介绍可以首先可以看官方提供的实例tutorial,结合里面的UI界面进行了解,其中标红的6项刚好对应了6个参数的设置。//当前版本号//不显示所有通知//有更新时通知我//启用集成的下载器//不要使用QSU库对传递的原始数据进行解析//不强制更新这里因为涉及到了的使用,因此在项目pro配置文件中需要进行配置。
2025-06-10 19:17:41
1177
原创 【QT】INI格式文件读写类IniApi封装
INI格式文件是一种纯文本格式,使用方括[]定义节(Section),每个节下包含键值对,如下图所示。该格式文件简单易读易编辑。而且在所有操作系统上表现相同,跨平台兼容。基于以上特点,INI格式文件被广泛适用于配置文件的使用。在QT中,提供了QSettings类用于应用程序配置的读写,可通过指定以表示INI格式。因此,本博文针对官方类的提供,对INI格式文件读写类IniApi进行封装,以便于后续的复用。
2025-06-10 13:45:31
492
原创 【QT】通讯类HttpAPI:获取MAC、主机IP、端口IP有效性判断
在进行QT客户端编写过程中,界面获取主机MAC地址和IP地址,是常有的事情,可以方便用户了解当前主机的状况,没有必要进行CMD的指令查询。而且如果涉及到需要输入IP和端口的场景,进行输入值的有效性判断也显得很有必要,在之前博文【QT】对话框dialog类封装中,我们也有所提及,可以便于建立通讯连接的准确性。而且人工输入误差在所难免,进行有效性判断,也是起到了校验的作用,减少通讯失败情况的发生。因此,本篇博文主要就是对以上提及的三个方法进行封装,便于后续直接使用,且让封装的类HttpAPI具有一定的普适性。
2025-06-10 12:52:29
1043
原创 【QT】对话框dialog类封装
在Qt 6.8.1 (MSVC 2022, x86_64)中进行编写,需要实现IP和端口号输入的弹窗,实现的方式有2种,其一,考虑到采用UI实现,在主界面基础上,在加载新页面,会有2个页面,效果不佳,因此主要考虑采用。在本博文中,主要对该类的使用进行封装,方便后续可以直接使用。在本博文中,根据需求研究,主要采用textEdited实现。,两者都是会根据文字变更进行相对于的信号触发,只是。
2025-05-26 11:34:38
926
原创 【QT】ModbusTCP读写寄存器类封装
在编写ModbusTCP时候,连接、寄存器读写属于通用的功能,为了便于后续直接复用,选择封装到一个类。本博文在封装展示该类过程中,会提及到编写该类过程中,出现的,以及该问题的解决方式。
2025-05-20 11:52:56
507
原创 【QT】QTableWidget获取width为100,与真实值不符问题解决
用stackedWidget内嵌2个QTableWidget页面,实现切换。在进行的获取时候,可以正常获得ui界面设置的宽度值,但是在QTableWidget页面用同样的方式无法成功获取真实值,即使采用,或者采用依旧不行。而且输出值为100。等效于geometry().width() 和 geometry().height()。
2025-05-20 09:54:19
525
原创 【SECS】初识SECS协议
项目标题的第一位和第二位告诉下面有多少字节表示项目的长度。而项目的长度是指项目标题后面的字节数,这里第一个字节就是项目标题。1个字节可以表示的最大长度是0-255,所以只要项目标题后面的字节数小于等于254,都是0x01。
2025-03-28 16:42:31
989
4
原创 【NodeRed】Modbus模块+http in +http response联合使用,传递对象为空告警
同样,用Modbus模块进行plc地址的数据读写,由于节点较多,采用Modbus-Flex-Getter 和 Modbus-Flex-Write模块实现读写,单纯的采用注入的方式进行读写没有任何问题,而且payload输出含对象。但是,将2部分内容整合起来,用Modbus模块的读写部分替换接口中的函数节点部分,以实现访问接口进行plc地址读写,并返回相对应结果的功能,理论上来说没有任何问题,可实际情况是,在http response中会报。,用来保持信息的完整性,默认是不打勾的,,而且在注意中也指明。
2025-01-13 11:04:53
150
原创 【Postgresql】数据库忘记密码时,重置密码 + 局域网下对外开放访问设置
但有时在局域网下,想通过外部连接使用数据库,可能会出现数据库密码忘记的情况,想通过psql进行密码找回,还是需要登录密码故不可行;最后,恢复在pg_hba.conf 文件中的修改,改回scram-sha-256加密,重启PostgreSQL服务。如果最初设置时候只修改了密码,没有修改用户,则默认用户依旧是postgres,那直接输入。,找到pg_hba.conf 文件,将里面所有配置scram-sha-256加密的改成trust,即表示登录不需要密码。,如果修改了用户,则进行对应修改即可。
2024-12-25 10:08:16
1069
原创 【异常】GL-SFT1200路由器中继模式,TL-CPE1300D无法搜寻5G网问题分析
由于接入外网的网段是45,中继器默认是8,但是设备设置固定的网段是32,可以在。最后,保存5G的配置,然后接入外网,中继模式下,又不能搜寻到5G信号,而且可以发现5G的频宽和信号又恢复了默认,即频宽20MHz,信道52。,因此断开中继模式的外网接入,然后手动将5G的信道设置成149,频宽设置成80MHz,进行尝试搜寻,能够成功搜寻到。中变更网段,设置32。默认的起始ip地址是100-249,由于设备ip小于100,可以设置对应的起始地址,如下图。首先,将5G信号的安全性设置成不加密,进行尝试搜寻,不成功。
2024-12-18 16:22:05
688
原创 【真题笔记】21年系统架构设计师案例理论点总结
机器学习流程定义的灵活性高, 学习算法的可扩展性强。因为解释器风格可以通过自定义流程规则及配套流程解释引擎开发,做到用户层面的流程完全定义,而不需要修改代码,所以无论是修改已有的业务流程,还是要扩展不同的角色,创建新角色的流程都非常便利。解释器按照输入输出格式将学习算法封装为组件,通过解释器机制动态增加或删除算法组件,并支持动态调用,学习算法的可扩展性强。管道过滤器:机器学习流程定义的灵活性低, 学习算法的可扩展性弱。
2024-11-09 00:14:07
1169
原创 【真题笔记】20年系统架构设计师要点总结
自动化测试工具主要使用脚本技术来生成测试用例,测试脚本不仅可以在功能测试上模拟用户的操作,比较分析,而且可以用在性能测试、负载测试上。虚拟用户可以同时进行相同的、不同的操作,给被测软件施加足够的数据和操作,检查系统的响应速度和数据吞吐能力。ps:页内地址长度是页面大小转2进制的长度,如页面大小4K,则2的12次,所以页内地址有12位。逻辑地址 = 逻辑页号+页内地址;物理地址 = 物理块号+页内地址。
2024-11-09 00:12:57
604
原创 【真题笔记】21年系统架构设计师要点总结
SDN(Sofware Defined Networking)是一种将网络控制平面与数据转发平面分离,并通过可编程接口实现网络控制的架构。应用层:这是最上层,包括各种网络应用程序和服务,它们可以通过SDN控制器提供的AP来定制网络行为,比如流量路由、访问控制策略等,控制层:这一层的核心是SDN控制器,它集中管理网络视图、计算数据包转发路径,并下发相应的转发规则到数据平面设备。控制器是网络智能和策略决策的中心。
2024-11-06 22:27:09
930
原创 【真题笔记】17年系统架构设计师要点总结
接口描述、模块定义、类型定义、常量定义、异常、值类型。接口描述是IDL文件中最核心的内容。以JAVA为例,IDL接口映射为JAVA类,而该接口的操作映射为相应的成员函数,模块定义映射为JAVA中的包(Package)或C++中的Namespace。
2024-11-06 00:29:42
1050
原创 【真题笔记】14年系统架构设计师要点总结
IETF 集成服务工作组根据服务质量不同,把Internet服务分成3种类型:保证质量的服务:对带宽、时延、抖动和丢包率提供定量的保证;负载受控的服务:提供一种类似于网络负载情况下的服务,这是一种定性的指标;尽力而为的服务:这是Internet提供的一般服务,基本上无任何质量保证。把应用程序中用得最多、最频繁的那部分核心程序作为评价计算机性能的标准程序,称为基准测试程序。基准程序法是目前一致承认的测试系统性能的较好方法。真实程序、核心程序、小型基准程序、合成基准程序,评测准确性依次逐减。ERP五个层次
2024-10-28 18:51:15
883
原创 【真题笔记】09-12年系统架构设计师要点总结
1用例(设计+测试人员):显示外部参与者观察到系统功能;4进程(系统集成):程序执行时并发状态;部署(系统操作):软件到硬件映射;实现(程序员):源代码及其执行代码,描述模块组织与管理;逻辑(用户):从系统静态结构/动态行为角度显示系统内部如何实现功能,描述对象模型与对象间关系。领域架构师:特定领域环境应用工程师:应用环境操作员:执行应用集成环境集成需求分析概念:ER逻辑:范式物理解释器:用户->对象实例 / 行为 / 动态;黑板:专家知识积累 / 自然语言处理、语音处理、模式识别、
2024-10-21 14:34:56
1073
原创 【NodeRed】MCProtocol 组件中MaxListenersExceededWarning 告警
整个文件看下来发现没有设置,用的默认参数。看了网上一些资料,一般监听器数量默认是10个。虽然nodeRed开了多窗口,但是NodeJS是单线程的,所以使用数量肯定是超了的,刚开始告警时,由于不影响使用就没有管。但是运行较长时间后,出现了信息读写出错的问题,重新启动后又恢复正常。针对这个情况,对告警进行解决。在变更后,重新启动文件,MaxListenersExceededWarning 告警就没有了。,那问题就定位到了MC模块。首先,对告警进行翻译,大致意思就是。找监听器数量设置,定位到了文件。
2024-09-19 17:28:09
440
原创 【系统架构设计】软件的知识产权保护+标准化概论+应用数学+云计算
根据制定机构和适用范围的不同,标准可分为若干个级别。按类型划分,标准可分为。是制定标准、组织实施标准和对标准的实施进行监督;是通过制定、发布和实施标准,达到统一;应用数学涉及的内容很多,在本章中集中在。是获得最佳秩序和社会效益。,其他标准是推荐性标准。
2024-09-14 16:03:39
872
原创 【系统架构设计】系统的可靠性分析与设计
这里有几个名词要做好区分,可靠度是某一个时间区间内能正常运行的概率;可用度是某一时刻可运行的概率;可维度是指系统失效后,在时间间隔内被修复的概率;平均无故障时间是从0时开始到故障发生时,系统的持续运行时间的期望值;平均故障修复时间就是字面意思;平均故障间隔时间是平均无故障时间与平均故障修复时间的和。
2024-09-14 13:40:15
745
原创 【系统架构设计】安全性和保密性设计(二)
这里主要介绍常用的虚拟专用网络(Virtual Private Network,VPN),所谓的VPN是指利用不安全的公共网络如 Internet 等作为传输媒介,通过一系列的安全技术处理,实现类似专用网络的安全性能,保证重要信息的安全传输的一种网络技术。,安全隧道代理接受后,在管理中心的控制和管理下在 Internet 上建立安全隧道,然后向用户提供透明的网络传输。依据病毒的种类及其破坏行为的不同,感染病毒后,如果宿主数据没有被删除,常常可以恢复;ps: 简单的理解,就是通过安全传输平面中的。
2024-09-14 08:30:00
281
原创 【系统架构设计】安全性和保密性设计(一)
信息安全,具体地说就是保证信息的保密性、完整性、真实性、占有性。其中,真实性是指对信息的发送者身份的确认或系统中有关主体的身份确认,这样可以保证信息的可信度,可以通过数字签名、公钥加密等方式来实现;占有性是指要保护信息赖以存储的节点、介质、载体等不被盗用或窃取。
2024-09-13 17:30:25
610
原创 【系统架构设计】基于中间件的开发
EAI(Enterprise Application Integration,企业应用集成)是指通过将业务流程,应用软件、硬件和各种标准联合起来,,比如进行JDBC时,如何账号密码改变得每次更新代码,有了JNDI,直接连接配置文件,然后后续修改配置文件就行;,意味着应用逻辑将根据功能分成几个部分, 用户可以在相同或不同的服务器上安装不同应用构件组成的 J2EE 应用。,使它们像一个整体一样进行业务处理和信息共享,从而提高企业效率,为客户提供灵活的业务服务。,处于操作系统、网络和数据库之上,应用软件的下层。
2024-09-13 14:14:59
1231
原创 【系统架构设计】信息系统基础知识
信息系统包含三大要素,分别是系统的观点、数学的方法、计算机应用。而它又不同于一般的计算机应用,它能够充分利用数据资源为企业经营管理服务;它能够利用信息和模型辅助企业决策,从而预测和控制企业行为。信息系统是企业提升核心竞争力的重要和有力的武器。信息系统(Information System,IS)一般泛指收集、存储、处理和传播各种信息的具有完整功能的集合体。在这里,信息系统并没有强调收集、存储、处理和传播信息所用的工具。一般意义上的信息系统在任何时代、任何社会都会存在,然而,
2024-09-12 22:32:01
1037
原创 【系统架构设计】开发管理
影响软件研发项目全局的因素是管理水平,而技术只影响局部,这就有必要从项目管理的角度去管理软件的开发。而项目管理是指在项目活动中运用专门的知识、技能、工具和方法,使项目能够实现或超过项目干系人的需要和期望,可以分为范围管理、时间管理、费用管理、质量管理、人力资源管理、沟通管理、风险管理、采购管理、整体管理9 个知识领域。对于软件的开发管理来讲,软件范围管理、软件进度管理、软件成本管理、软件配置管理(属于整体管理)、软件质量管理、软件风险管理、开发人员管理(属于人力资源管理)7 个方面的管理尤为重要。
2024-09-02 19:05:33
1163
原创 【系统架构设计】嵌入式系统设计(1)
对于通用系统,调试工具与被调试的程序位于同一台计算机上,调试工具通过操作系统的调试接口来控制被调试的程序。,嵌入式系统微处理器所提供与接收信号的电平,必须与所连接的设备的电平相匹配,否则将导致电路损坏或逻辑判定错误。ps: 以上部分其实很好理解,就是平时的开发和编译过程,下面的调试要注意一下,跟平时调试有点区别,只是有时为图方便也在用。,通过这组连接程序代码映像从宿主机下载到目标机,这组连接同时也用来传输宿主机和目标机调试代理之间的信息。嵌入式系统的软件开发方法采用的不是通用的开发方法,而是。
2024-08-29 20:06:37
1519
原创 【系统架构设计】设计模式
设计模式解决是一类问题设计模式是一种通用的解决方案,而不是具体的,也不是唯一的设计模式的使用要适度,过度使用会让架构变得混乱而难以维护描述一个设计模式时,至少需要包含四个方面:模式名称、问题、解决方案、效果ps: 架构的话就是整体系统的布局,而设计模式就是里面具体问题的一种解决思想。又称为抽象工厂模式,该模式主要为解决复杂系统中对象创建的问题。抽象工厂模式提供了一个一致的对象创建接口来创建一系列具有相似基类或相似接口的对象。本质上就是咱们平时用的创建多个抽象类,然后根据不同对象情况进行实现。
2024-08-26 14:31:08
1895
原创 【Android Studio】Webview 内核升级得三种方法(续)
在之前的博文【Android Studio】Webview 内核升级得三种方法中,介绍了内核升级的三种方法,并提出了对应的demo,针对当时推荐的方案,即webview升级加载的内核(完美解决)当时主要是使用了大神提供的库,没关注具体的实现原理。本期主要是对原理学习中对应的重点进行一个记录,其次针对网页加载流量进行一个监控。
2024-08-26 11:03:49
1533
原创 【系统架构设计】软件架构设计(2)
面向服务的架构(Service -Oriented Architecture ,SOA),与SOA 紧密相关的技术有UDDI、WSDL、SOAP、REST等,而这些技术都是以XML为基础而发展起来的。UDDI(Universal Description Discovery and Integration ,统一描述、发现和集成)提供了一种服务发现、查找和定位的方法,是服务的信息注册规范,以便被需要该服务的用户发现和使用它。UDDI规范描述了服务的概念,同时也定义了一种编程接口。
2024-08-22 20:06:22
870
原创 【系统架构设计】软件架构设计(1)
基于架构的软件开发模型明确地把整个软件过程划分为架构需求、设计、文档化、评审(评估)、实现、演化等6个子过程。在面向对象技术中,通过抽象、封装、继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。逻辑视图中使用的风格为面向对象的风格,逻辑视图设计中要注意的主要问题是要保持一个单一的、内聚的对象模型贯穿整个系统。逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。对于不同的软件系统来说,侧重的角度也有所不同。
2024-08-22 15:26:58
1112
原创 【系统架构设计】系统分析与设计方法
问题分析的目标在问题定义上达成共识理解问题的本质确定项目干系人和用户定义系统的边界确定系统实现的约束通常包括目标、功能需求、非功能需求三个方面。
2024-08-20 20:19:31
1108
Node-REDnode-red-contrib-opcua-server模块使用(2)
2024-01-29
【Android studio】service在app直接退出下,整体输出情况,实现开机自启动,一直后台运行
2024-01-26
NodeRednode-red-contrib-opcua实现PLC读写
2025-07-02
QTTXT电子书语音朗读器开发
2025-06-19
QT蓝牙库QtBluetooth实现设备通讯(1)
2025-06-16
QT基于UDP/TCP/串口 的Ymodom通讯协议客户端
2024-08-14
【Android Studio】Webview 内核升级得三种方法
2024-08-08
工具类JAVA (Android Studio )+ JS 加密解密 AES + Base 64
2024-08-08
Node-REDnode-red-contrib-opcua-server模块使用(4)
2024-02-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人