当前位置: 首页 > news >正文

EdgeX Core Service 核心服务之 Core Command 命令

EdgeX Core Service 核心服务之 Core Command 命令

一、概述

Core-command(通常称为命令和控制微服务)可以代表以下角色向设备和传感器发出命令或动作:

  • EdgeX Foundry中的其他微服务(例如,本地边缘分析或规则引擎微服务)
  • EdgeX Foundry与同一系统上可能存在的其他应用程序(例如,需要关闭传感器的系统管理代理)
  • 对于需要命令这些设备的任何外部系统(例如,一个基于云的应用程序确定了需要修改一组设备上的设置)

Command微服务以通用的标准化方式公开命令,以简化与设备的通信。

  • GET 命令从设备请求数据,这通常用于请求设备最新的传感器读数
  • SET 命令请求采取操作或启动设备或在设备上设置某些配置。

Command微服务从metadata服务获取有关设备和传感器的知识。

Command微服务始终通过设备服务将命令和动作中继到设备和传感器,并且从不直接与设备或传感器通信。

因此,Command微服务是从EdgeX Foundry的北侧(例如规则引擎和导出设备)到特定协议的设备或传感器以及EdgeX Foundry和网关的关联设备服务侧的命令或操作请求的转换器。

Command微服务不允许通过设备服务与设备和传感器进行不必要的交互,从而在设备和传感器周围提供了一层保护。可以添加额外的安全性,不允许与设备进行未经授权的交互(通过设备服务)。还可以调节设备上的请求数量,以免设备负载过重,如果有特殊需要,甚至可以缓存请求的响应,以避免唤醒设备。

二、通过消息传递命令

2.1 介绍

以前,从第三方系统(企业应用程序、云应用程序等)到 EdgeX 的通信只能通过 REST 完成,以便驱动设备或从传感器获取最新信息。第三方系统对命令服务进行 REST 调用,然后将请求中继到也使用 REST 的设备服务。没有内置方法可以向 EdgeX 或其管理的设备/传感器发出基于消息的请求。

从 Levski(V2.3) 版本开始,核心命令服务添加了对外部 MQTT 连接的支持(与应用程序服务提供外部 MQTT 连接的方式相同), 这将使其能够充当内部消息总线(通过 MQTT 或 Redis Pub/Sub 实现)和外部 MQTT 消息总线之间的桥梁。

作为消息总线桥的核心命令

Core Command 服务将作为 EdgeX 入口点,通过消息总线向南向设备发送命令。

第三方系统不应被授予访问 EdgeX 内部消息总线的权限。因此,为了通过消息总线(特别是 MQTT)实现通信,命令服务需要从第三方或外部 MQTT 主题获取消息,并将它们内部传递到 EdgeX 内部消息总线,最终将它们路由到设备服务然后到设备/传感器(南向)。

相反,来自南向设备的响应消息也将通过内部 EdgeX 消息总线发送到命令服务,然后它们可以桥接到外部 MQTT 主题并响应第三方系统请求者。

2.2 消息结构

由于大多数消息总线协议缺乏通用消息头机制(如 HTTP),因此提供请求/响应元数据是通过定义与每个请求/响应关联的 MessageEnvelope 对象来完成的。消息主题名称的作用类似于 REST 请求中的 HTTP 路径和方法。也就是说,主题名称指定任何命令请求的设备接收者,就像 HTTP 请求中的路径一样。

下面是命令查询请求的 MessageEnvelope 示例:

{"apiVersion" : "v3","RequestId": "e6e8a2f4-eb14-4649-9e2b-175247911369","CorrelationID": "14a42ea6-c394-41c3-8bcd-a29b9f5e6835","ContentType": "application/json","QueryParams": {"offset": "0","limit": "10"}
}

下面是命令查询响应的 MessageEnvelope 示例:

{"ApiVersion":"v2","RequestID":"e6e8a2f4-eb14-4649-9e2b-175247911369","CorrelationID":"14a42ea6-c394-41c3-8bcd-a29b9f5e6835","ErrorCode":0,"Payload":"...","ContentType":"application/json"
}

格式化请求和响应的消息共享一个公共的基础结构。最外层的 JSON 对象表示消息封装,用于传递有关请求/响应的元数据,包括 ApiVersion、RequestID、CorrelationID, ..等等。

Payload 字段包含 base64 编码的响应正文。

ErrorCode 字段提供错误指示。ErrorCode 将为 0(无错误)或 1(指示错误)作为错误条件的两个枚举值。当出现错误时(ErrorCode 设置为 1),Payload 包含一个消息字符串,指示有关错误的更多信息。如果没有错误(ErrorCode 0),则 Payload 中没有消息字符串。

2.3 命令查询

Core Command 服务订阅 QueryRequestTopic 并将响应发布到配置文件中定义的 QueryResponseTopic。收到请求后,Core Command 服务将尝试从请求主题级别解析 <device-name>。第三方系统或应用程序必须发布命令查询请求消息并订阅来自相同主题的响应。以下是 Core Command 使用的默认主题命名:

  • 订阅命令查询请求主题:edgex/commandquery/request/#
  • 发布命令查询响应主题:edgex/commandquery/response

请求主题中的最后一个主题级别必须是 #(all) 或要查询的 <device-name>。

2.3.1 按设备名称查询

通过消息传递按设备名称查询设备核心命令的示例:

1、向外部 MQTT 代理发送关于主题的查询请求消息 edgex/commandquery/request/Random-Boolean-Device:

{"apiVersion" : "v3","ContentType": "application/json","CorrelationID": "14a42ea6-c394-41c3-8bcd-a29b9f5e6835","RequestId": "e6e8a2f4-eb14-4649-9e2b-175247911369"
}

  1. 从外部 MQTT 代理接收有关主题的查询响应消息

edgex/commandquery/response:

{"ReceivedTopic":"","CorrelationID":"14a42ea6-c394-41c3-8bcd-a29b9f5e6835","ApiVersion":"v2","RequestID":"e6e8a2f4-eb14-4649-9e2b-175247911369","ErrorCode":0,"Payload":"eyJhcGlWZXJzaW9uIjoidjIiLCJyZXF1ZXN0SWQiOiJlNmU4YTJmNC1lYjE0LTQ2NDktOWUyYi0xNzUyNDc5MTEzNjkiLCJzdGF0dXNDb2RlIjoyMDAsImRldmljZUNvcmVDb21tYW5kIjp7ImRldmljZU5hbWUiOiJSYW5kb20tQm9vbGVhbi1EZXZpY2UiLCJwcm9maWxlTmFtZSI6IlJhbmRvbS1Cb29sZWFuLURldmljZSIsImNvcmVDb21tYW5kcyI6W3sibmFtZSI6IldyaXRlQm9vbFZhbHVlIiwic2V0Ijp0cnVlLCJwYXRoIjoiL2FwaS92Mi9kZXZpY2UvbmFtZS9SYW5kb20tQm9vbGVhbi1EZXZpY2UvV3JpdGVCb29sVmFsdWUiLCJ1cmwiOiJodHRwOi8vZWRnZXgtY29yZS1jb21tYW5kOjU5ODgyIiwicGFyYW1ldGVycyI6W3sicmVzb3VyY2VOYW1lIjoiQm9vbCIsInZhbHVlVHlwZSI6IkJvb2wifSx7InJlc291cmNlTmFtZSI6IkVuYWJsZVJhbmRvbWl6YXRpb25fQm9vbCIsInZhbHVlVHlwZSI6IkJvb2wifV19LHsibmFtZSI6IldyaXRlQm9vbEFycmF5VmFsdWUiLCJzZXQiOnRydWUsInBhdGgiOiIvYXBpL3YyL2RldmljZS9uYW1lL1JhbmRvbS1Cb29sZWFuLURldmljZS9Xcml0ZUJvb2xBcnJheVZhbHVlIiwidXJsIjoiaHR0cDovL2VkZ2V4LWNvcmUtY29tbWFuZDo1OTg4MiIsInBhcmFtZXRlcnMiOlt7InJlc291cmNlTmFtZSI6IkJvb2xBcnJheSIsInZhbHVlVHlwZSI6IkJvb2xBcnJheSJ9LHsicmVzb3VyY2VOYW1lIjoiRW5hYmxlUmFuZG9taXphdGlvbl9Cb29sQXJyYXkiLCJ2YWx1ZVR5cGUiOiJCb29sIn1dfSx7Im5hbWUiOiJCb29sIiwiZ2V0Ijp0cnVlLCJzZXQiOnRydWUsInBhdGgiOiIvYXBpL3YyL2RldmljZS9uYW1lL1JhbmRvbS1Cb29sZWFuLURldmljZS9Cb29sIiwidXJsIjoiaHR0cDovL2VkZ2V4LWNvcmUtY29tbWFuZDo1OTg4MiIsInBhcmFtZXRlcnMiOlt7InJlc291cmNlTmFtZSI6IkJvb2wiLCJ2YWx1ZVR5cGUiOiJCb29sIn1dfSx7Im5hbWUiOiJCb29sQXJyYXkiLCJnZXQiOnRydWUsInNldCI6dHJ1ZSwicGF0aCI6Ii9hcGkvdjIvZGV2aWNlL25hbWUvUmFuZG9tLUJvb2xlYW4tRGV2aWNlL0Jvb2xBcnJheSIsInVybCI6Imh0dHA6Ly9lZGdleC1jb3JlLWNvbW1hbmQ6NTk4ODIiLCJwYXJhbWV0ZXJzIjpbeyJyZXNvdXJjZU5hbWUiOiJCb29sQXJyYXkiLCJ2YWx1ZVR5cGUiOiJCb29sQXJyYXkifV19XX19","ContentType":"application/json","QueryParams":{}
}

Base64 解码 Payload:

{"apiVersion":"v2","requestId":"e6e8a2f4-eb14-4649-9e2b-175247911369","statusCode":200,"deviceCoreCommand"

相关文章:

EdgeX Core Service 核心服务之 Core Command 命令

EdgeX Core Service 核心服务之 Core Command 命令 一、概述 Core-command(通常称为命令和控制微服务)可以代表以下角色向设备和传感器发出命令或动作: EdgeX Foundry中的其他微服务(例如,本地边缘分析或规则引擎微服务)EdgeX Foundry与同一系统上可能存在的其他应用程序…...

Debian12使用RKE2离线部署3master2node三主两从的k8s集群详细教程

一、前提步骤 1、在各个节点执行&#xff08;所有 Server 和 Agent 节点&#xff09; apt install apparmor -y apt install curl -y2、设置各节点Host文件&#xff08;所有 Server 和 Agent 节点&#xff09; 192.168.144.175 master01 192.168.144.167 master02 192.168.1…...

【Redis】配置序列化器

1. 配置FastJSON2 FastJSON2相比与FastJSON更安全&#xff0c;更推荐使用。 import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONReader; import com.alibaba.fastjson2.JSONWriter; import com.alibaba.fastjson2.filter.Filter;import org.springframew…...

数字IC后端设计实现十大精华主题分享

今天小编给大家分享下吾爱IC社区星球上周十大后端精华主题。 Q1:星主&#xff0c;请教个问题&#xff0c;长tree的时候发现这个scan的tree 的skew差不多400p&#xff0c;我高亮了整个tree的schematic&#xff0c;我在想是不是我在这一系列mux前边打断&#xff0c;设置ignore p…...

【Docker】部署MySQL容器

关于docker&#xff0c;Windows上使用Powershell/CMD执行指令&#xff0c;Linux系统直接使用终端执行指令。 拉取MySQL 也可以跳过拉取步骤&#xff0c;直接run&#xff0c;这样本地容器不存在的话&#xff0c;会自动拉取最新/指定的版本。 # 默认拉取最新版本 docker pull …...

go语言中的字符串详解

目录 字符串的基本特点 1.字符串的不可变性 2.其他基本特点 字符串基本操作 1. 创建字符串 2. 获取字符串长度 3. 字符串拼接 4. 遍历字符串 5. 字符串比较 字符串常用函数 1. 判断子串 2. 查找与索引 3. 字符串替换 4. 分割与连接 5. 修剪字符串 6. 大小写转换…...

数据中台从centos升级为国产操作系统后,资源增加字段时,提交报500错误

文章目录 背景一、步骤1.分析阶段2.查看nginx3.修改用户&#xff08;也可以修改所有者权限&#xff09; 背景 故障报错&#xff1a; nginx报错信息&#xff1a; 2024/12/19 15:25:31 [crit, 500299#0: *249 onen0 " /var/lib/nginx/tmp/cient body/0000000001" f…...

centos-stream9系统安装docker

如果之前安装过docker需要删除之前的。 for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo yum -y remove $pkg; done 安装yum-utils工具&#xff1a; dnf -y install yum-utils dnf-plugins-core 设置存储库&…...

计算机网络基础20道选择题,你能答对几题?

大家好&#xff0c;我是阿祥。今天给大家准备了一场关于计算机网络基础知识的小测验&#xff0c;包含20道精选的选择题。这不仅是对大家网络知识的一次检验&#xff0c;也是一次有趣的学习机会。 IPv4地址的长度是多少位&#xff1f;A. 16位 B. 32位 C. 64位 D. 128位答案&…...

分布式协同 - 分布式事务_2PC 3PC解决方案

文章目录 导图Pre2PC&#xff08;Two-Phase Commit&#xff09;协议准备阶段提交阶段情况 1&#xff1a;只要有一个事务参与者反馈未就绪&#xff08;no ready&#xff09;&#xff0c;事务协调者就会回滚事务情况 2&#xff1a;当所有事务参与者均反馈就绪&#xff08;ready&a…...

虚幻引擎结构之UWorld

Uworld -> Ulevel ->Actors -> AActor 在虚幻引擎中&#xff0c;UWorld 类扮演着至关重要的角色&#xff0c;它就像是游戏世界的总指挥。作为游戏世界的核心容器&#xff0c;UWorld 包含了构成游戏体验的众多元素&#xff0c;从游戏实体到关卡设计&#xff0c;再到物…...

牛客网刷题 ——C语言初阶——BC114 小乐乐排电梯

1.牛客网 &#xff1a;BC114 小乐乐排电梯 题目描述&#xff1a; 小乐乐学校教学楼的电梯前排了很多人&#xff0c;他的前面有n个人在等电梯。电梯每次可以乘坐12人&#xff0c;每次上下需要的时间为4分钟&#xff08;上需要2分钟&#xff0c;下需要2分钟&#xff09;。请帮助…...

43. Three.js案例-绘制100个立方体

43. Three.js案例-绘制100个立方体 实现效果 知识点 WebGLRenderer&#xff08;WebGL渲染器&#xff09; WebGLRenderer是Three.js中最常用的渲染器之一&#xff0c;用于将3D场景渲染到网页上。 构造器 WebGLRenderer(parameters : Object) 参数类型描述parametersObject…...

验证 Dijkstra 算法程序输出的奥秘

一、引言 Dijkstra 算法作为解决图中单源最短路径问题的经典算法,在网络路由、交通规划、资源分配等众多领域有着广泛应用。其通过不断选择距离源节点最近的未访问节点,逐步更新邻居节点的最短路径信息,以求得从源节点到其他所有节点的最短路径。在实际应用中,确保 Dijkst…...

springboot 3 websocket react 系统提示,选手实时数据更新监控

构建一个基于 Spring Boot 3 和 WebSocket 的实时数据监控系统&#xff0c;并在前端使用 React&#xff0c;可以实现选手实时数据的更新和展示功能。以下是该系统的核心设计和实现思路&#xff1a; 1. 系统架构 后端 (Spring Boot 3): 提供 WebSocket 服务端&#xff0c;处理…...

SpringBoot使用Validation校验参数

准备工作 引入相关依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency> 约束性注解(简单)说明 AssertFalse可以为null,如果不为null的话必…...

AAAI-2024 | 大语言模型赋能导航决策!NavGPT:基于大模型显式推理的视觉语言导航

作者&#xff1a;Gengze Zhou, Yicong Hong, Qi Wu 单位&#xff1a;阿德莱德大学&#xff0c;澳大利亚国立大学 论文链接&#xff1a; NavGPT: Explicit Reasoning in Vision-and-Language Navigation with Large Language Models &#xff08;https://ojs.aaai.org/index.p…...

Scala迭代更新

在Scala中&#xff0c;迭代器&#xff08;Iterator&#xff09;是一种用于遍历集合&#xff08;如数组、列表、集合等&#xff09;的元素而不暴露其底层表示的对象。迭代器提供了一种统一的方法来访问集合中的元素&#xff0c;而无需关心集合的具体实现。 在Scala中&#xff0c…...

算法练习——位运算

前言&#xff1a;位运算的方法大多比较抽象&#xff0c;很难想到。 一&#xff1a;判断字符是否唯一 题目要求&#xff1a; 解题思路&#xff1a; 法一&#xff1a;使用hash的思想&#xff0c;统计每一个字母出现的次数&#xff0c;再通过一次循环遍历查询是否有超过1的字母&…...

“文件夹管理”与“标签管理”如何合理使用

在现代信息化的工作与生活环境中&#xff0c;文件夹管理与标签管理是两种常见的信息组织方法。合理使用文件夹与标签管理、提高信息检索效率、优化工作流程是实现高效信息管理的关键。其中&#xff0c;提高信息检索效率尤为重要&#xff0c;因为在海量的数据和文件中&#xff0…...

【学习总结|DAY023】Java高级技术

大家好&#xff0c;今天我们来聊聊 Java 中的几个高级技术&#xff1a;单元测试、反射、注解和动态代理。这些技术在源码、框架和架构师层面发挥着重要作用&#xff0c;掌握它们能让我们更深入地理解 Java 的底层原理&#xff0c;并提升代码质量和开发效率。 单元测试&#xf…...

java 对mongodb操作封装工具类

在 Java 中&#xff0c;封装 MongoDB 操作的工具类是非常常见的做法。使用 MongoDB 官方的 Java 驱动程序&#xff0c;结合常用的工具类封装&#xff0c;可以使得与 MongoDB 的交互更加方便和清晰。下面是一个简单的 MongoDB 操作封装工具类的示例代码。 前提 首先&#xff0…...

Spark-Streaming集成Kafka

Spark Streaming集成Kafka是生产上最多的方式&#xff0c;其中集成Kafka 0.10是较为简单的&#xff0c;即&#xff1a;Kafka分区和Spark分区之间是1:1的对应关系&#xff0c;以及对偏移量和元数据的访问。与高版本的Kafka Consumer API 集成时做了一些调整&#xff0c;下面我们…...

最大似然检测在通信解调中的应用

最大似然检测&#xff08;Maximum Likelihood Detection&#xff0c;MLD&#xff09;&#xff0c;也称为最大似然序列估计&#xff08;Maximum Likelihood Sequence Estimation&#xff0c;MLSE&#xff09;&#xff0c;是一种在通信系统中广泛应用的解调方法。其核心思想是在给…...

Bert各种变体——RoBERTA/ALBERT/DistillBert

RoBERTa 会重复一个语句10次&#xff0c;然后每次都mask不同的15%token。丢弃了NSP任务&#xff0c;论文指出NSP任务有时甚至会损害性能。使用了BPE ALBERT 1. 跨层参数共享 可以共享多头注意力层的参数&#xff0c;或者前馈网络层的参数&#xff0c;或者全部共享。 实验结果…...

力扣周赛T2-执行操作后不同元素的最大数量

给你一个整数数组 nums 和一个整数 k。 你可以对数组中的每个元素 最多 执行 一次 以下操作&#xff1a; 将一个在范围 [-k, k] 内的整数加到该元素上。 返回执行这些操作后&#xff0c;nums 中可能拥有的不同元素的 最大 数量。 示例 1&#xff1a; 输入&#xff1a; nums [1…...

uniapp 3分钟集成轮播广告图

先上效果图 顶部广告栏为 移动app常见需求&#xff0c;今天主要演示如何快速实现.这里还是基于 《星云erp-移动版》演示版 &#xff08;自行下载 导入 Hbuilder, 后端接口可以直接使用我演示接口&#xff0c;不需要修改&#xff09; 第一步: 组件选择 我们直接使用uni-swipe…...

图像修复和编辑大一统 | 腾讯北大等联合提出BrushEdit:BrushNet进阶版来了

文章链接&#xff1a;https://arxiv.org/pdf/2412.10316 项目链接&#xff1a;https://liyaowei-stu.github.io/project/BrushEdit 亮点直击 提出了BrushEdit&#xff0c;这是先前BrushNet模型的高级迭代版本。BrushEdit通过开创基于修复&#xff08;inpainting&#xff09;的图…...

极狐GitLab 17.7正式发布,可从 GitLab 丝滑迁移至极狐GitLab【二】

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料&#xff1a; 极狐GitLab 官网极狐…...

Python基础知识回顾

数据类型 Python可以区分整数&#xff08;integers、下文简写为int&#xff09;、浮点数&#xff08;float&#xff09;、字符串&#xff08;string&#xff09;和布尔值&#xff08;Boolean&#xff09;等数据类型。 1&#xff09;int是可正可负的整数 2&#xff09;float包…...

SpringCloud2023集成Nacos2.4.3

基本都是最新版&#xff0c;踩了两天的坑终于集成上了&#xff0c;实现了多环境配置。 使用版本 关键应用版本备注Java21Oracle OpenJDK 21.0.5Spring Boot3.2.4Spring Cloud2023.0.1Spring Cloud Alibaba2023.0.1.3Nacos2.4.3单机模式 nacos安装 我学习过程使用的是windows…...

数势科技指标平台, 让数据产生最大价值

近来&#xff0c;指标体系和指标平台的重要性正被越来越多的业界同仁所认可。作为行业领先的数据智能产品提供商&#xff0c;数势科技最早推出了统一指标开发管理平台这一突破性产品&#xff08;2021年获得软著&#xff09;&#xff0c;并首家完成了中国信通院数据指标管理平台…...

【玩转MacBook】Maven安装

下载Maven 官网&#xff1a; https://maven.apache.org/download.cgi 下载 Zip 类型的压缩包&#xff1a; 配置环境变量 以管理员身份编辑配置文件。注意&#xff0c;由于 MacBook 上使用了 zsh 命令行&#xff0c;所以需要编辑~/.zshrc文件而不是~/.bash_profile文件&am…...

OpenGL笔记(1)

GLFW的函数说明 GLFW: Window guide 窗口创建提示 在创建窗口和上下文之前&#xff0c;可以设置多个提示。有些提示影响窗口本身&#xff0c;另一些则影响帧缓冲区或上下文。这些提示每次通过 glfwInit 初始化库时都会被重置为默认值。 整数值的提示可以通过 glfwWindowHint …...

前端Python应用指南(二)深入Flask:理解Flask的应用结构与模块化设计

《写给前端的python应用指南》系列&#xff1a; &#xff08;一&#xff09;快速构建 Web 服务器 - Flask vs Node.js 对比 书接上文&#xff0c;这一篇将会深入了解下Flask&#xff0c;这个轻量级的Web框架&#xff0c;非常适合用来构建小型应用和快速原型开发。但是&#x…...

前端Python应用指南(三)Django vs Flask:哪种框架适合构建你的下一个Web应用?

《写给前端的python应用指南》系列&#xff1a; &#xff08;一&#xff09;快速构建 Web 服务器 - Flask vs Node.js 对比&#xff08;二&#xff09;深入Flask&#xff1a;理解Flask的应用结构与模块化设计 在上一篇博文中&#xff0c;我们深入探讨了Flask框架&#xff0c;…...

Unity3D Huatuo技术原理剖析详解

前言 在游戏开发领域&#xff0c;Unity3D凭借其强大的跨平台能力和丰富的功能&#xff0c;成为了众多开发者的首选工具。而在Unity3D的生态系统中&#xff0c;Huatuo作为一款重要的插件&#xff0c;为游戏开发带来了极大的便利。本文将深入剖析Huatuo的技术原理&#xff0c;并…...

复习打卡大数据篇——Hadoop HDFS 03

目录 1. HDFS元数据存储 2. HDFS HA 高可用 1. HDFS元数据存储 HDFS中的元数据按类型可以分为&#xff1a; 文件系统的元数据&#xff1a;包括文件名、目录名、修改信息、block的信息、副本信息等。datanodes的状态信息&#xff1a;比如节点状态、使用率等。 HDFS中的元数…...

宠物行业的出路:在爱与陪伴中寻找增长新机遇

在当下的消费市场中&#xff0c;如果说有什么领域能够逆势而上&#xff0c;宠物行业无疑是一个亮点。当人们越来越注重生活品质和精神寄托时&#xff0c;宠物成为了许多人的重要伴侣。它们不仅仅是家庭的一员&#xff0c;更是情感的寄托和生活的调剂。然而&#xff0c;随着行业…...

使用Turtle库实现,鼠标左键绘制路径,用鼠标右键结束绘制,小海龟并沿路径移动

使用Turtle库实现&#xff0c;鼠标左键绘制路径&#xff0c;用鼠标右键结束绘制&#xff0c;小海龟并沿路径移动 Turtle库是Python标准库的一部分&#xff0c;它提供了一种基于命令的图形绘制方式。Turtle模块通过一个“海龟”&#xff08;Turtle&#xff09;对象在屏幕上移动…...

海格通信嵌入式面试题及参考答案

计算电路的最高工作频率如何计算? 计算电路的最高工作频率主要考虑电路中的关键路径延迟。关键路径是指在整个电路中,信号传播延迟最长的路径。电路的最高工作频率的倒数就是时钟周期,而时钟周期必须大于关键路径的延迟时间。 首先要确定电路中各个模块的延迟。比如对于组合…...

3D几何建模引擎Parasolid功能解析

一、什么是Parasolid&#xff1f; Parasolid是由Siemens PLM Software开发的高精度精密几何建模引擎。它全面评估CAD&#xff08;计算机辅助设计&#xff09;、CAM&#xff08;计算机辅助制造&#xff09;、CAE&#xff08;计算机辅助工程&#xff09;、PLM&#xff08;产品生…...

AI的进阶之路:从机器学习到深度学习的演变(四)

AI的进阶之路&#xff1a;从机器学习到深度学习的演变&#xff08;三&#xff09; 五、深度学习的应用领域 深度学习的应用领域广泛&#xff0c;涵盖了计算机视觉、自然语言处理、语音识别和推荐系统等多个方面。以下将详细探讨这些关键应用领域&#xff0c;展示深度学习在不同…...

【ES6复习笔记】rest参数(7)

什么是 rest 参数&#xff1f; rest 参数是 ES6 引入的一个特性&#xff0c;它允许我们将一个不定数量的参数表示为一个数组。使用 rest 参数可以更方便地处理函数的参数&#xff0c;尤其是在参数数量不确定的情况下。 如何使用 rest 参数&#xff1f; 在函数定义中&#xf…...

安装MongoDB,环境配置

官网下载地址&#xff1a;MongoDB Shell Download | MongoDB 选择版本 安装 下载完成双击打开 点击mongodb-windows-x86_64-8.0.0-signed 选择安装地址 检查安装地址 安装成功 二.配置MongoDB数据库环境 1.找到安装好MongoDB的bin路径 复制bin路径 打开此电脑 -> 打开高级…...

ubuntu 网络管理

1 查看ip地址 rootu22-tools-20:~# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever…...

flask后端开发(1):第一个Flask项目

目录 一、Helloworddebug、host、port的配置 gitcode地址&#xff1a; https://gitcode.com/qq_43920838/flask_project.git 一、Helloword 一般是会创建两个文件夹和app.py app.py from flask import FlaskappFlask(__name__)app.route(/) def hello_world():return Hello…...

详解下c语言中struct和union的对齐规则

接触过c语言的同学应该都知道字节对齐。有些时候我们很容易弄错字节对齐的方式&#xff0c;特别是涉及到struct&#xff08;结构体&#xff09;和union&#xff08;联合体&#xff09;时。今天我们通过详细例子来说明下struct和union的对齐规则&#xff0c;以便了解各种struct和…...

虚拟机桥接模式网络连接不上解决方法

可能是桥接模式自动配置网络地址的时候没配好&#xff0c;自己手动配置一下。先看看windows里的wifi的ip 把虚拟机的网络设置打开ipv4把地址、子网掩码、网关输进去&#xff0c;然后再连接...

MySQL用表组织数据

用表组织数据 文章目录 用表组织数据一.四种完整性约束二.数值类型2-1三.数值类型2-2四.字符串.日期类型五.设置1.设置主键2.设置标识列3.设置非空4.设置默认值 六.主外键建立后注意事项 一.四种完整性约束 1.域完整性 列 域完整性约束方法:限制数据类型,检查约束,外键约束,默…...