- 博客(50)
- 收藏
- 关注
原创 软考(系统架构师)— 计算机网络
(2)A.网络中传送的最小信息单位 B.物理层可以区分的信息长度 C.网络中发生冲突的最短时间。网络中存在备用链路时,可以考虑加入负载分担设计来减轻主路径负担。Internet 协议的主要协议及其层次关系,见图。C.负载分担是通过并行链路提供流量分担来提高性能的。D.网络中存在备用链路时,可以考虑加入负载分担设计。A.连接管理 B.差错校验和重传 C.流量控制。A.网络冗余设计避免网络组件单点失效造成应用失效。负载分担是网络冗余设计中的一种设计方式,其通过。网络设计一般采用分层的方式,分为。
2025-02-26 09:26:51
718
原创 WiFi技术知识体系论述
WiFi标准、协议、信道、天线、工作原理、认证与加密 WiFi 技术知识体系的详细论述,包括 WiFi 标准、协议、信道、天线、工作原理、认证与加密。
2025-02-25 11:54:40
1051
原创 什么是RS232与RS485接口
RS232 和 RS485 都是串行通信接口标准,广泛用于工业自动化、仪器仪表、计算机通信等领域。它们的主要区别在于通信方式、电气特性和应用场景。
2025-02-25 10:58:15
942
原创 什么是IEEE 802.11——无线局域网标准?
IEEE 802.11是由IEEE(电气电子工程师协会)制定的无线局域网(WLAN)标准家族,定义了无线通信的物理层(PHY)和媒体访问控制层(MAC)。 其目标是实现设备之间的无线数据通信,满足数据传输速率、覆盖范围和可靠性的需求。
2025-02-22 15:20:11
1329
原创 什么是上位机?什么是跳转机?
什么是跳转机?跳转机(Jump Server),又称堡垒机(Bastion Host),是一种介于外部用户和内部资源之间的中间设备或服务,主要用于管理和控制用户对内部服务器或系统的访问。跳转机通过集中管理身份验证和操作审计,增强了系统的安全性,防止未经授权的访问。跳转机的功能与特点1. 身份验证跳转机通常集成单点登录(SSO)和多因子认证(MFA),如用户名密码、令牌、动态验证码等。它确保只有通过验证的用户才能访问内部资源。2. 权限控制管理用户对目标服务器的访问权限,支持精细化授权。
2025-02-22 13:58:23
739
原创 软考—系统架构设计(案例 | 论文)
系统设计是系统分析的延伸与拓展。系统分析阶段解决“做什么”的问题,而系统设计阶段解决“怎么做”的问题。### 概要设计系统设计的主要内容包括概要设计和详细设计。**概要设计又称为系统总体结构设计**,它是系统开发过程中很关键的一步,其主要任务是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,**形成软件的模块结构图,即系统结构图**。在概要设计中,**将系统开发的总任务分解成许多个基本的、具体的任务**。### 详细设计**为每个具体任务选择适当的技术手段和处理方法的过
2025-02-21 17:29:13
1237
原创 OpenSSL crt & key (生成一套用于TLS双向认证的证书密钥)
根 CA 证书用于签发服务器和客户端证书,确保它们可以互相验证身份。,适用于 TLS 服务器与客户端双向认证。服务器证书用于 TLS 服务器身份认证。完整的步骤如下,包括。生成一套 TLS 证书,包括。客户端证书用于客户端认证。该过程完整生成了一套。
2025-02-21 17:26:12
502
原创 UART通讯协议 — 详解
UART的基本概念UART协议主要用于计算机和电传打字机之间的通信,由Bell在19世纪60年代发明。它将并行输入信号转换成串行输出信号,因其简单实用的特性,已经成为一种使用非常广泛的通信协议。UART是一种全双工的串行通信方式,能够实现点对点的数据传输。它无需时钟信号,通过预先设定的波特率进行数据的异步传输。由于其简单易用,UART被广泛应用于嵌入式系统、计算机外围设备等领域。仅用一根数据接收线和一根数据发送线就能实现全双工通信。
2024-10-24 09:06:55
4331
原创 GitLab 及 Git 使用学习
1.初始化Git2.远程建立连接3.拉取远程分支4.查看所有分支5.Push 代码生成密钥(pubilckey)ssh-keygen输入指令后一直点击回车,即可生成密钥(publickey)将id_rsa.pub中的内容复制到GitLab的SSH密钥对中,即可从GitLab上拉取或上传代码。6.上传到其他分支7.删除分支在Git中删除分支可以使用git branch命令配合-D或-d选项。以下是删除分支的几种常见方法:7.1.如果你想要删除一个已经合并到主分支的本地分支,可以使用-d这里。
2024-10-24 09:02:18
1483
原创 Linux系统之 — 线程
在Linux系统中,线程是进程的一部分,是程序执行的最小单元。线程允许多个执行流程同时在同一个进程中运行,共享相同的内存空间和资源。线程的定义线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运行单位。线程与进程的区别进程拥有独立的内存地址空间,而线程共享同一进程的内存地址空间。进程间通信(IPC)需要特定的机制,如管道、消息队列等,而线程间通信可以直接通过共享内存进行。线程的调度线程由Linux内核的调度器进行调度,调度器根据线程的优先级和调度策略来决定线程的执行顺序。
2024-07-02 19:53:45
1479
1
原创 Shell脚本编程 — Shell Script
Shell脚本是一种编程语言,主要用于在Unix/Linux系统中自动化执行任务。它通过编写一系列的命令来完成特定的任务。
2024-06-30 16:14:08
390
原创 C++ 之插件机制初试
首先,定义一个插件接口,这是主程序和插件之间的契约。通常,这个接口是一个抽象基类,包含插件必须实现的方法。public:// 插件必须实现的方法// 创建插件实例的函数// 销毁插件实例的函数。
2024-06-30 15:27:21
386
原创 DLMS—Cryptographic algorithms—(Green-Book)加密算法
密码学是数学的一个分支,基于数据的转换,并且可以用来提供多种安全服务:保密性、数据完整性、认证、授权和不可否认性。密码学依赖于两个基本组成部分:算法(或密码学方法)和密钥。算法是一个数学函数,而密钥是在转换过程中使用的参数。密码算法和密钥用于对数据应用密码保护(例如,加密数据或生成数字签名),以及移除或检查保护(例如,解密加密的数据或验证数字签名)。密码哈希函数:这类函数不需要密钥(尽管它们可以以使用密钥的模式使用)。哈希函数通常用作算法的一个组成部分,以提供安全服务。见9.2.3.2节。对称密钥算法。
2024-06-28 15:06:36
1194
原创 Git Flow 工作流学习要点
1.feature分支的生命周期不宜过长,最多最多不要超过一个迭代周期。如果一个feature分支包含的功能太多太复杂,开发周期太长,应该拆成几个小的feature2.发版前必须切出release分支,预上线的测试版本一定要和实际上线的版本一致,release分支上只能做 bug 修复。3.hotfix和release分支开启时即要决定版本号,且同样只准修复 bug,不可加入新功能。develop与master。
2024-06-28 11:41:06
1092
原创 DLMS/COSEM协议—(Green-Book)Gateway protocol
网关协议的作用:本小节规定了一种方法,用于在通过网关连接的DLMS客户端和服务器之间交换数据。这种网关可以连接到广域网(WAN)或邻近网(NN)的一侧,以及连接到局域网(LAN)的另一侧,并且有DLMS服务器连接到这个LAN。双向通信:网关是双向的,也就是说,LAN中的服务器也能够通过网关向WAN/NN中的客户端发送消息(推送应用)。网关的实现:网关功能可以集成在DLMS/COSEM设备中,也可以是独立的设备。DLMS/COSEM规范的通信模型。
2024-06-27 16:24:48
1793
原创 数据库工具之 —— SQLite
SQLite 是一个非常流行的轻量级数据库,它是一个嵌入式的数据库,意味着数据库文件是存储在磁盘上的一个单一文件。SQLite 不需要一个独立的服务器进程,这使得它非常适合用于小型应用、移动应用、桌面应用,或者任何需要轻量级数据库解决方案的场景。sqlite3SQLite 可以通过多种编程语言进行操作,包括但不限于 Python、Java、C#、PHP 等。每种语言都有相应的库或模块来与 SQLite 交互。
2024-06-27 16:09:35
2324
原创 DLMS/COSEM协议—(Green-Book)Wi-SUN profile
Wi-SUN FAN(Field Area Network,现场区域网络)旨在构建一个无处不在的网络,但它并没有指定特定的应用来在其上运行,因此它是与应用无关的(application agnostic)。同样,DLMS(Device Language Message Specification,设备语言消息规范)也没有指定一套单一的底层来支持应用层,因此它可以被描述为与传输无关的(transport agnostic)。
2024-06-26 17:16:21
1288
原创 提高开发效率之——工具介绍
SerialDebug 是一个串口调试工具,它主要用于帮助电子工程师和软件开发者进行串口通信的调试工作。:提供打开、关闭、接收、发送数据的基础串口操作。:支持十六进制(HEX)接收和发送,适用于不同格式的数据传输需求。:可以设置时间间隔,让工具按设定的时间自动发送数据,适用于周期性数据传输测试。:能够保存接收到的数据,允许用户自定义保存位置,方便后续分析。:支持将文件内容通过串口发送出去,适用于固件升级等场景。:支持 ASCII、UTF-8、UTF-16、UTF-32 等多种编码方式。
2024-06-26 17:14:42
1277
原创 Linux系统学习——指令四
在Linux中,你可以使用 命令来查看一个文件的MD5校验和。以下是具体的操作方法:打开终端。使用 命令加上文件名来计算文件的MD5值。例如,如果你想要计算 文件的MD5值,你可以输入以下命令:按下回车键,终端将显示 文件的MD5校验和,输出格式通常是这样的:其中 就是文件的MD5值,是一个32位的十六进制数。其他用法校验多个文件:你可以一次给 命令传入多个文件名,它将为每个文件生成MD5值。从标准输入读取:使用 作为输入文件, 将从标准输入读取数据:检查文件完整性:你可
2024-06-25 17:17:35
1062
原创 Linux系统学习——指令三
在Linux系统中,挂载U盘(即USB闪存驱动器)是一个常见的操作,用于访问U盘上的文件。目录下可执行文件的执行权限和文件大小等详细信息,可以使用多种不同的命令和方法。请注意,只有文件的所有者或具有适当权限的用户(如 root 用户)才能更改文件的权限。注意,需要有足够的权限来改变文件的权限,通常这意味着需要是文件的所有者或者具有管理员权限。
2024-06-25 17:16:38
985
原创 Information security in DLMS/COSEM(Green-Book)—认证机制
DLMS/COSEM安全概念,见9.2.2;选定的加密算法,见9.2.3;安全密钥,见9.2.4、9.2.5和9.2.6;使用加密算法进行实体认证、xDLMS APDU保护和COSEM数据保护,见9.2.7。在DLMS/COSEM体系架构中,信息安全是一个关键组成部分,用于确保数据交换的安全性和完整性。9.2.2.1小节提供了DLMS/COSEM安全概念的高级概述。
2024-06-24 15:36:00
1722
原创 MQTT代理 — mosquitto 介绍及使用
1. 安装 Mosquitto2. 配置 Mosquitto3. 启动 Mosquitto 服务4. 验证安装5. 配置防火墙(如果需要)6. 使用 Mosquitto(发布及订阅消息)7. 注意事项8.问题描述及解决1. 安装 Mosquitto2. 配置 Mosquitto3. 启动 Mosquitto 服务4. 验证安装5. 配置防火墙(如果需要)6. 使用 Mosquitto(发布及订阅消息)7. 注意事项8.问题描述及解决mosquitto是一个流行的 MQTT 代理程序,用于消息的发布和订阅。
2024-06-24 15:33:36
2978
原创 Linux系统学习——指令集二
这将会在文件中查找并替换所有的旧内容为新内容选项表示直接修改文件内容,而不是输出到终端。s/old/new/是sed命令的替换语法,其中old表示要被替换的字符串,new表示替换后的字符串。是要修改的文件路径。使用以上命令,sed会在指定文件中找到第一个匹配的字符串并进行替换。如果要替换所有匹配的字符串,可以使用全局替换标志g。
2024-06-11 19:16:25
1260
原创 DLMS-Blue-Book蓝皮书—曲线类
attribute_index 1 指的是第 1 个属性(即 logical_name),attribute_index 2 指的是第 2 个属性,等等;如果其他“曲线通用类”对象捕获了这个缓冲区,它们的缓冲区也将被清空,以保证它们的缓冲区条目是同质的。如果捕获对象是曲线通用类的缓冲区,则 data_index 标识缓冲区(即列)中的捕获对象(即内部曲线通用类中的列);如果曲线通用类已排序,则调用捕获方法将把新条目存储在缓冲区中的适当位置,移动所有后续条目,并可能丢失最不相关的条目。
2024-06-11 19:13:49
1044
原创 VScode配置
文件保存的是之前连接的秘钥,现在没有更新,因此需要更新。用当前主机重新连接远程主机,会提示远程服务器正在下载。并删掉远程主机对应的那行秘钥,重新连接即可。,需要等待几分钟,之后即可正常连接。Vscode 远程连接,配置SSH。文件保存的格式不正确,修改。文件,重新连接即可。
2024-03-12 20:00:38
504
原创 HEIF or JPEG
HEIF全称High Efficiency Image Format,中文可译为“高效文件格式”,由MPEG于2015年推出。严格上说,HEIF并不是标准的图像格式,而更像是一种容器格式,因为它能够组合任意数量的图像,并且这些图像还可以使用不同的格式编码。HEIF的开发目标是在效率方面超越JPEG,它最终也实现了这一目标。以相同甚至较高一点的质量存储图像时,HEIF格式要比JPEG格式节约50%到60%的空间。
2024-03-12 19:57:13
3452
原创 JSON转化及C++杂谈
JSON: JavaScript Object Notation(JavaScript 对象表示法)JSON 是存储和交换文本信息的语法,类似。JSON 易于人阅读和编写。C、Python、C++、Java、PHP、Go等编程语言都支持 JSON。是创建一个对象 j,nlohmann::json 是一个用于处理 JSON 数据的库,提供了一种方便的方式来创建、解析和操作 JSON 数据。是将 JSON 字符串str解析为对象 j。是库提供的一个函数,用于解析 JSON 字符串。头文件1、创建。
2023-12-10 14:37:29
735
原创 RPC框架——编解码
在进行项目构建时,-j参数用于指定并行编译的线程数,它会影响到构建的速度和资源利用率。这个参数适用于大多数常规项目,可以加速构建过程,同时不会过度占用系统资源。-B或–always-make:无论目标是否最新,始终重新构建。-k或–keep-going:即使出现错误,也继续构建其他目标。-n或–just-print:仅显示构建命令,而不实际执行。-t或–touch:仅更新目标的时间戳,而不执行实际构建。-s或–silent:静默模式,不显示构建命令和输出。-j :指定并行编译的线程数。
2023-12-10 14:34:33
1241
原创 Git工具—指令使用
1.检查当前文件状态2.跟踪新文件/暂存已修改文件3.查看修改$ git diff4.提交更新5.查看提交历史6.强制回滚到上一次的提交记录(可删除log记录)7.vim编辑窗口退出8.将文件撤销回到最近一次修改的状态:git checkout – file当我们在工作中修改了一个文件,若发现内容好像改的不对,想重新修改,这个时又不知道自己改了什么代码,想撤销修改,有一个最简单的方法,就是,注意中间要有“--”,checkout这个命令是切换分支的功能,关于它我们后面在细说,你现在只需要知道这个命令加上“
2023-11-09 19:47:28
191
1
原创 DLMS/COSEM协议编解码杂谈
在这个函数中,首先从字符串中提取出一个TLV元素,然后根据这个元素的标签(Tag)确定它代表哪个属性,然后根据这个元素的长度(Length)和值(Value)来解码这个属性的值。在这个函数中,每个属性都被编码为一个TLV元素,然后所有的TLV元素被连接在一起,形成一个字符串。如果数据的长度大于127字节,那么长度字段就是多个字节,第一个字节的最高位是1,其余位表示长度字段的字节数,后续的字节表示数据的长度。DLMS/COSEM协议中,数据类型的标签(tag)是一个字节,用于表示数据的类型。
2023-11-08 16:11:01
890
1
原创 DLMS协议——信息安全及应用层服务规范(三)
现有 AA 可以正常或非正常释放。正常释放由客户端 AP 启动。当 AP 发生意外事件(例如检测到物理断开连接)时,将发生非正常释放。
2023-09-05 19:57:35
1554
1
原创 DLMS/COSEM协议(二)——UDP、TCP、CoAP传输方式
DLMS/COSEM AL只侦听一个UDP或TCP端口。另一方面,一个物理设备可以承载多个客户机或服务器AP。包装器子层提供的附加寻址功能允许寻址这些ap。
2023-08-23 17:50:47
1336
原创 DLMS/COSEM协议(一) ————信息交换模型(通信过程)
DLMS/COSEM的目标是为设备和系统指定一个面向业务领域的接口对象模型的标准,以及用来访问这些对象的服务的标准。还指定了通过各种通信媒体传输消息的通信配置文件。术语“设备”是一种抽象;因此,“设备”可以是适合这种抽象适用的任何类型的设备。使用DLMS/COSEM进行数据交换的确保满足上述要求的关键因素是由DLMS/COSEM AL提供的应用程序关联(AA)–确定数据交换的上下文。
2023-08-21 15:28:57
2858
1
原创 Makefile使用方法(一)
和前面介绍的规则不同,clean目标不依赖于任何条件,并且执行它的命令列表不会生成clean这个文件,刚才说过,只要执行了命令列表就算更新了目标,即使目标并没有生成也算。这样又有一个新的问题,每次编译敲的命令都不一样,很容易出错,比如我修改了三个源文件,可能有一个忘记了重新编译,结果编译完成以后修改还没生效,运行是出了bug还满世界找原因呢。中第一条规则的目标main,第一条规则的目标称为缺省目标,只要缺省目标更新了就算完成任务了,其它工作都是为这个目的而做的。的规则,请读者结合上面的例子理解。
2023-08-19 14:10:53
321
转载 Linux中CMake入门实践
本节对应的源代码所在目录:Demo4。CMake 允许为项目增加编译选项,从而可以根据用户的环境和需求选择最合适的编译方案。例如,可以将 MathFunctions 库设为一个可选的库,如果该选项为ON,就使用该库定义的数学函数来进行运算。否则就调用标准库中的数学函数库。接下来修改 config.h.in 文件,预定义相关的宏变量。
2023-08-11 17:49:49
475
1
原创 国网DLT698.45协议——采集系统、数据交换(三)
物理层规定了通信单元或其他终端设备与多功能电表的通信接口,接口的物理与电气特性。常见的物理层传输方式有对于RS485、红外、载波通信等通信信道。将数据包装成可传输的帧格式。1、根据通信配置参数完成端口的初始化配置,通信状态初始化为准备接收状态,初始化相关计数器及缓冲区指针。2、链路层及控制子模块负责通信数据的收发控制,各类超时问题的处理。无通信数据接收时,定时初始化通信端口。3、完成协议帧的解析及应答。
2023-08-10 20:35:28
6609
8
软考知识点-系统架构设计师-计算机网络与软件工程关键技术综述
2024-11-08
Desktops 作为一款由微软 Sysinternals 提供的免费工具,以其简单、实用和高效的特点,帮助用户更好地管理和组织
2024-06-26
SerialDebug 工具以其简洁的界面、丰富的功能和开源特性,成为了电子工程师和软件开发者在串口通信调试中的得力助手
2024-06-26
电网上行通信规约-条文解释
2024-06-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人