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

用 ESP32 模拟 Wiegand 刷卡器:开发门禁系统必备的小工具

在这里插入图片描述

网罗开发 (小红书、快手、视频号同名)

  大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。

图书作者:《ESP32-C3 物联网工程开发实战》
图书作者:《SwiftUI 入门,进阶与实战》
超级个体:COC上海社区主理人
特约讲师:大学讲师,谷歌亚马逊分享嘉宾
科技博主:华为HDE/HDG

我的博客内容涵盖广泛,主要分享技术教程、Bug解决方案、开发工具使用、前沿科技资讯、产品评测与使用体验。我特别关注云服务产品评测、AI 产品对比、开发板性能测试以及技术报告,同时也会提供产品优缺点分析、横向对比,并分享技术沙龙与行业大会的参会体验。我的目标是为读者提供有深度、有实用价值的技术洞察与分析。

展菲:您的前沿技术领航员
👋 大家好,我是展菲!
📱 全网搜索“展菲”,即可纵览我在各大平台的知识足迹。
📣 公众号“Swift社区”,每周定时推送干货满满的技术长文,从新兴框架的剖析到运维实战的复盘,助您技术进阶之路畅通无阻。
💬 微信端添加好友“fzhanfei”,与我直接交流,不管是项目瓶颈的求助,还是行业趋势的探讨,随时畅所欲言。
📅 最新动态:2025 年 3 月 17 日
快来加入技术社区,一起挖掘技术的无限潜能,携手迈向数字化新征程!


文章目录

    • 前言
    • 应用场景举个例子
    • 项目目标
    • 完整的功能流程长这样:
    • 场景实战:用 ESP32 模拟“刷卡器”发卡号
      • 举个例子:
      • 连接示意:
    • 代码解读:一步步拆给你看
      • 应用主程序:发数据这一步怎么写的?
      • 底层逻辑:两个定时器配合完成整个数据发送流程
    • 小结
    • 实战建议和注意事项
    • 可以扩展成什么?
    • 写在最后

前言

在做门禁相关项目的时候,Wiegand 协议是一种特别常见的数据通信方式。你如果用过门禁卡,大概率你刷卡那一瞬间,读卡器和控制器之间就是靠 Wiegand 协议在通信。

这次我们用 ESP32 实现一个简易的“Wiegand 模拟发卡器”,也可以叫“刷卡模拟器”。通过这套代码,你可以模拟发一段刷卡数据,验证接收端的反应。对于做硬件联调或者自动化测试特别有用。

应用场景举个例子

假设你现在在开发一个刷卡开门的控制器,但还没有卡、没有读卡器,那你怎么测试这个控制器有没有响应“刷卡”?

答案就是:用 ESP32 模拟一个“刷卡器”发出刷卡数据(比如模拟卡号),假装有人刷了卡,然后你观察控制器的反应(比如是否开门、是否打日志),就可以验证系统了。

项目目标

我们要用 ESP32,基于两个 GPIO 引脚,按照 Wiegand 协议的格式,发一段“卡号数据”,这个数据是我们自己设定的,发送方式用两个定时器(脉冲定时器和间隔定时器)配合完成。

完整的功能流程长这样:

  1. 配置两个 GPIO(模拟 Wiegand 的 DATA0 和 DATA1)
  2. 初始化定时器,精确控制发每一位 bit 的节奏
  3. 按照协议格式,从高位到低位依次发出数据
  4. 发完一段数据后,恢复空闲状态

场景实战:用 ESP32 模拟“刷卡器”发卡号

举个例子:

我们设定一个卡号:0x5a5a5a5a,用 Wiegand 的 26 位格式发送。你连上逻辑分析仪,就可以看到数据一个 bit 一个 bit 地从 GPIO0 / GPIO2 交替输出了,像极了真实刷卡时的波形。

连接示意:

ESP32 GPIO0 ——> 接收设备的 DATA0  
ESP32 GPIO2 ——> 接收设备的 DATA1  
GND          ——> 接收设备的 GND

代码解读:一步步拆给你看

下面我们分段解读一下这套代码,看看背后到底是怎么实现的。

应用主程序:发数据这一步怎么写的?

#define DATA_PIN0_GPIO      GPIO_NUM_0
#define DATA_PIN1_GPIO      GPIO_NUM_2
uint64_t wiegand_data = 0x5a5a5a5a;

我们定义了两个 GPIO,一个负责发“0”,一个负责发“1”。

wiegand_io_config_t wiegand_io_config = {.data_pin0 = DATA_PIN0_GPIO,.data_pin1 = DATA_PIN1_GPIO,.pulse_width_us = 50,       // 每个脉冲的低电平持续 50us.interval_width_us = 1000,  // 每个位之间的间隔是 1ms
};

这是我们整个模拟器的节奏:50 微秒的“拉低”,1 毫秒一个节奏位。

ESP_ERROR_CHECK(wiegand_new_io(&wiegand_io_config, &wiegand_io_handle));
ESP_ERROR_CHECK(wiegand_io_send(wiegand_io_handle, &wiegand_data, 26));

第一行是初始化接口,第二行开始“发数据”。注意这里只发了 26 位(Wiegand 26 是最常见的格式)。

底层逻辑:两个定时器配合完成整个数据发送流程

间隔定时器的任务是啥?
→ 每隔一段时间(1ms)发送下一位。

脉冲定时器的任务是啥?
→ 控制当前 bit 拉低多久(比如 50 微秒),然后立刻拉高,形成脉冲。

if (*wiegand_io->current_data & wiegand_io->bit_mask) {gpio_set_level(wiegand_io->data_pin1, 0); // 当前位是 1,拉低 DATA1
} else {gpio_set_level(wiegand_io->data_pin0, 0); // 当前位是 0,拉低 DATA0
}

看清楚了吧?真正决定发哪一根线的,是 current_data 当前位的值。

if (!(wiegand_io->bit_mask >>= 1)) {xSemaphoreGiveFromISR(wiegand_io->sem, &task_woken); // 发完所有 bit
}

当所有 bit 都发完,就释放信号量告诉主程序结束了。

小结

模块名干了什么事
wiegand_new_io初始化 GPIO 和定时器
wiegand_io_send设置要发的数据和 bit 数,启动定时器
interval_timer_cb控制每一位的发送节奏,判断发 0 还是 1
pulse_timer_cb控制信号拉低多久后再拉高,形成 Wiegand 脉冲

实战建议和注意事项

  • 信号默认要拉高,因为 Wiegand 是低电平脉冲,所以空闲状态必须是高电平。
  • Wiegand 的时间非常敏感,建议用定时器控制节奏,不要自己 vTaskDelay 那种不精确的方法。
  • 接收端要注意防抖,不然可能误读。
  • 数据位数必须匹配,Wiegand 有 26、34、37、44 位等格式,收发两端必须一致。

可以扩展成什么?

你可以把这套“刷卡模拟器”继续扩展,做出更多有趣的玩法:

  • 加个按键或触摸屏,刷不同的卡号
  • 加个蓝牙/WiFi,远程控制刷卡
  • 联动门禁控制器做自动化测试(比如连跑 100 次,测系统稳定性)

写在最后

这个项目看起来小,但它真的很适合练手,特别是对初学者来说:
你可以熟悉 GPIO、定时器、信号节奏控制这些关键技能,还能模拟真实场景做系统测试。

相关文章:

用 ESP32 模拟 Wiegand 刷卡器:开发门禁系统必备的小工具

网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…...

什么是 MCP?与 AI Agent 的关系是什么?

首先先回答一下什么是MCP? 如果你经常使用像Claude这样的大语言模型,你可能已经注意到它们虽然强大,但有时候也有局限性,比如无法获取实时信息或访问特定工具。 模型上下文协议(Model Context Protocol,简…...

Python ZIP文件操作全解析:从基础压缩到高级技巧

目录 一、ZIP文件操作基础三板斧 1.1 创建压缩包 1.2 解压操作 1.3 文件遍历与信息获取 二、进阶技巧:让压缩更智能 2.1 加密压缩实战 2.2 增量更新策略 2.3 性能优化技巧 三、高级场景解决方案 3.1 分卷压缩实现 3.2 跨平台路径处理 3.3 异常处理最佳实…...

Linux:进程的等待

当以一个进程结束时,它会变成僵尸进程,这个僵尸进程如果不处理,就会一直占用CPU资源,如果父进程要回收这个进程会通过进程等待的方式处理,回收子进程只会,会得到进程的退出信息 进程等待 父进程通过进程等…...

玉米产量遥感估产系统的开发实践(持续迭代与更新)

项目地址:项目首页 - maize_yield_estimation:玉米估产的flaskvue项目 - GitCode 开发中,敬请期待。。。 以下是预先写的提纲,准备慢慢补充 一、项目背景与工程目标 业务需求分析 农业遥感估产的行业痛点(数据分散、模型精度不足…...

Python解析地址中省市区街道

Python解析地址中省市区街道 1、效果 输入:海珠区沙园街道西基村 输出: 2、导入库 pip install jionlp3、示例代码 import jionlp as jiotext 海珠区沙园街道西基村 res jio.parse_location(text, town_villageTrue) print(res)...

论文学习:《聚类矩阵正则化指导的层次图池化》

原文标题:Clustering matrix regularization guided hierarchical graph pooling 原文链接:https://www.sciencedirect.com/science/article/abs/pii/S0950705125001558 图池化技术大致可以分为两类:平面图池化和层次图池化。后者通过迭代粗化…...

【金仓数据库征文】- 国产化迁移实战:从Oracle到KingbaseES的平滑过渡

文章目录 引言:国产数据库的崛起与迁移需求一、兼容性架构设计与配置优化1.1 Oracle兼容模式的核心实现1.2 潜在语法差异的深度处理1.3 环境预配置关键技术1.3.1 用户与模式映射1.3.2 字符集与日期格式 1.4 深度兼容模式配置1.4.1 语法兼容开关1.4.2 数据类型映射策…...

「零配置陷阱」:现代全栈工具链的复杂度管控实践

一、工具链膨胀的「死亡螺旋」 2024年典型全栈项目的初始化噩梦: $ npm create vitelatest ✔ Project name: … demo ✔ Select a framework: › React ✔ Select a variant: › TypeScript SWC ✔ Install shadcn/ui? … Yes ✔ Add Storybook? … Yes ✔ Co…...

浅析锁的应用与场景

锁的应用与场景:从单机到分布式 摘要:在多线程和分布式系统中,“锁”是避免资源竞争、保障数据一致性的核心机制。但你真的了解锁吗?什么时候该用锁?用哪种锁?本文通过通俗的比喻和代码示例,带…...

图论---Kruskal(稀疏图)

O( m * log n )。 1&#xff0c;将所有边按权重从小到大排序&#xff0c;调用系统的sort() 2&#xff0c;枚举每条边的 a , b ,权重 if(a、b 不联通) 就将这条边加入集合中 // 最小生成树 —Kruskal算法(稀疏图) #include<iostream> #include<algorithm> using …...

MySQL 从入门到精通:第二篇 - 数据类型、约束与索引

1. MySQL数据类型详解 数值类型 整数类型 -- 常用整数类型及范围 CREATE TABLE integer_types (tiny_col TINYINT, -- 1字节,有符号(-128~127),无符号(0~255)small_col SMALLINT, -- 2字节,有符号(-32768~32767),无符号(0~65535)medium_col MEDIUMINT,...

基于AI技术的高速公路交通引流系统设计与应用研究

基于AI技术的高速公路交通引流系统设计与应用研究 1. 研究背景与意义 1.1 交通系统演化脉络 1.1.1 发展阶段划分 机械化时代&#xff08;1950-1990&#xff09;&#xff1a;固定式信号控制信息化时代&#xff08;1991-2010&#xff09;&#xff1a;SCATS/SCOOT系统智能化时代…...

n8n 中文系列教程_09. 从原始需求到精准实现:n8n节点选择指南

在自动化工作流工具n8n中&#xff0c;正确选择和使用节点是高效实现需求的关键。本文将从需求分析入手&#xff0c;逐步解析触发节点与执行节点的区别&#xff0c;梳理n8n的节点分类逻辑&#xff0c;并揭示外部服务节点的本质&#xff0c;帮助您精准匹配需求与实现方案。无论您…...

P19:Inception v1算法实战与解析

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、模型结构 Inception V1 的主要特点是在一个网络中同时使用不同大小的卷积核&#xff08;1x1、3x3、5x5&#xff09;和池化操作来提取多尺度特征。以下是…...

day32 学习笔记

文章目录 前言一、霍夫变换二、标准霍夫变换三、统计概率霍夫变换四、霍夫圆变换 前言 通过今天的学习&#xff0c;我掌握了霍夫变换的基本原本原理及其在OpenCV中的应用方法 一、霍夫变换 霍夫变换是图像处理中的常用技术&#xff0c;主要用于检测图像中的直线&#xff0c;圆…...

2025时间序列都有哪些创新点可做——总结篇

作为AI和数据科学的核心方向之一&#xff0c;时间序列在2025年依然保持着强劲的发展势头&#xff0c;稳站各大顶会顶刊投稿主题前列。 关于它的研究&#xff0c;目前在结合传统统计方法和深度学习的基础上&#xff0c;已延伸至频域等数理工具与神经网络的交叉创新。同时针对垂…...

头歌实训之索引

&#x1f31f; 各位看官好&#xff0c;我是maomi_9526&#xff01; &#x1f30d; 种一棵树最好是十年前&#xff0c;其次是现在&#xff01; &#x1f680; 今天来学习C语言的相关知识。 &#x1f44d; 如果觉得这篇文章有帮助&#xff0c;欢迎您一键三连&#xff0c;分享给更…...

通讯的基础概念:涵盖串行通信、并行通信、TCP、UDP、Socket 等关键概念和技术

一、通信基础概念 1. 串行通信与并行通信 串行通信 定义&#xff1a;通过一条线路逐位传输数据&#xff0c;每个字节包含起始位、数据位、校验位和停止位。特点&#xff1a; 传输稳定&#xff0c;但速度较慢&#xff08;因逐位传输&#xff09;。常用接口&#xff1a;RS-232、…...

Uni-App 多端电子合同开源项目介绍

项目概述 本项目是一款基于 uni-app框架开发的多端电子合同管理平台&#xff0c;旨在为企业及个人用户提供高效、安全、便捷的电子合同签署与管理服务。项目创新性地引入了 “证据链”与“非证据链”两种签署模式&#xff0c;满足不同场景下的签署需求&#xff0c;支持多种签署…...

一个非常快速的 Latex 入门教程【Part 1】

目录 1.LaTex简介 2.LaTex 中最基础的格式化命令 2.1加粗&#xff0c;斜体&#xff0c;下划线&#xff0c;添加新段落 2.2文档分节 2.3 图片 2.4 LaTeX 中列表的创建 无序列表 有序列表 2.5对数学公式的排版 2.6表格 1.LaTex简介 LaTex的主要优势是它会将文…...

用Obsidian四个插件打造小说故事关联管理系统:从模板到图谱的全流程实践

用Obsidian四个插件打造小说故事关联管理系统&#xff1a;从模板到图谱的全流程实践 一、前言&#xff1a;为什么需要故事关联管理系统 在小说创作中&#xff0c;复杂的人物关系、交错的情节线和多维的世界观常导致创作混乱。本文将通过 Dataview&#xff08;数据查询&#xf…...

C++ 日志系统实战第三步:熟悉掌握各种设计模式

全是通俗易懂的讲解&#xff0c;如果你本节之前的知识都掌握清楚&#xff0c;那就速速来看我的项目笔记吧~ 相关技术知识补充&#xff0c;也是最后的补充知识了~ 下文将加入项目代码编写&#xff01; 目录 设计模式 单例模式 饿汉模式 懒汉模式 工厂模式 简单…...

[ESP-IDF]:esp32-camera 使用指南 ESP32S3-OV2640 用例测试

【核知坊】&#xff1a;释放青春想象&#xff0c;码动全新视野。 我们希望使用精简的信息传达知识的骨架&#xff0c;启发创造者开启创造之路&#xff01;&#xff01;&#xff01; 内容摘要&#xff1a;esp32-camera 组件为 ESP32 系列 SoC 提供了兼容的图…...

在统信UOS/麒麟Kylin OS中创建网页桌面快捷方式

在统信UOS/麒麟Kylin OS中创建网页桌面快捷方式 本文将详细介绍如何在统信UOS或麒麟KYLINOS中使用命令行创建一个网页桌面快捷方式&#xff0c;以方便构建云桌面模板及镜像模板。欢迎大家浏览、分享和转发&#xff01;请关注我以获取更多技术分享。 1. 查看系统信息 首先&am…...

SQLite 是什么?

&#x1f4cc; 一、SQLite 是什么&#xff1f; SQLite 是一个轻量级、嵌入式数据库&#xff0c;意思是它直接集成在你的 App 内部&#xff0c;不需要单独安装数据库服务端。 ✅ 特点&#xff1a; 特点说明本地使用所有数据保存在手机内部存储文件形式数据以 .db 文件形式存储…...

恒创科技「香港大带宽云」新老用户专享实例及热门配置

全球化数字浪潮下&#xff0c;高带宽应用正深度重构各行业运营模式——从跨境电商、流媒体与视频点播&#xff0c;到在线游戏与云游戏加速&#xff0c;涵盖所有高并发、强交互的业务场景。在此背景下&#xff0c;企业对高性能 IT 基础架构的需求持续升级&#xff0c;以此来支持…...

fpga系列 HDL:verilog latch在fpga中的作用 避免latch的常见做法

目录 Latch在FPGA中的作用Quartus中有关latch的警告⚠避免Latch的常见做法1. if-else 语句未覆盖所有条件生成Latch的代码&#xff1a;修复后的代码&#xff1a; 2. case语句未覆盖所有分支生成Latch的代码&#xff1a;修复后的代码&#xff1a; 3. 组合逻辑中缺少默认赋值生成…...

java配置

环境变量...

解决虚拟主机ping不通本地主机问题

win11 1 问题 虚拟主机和本地主机在同一网段。 2 解决方案 以win11为例&#xff1a; 设置 -> 网络和 Internet -> 高级网路设置 -> Windows 防火墙 -> 高级设置 -> 入站规则 -> 新建规则 需要设置&#xff1a;规则类型、 协议和端口、名称&#xff0c;其…...

Move Registry 发布,实现 Sui 的超级互操作性

Move Registry&#xff08;MVR&#xff09;的到来对 Sui 来说是一件大事。MVR 是一个功能齐全的链上包管理系统&#xff0c;提升了整个生态的可发现性、可信度和互操作性。Sui 本身就是最具互操作性的链之一&#xff0c;凭借 Move 语言和可编程交易区块&#xff08;PTBs&#x…...

【Linux】gdb工具,Linux 下程序调试的 “透视眼”

目录 调试代码调试注意事项gdb和Cgdb调试命令汇总行号显示断点设置查看断点信息删除断点开启 / 禁用断点运行 / 调试逐过程和逐语句打印 / 追踪变量指定行号跳转强制执行函数 补充命令watchset var 替换变量值条件断点 end 调试代码 这是本次调试要用的代码 1 #include <st…...

脚本分享:快速作图对比wannier拟合能带python脚本

本脚本通过Python实现电子能带结构数据的快速作图&#xff0c;能够从两个不同的数据文件&#xff08;BAND.dat 和 wannier90_band.dat&#xff09;中提取有效数据&#xff0c;并在同一坐标系下绘制对比图。 准备工作&#xff1a;使用VASPKIT处理获得能带数据BAND.dat&#xff…...

解决ssh拉取服务器数据,要多次输入密码的问题

问题在于&#xff0c;每次循环调用 rsync 都是新开一个连接&#xff0c;所以每次都需要输入一次密码。为了只输入一次密码&#xff0c;有以下几种方式可以解决&#xff1a; ✅ 推荐方案&#xff1a;设置 SSH 免密登录 最稳最安全的方式是&#xff1a;配置 SSH 免密登录&#x…...

金仓数据库 KingbaseES 产品深度优化提案:迈向卓越的全面升级

文章目录 一、引言二、性能优化&#xff08;一&#xff09;查询性能提升1. 优化查询优化器引入基于代价的查询优化算法支持更多的查询优化提示 2. 索引优化支持更多类型的索引优化索引的创建和维护策略 &#xff08;二&#xff09;并发处理能力增强1. 锁机制优化采用更细粒度的…...

企业级智能合同管理解决方案升级报告:道本科技携手DeepSeek打造智能合同管理新标杆

当传统合同管理系统还在与堆积如山的纸质文档较劲时&#xff0c;道本科技与DeepSeek联合开发的智能合同平台已为国央企打开新视界。我们以某大型能源集团的实际应用为例&#xff0c;带您直观感受技术升级带来的管理变革。 一、技术升级的具象化呈现 在未接入DeepSeek技术前&a…...

C#并行编程极大提升集合处理速度,再也没人敢说你程序性能差了!

马工撰写的年入30万C#上位机项目实战必备教程&#xff08;点击下方链接即可访问文章目录&#xff09; 1、《C#串口通信从入门到精通》 2、《C#与PLC通信从入门到精通 》 3、《C# Modbus通信从入门到精通》 4、《C#Socket通信从入门到精通 》 5、《C# MES通信从入门到精通》 6、…...

[贪心_7] 最优除法 | 跳跃游戏 II | 加油站

目录 1.最优除法 题解 2.跳跃游戏 II 题解 3.加油站 题解 利用 单调性&#xff0c;可以实现 区间跳跃 1.最优除法 链接&#xff1a; 553. 最优除法 给定一正整数数组 nums&#xff0c;nums 中的相邻整数将进行浮点除法。 例如&#xff0c;nums [2,3,4]&#xff0c;我…...

【Rust】Rust中的枚举与模式匹配,原理解析与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…...

【CUDA 编译 bug】ld: cannot find -lcudart

我们使用 Conda 安装 pytorch 和 CUDA 环境之后&#xff0c;要用 Conda 的CUDA环境进行某个库编译时&#xff0c;出现了bug&#xff1a; /mnt/data/home/xxxx/miniforge3/envs/GAGAvatar/compiler_compat/ld: cannot find -lcudart: No such file or directorycollect2: error…...

MYSQL之数据类型

数据类型分类 数值类型 在MySQL中, 整型可以指定是有符号的和无符号的, 默认是有符号的. 可以通过 UNSIGNED 来说明某个字段是无符号的. tinyint类型 以tinyint为例, 其它的整型类型都只是数据范围的区别. 数据越界 创建一个 tinyint 类型的 num 的属性, 大小为 1 字节, 不…...

Asp.Net Core 异常筛选器ExceptionFilter

文章目录 前言一、异常筛选器的核心概念用途&#xff1a;实现接口&#xff1a;执行时机&#xff1a; 二、使用步骤1.创建自定义异常筛选器2.注册异常筛选器全局注册&#xff08;对所有 Controller 生效&#xff09;&#xff1a;局部注册&#xff08;通过特性标记特定的 **Contr…...

WebUI可视化:第2章:技术基础准备

学习目标 ✅ 掌握HTML/CSS基础语法 ✅ 理解JavaScript核心功能 ✅ 了解前后端交互原理 2.1 HTML基础:网页的骨架 2.1.1 基础结构 每个HTML文件都必须包含以下基本结构: html <!DOCTYPE html> <html> <head><title>我的第一个网页</title> …...

Java基础集合 面试经典八股总结 [连载ing]

序言 八股&#xff0c;怎么说呢。我之前系统学习的内容&#xff0c;进行梳理。通过问题的方式&#xff0c;表达出得当的内容&#xff0c;这件事本身就很难。面试时心态、状态、掌握知识的情况等。关于八股文&#xff0c;我不想有太多死记硬背的内容&#xff0c;更多的是希望自我…...

大数据运维面试题

华为大数据运维面试题可能涵盖多个方面&#xff0c;以下是一些可能的面试问题及解析&#xff0c;这些问题旨在考察应聘者的技术知识、问题解决能力和对大数据运维的理解&#xff1a; 一、技术知识类问题 简述大数据运维的主要职责和工作内容 回答示例&#xff1a;大数据运维工…...

OpenBMC:BmcWeb login认证

BmcWeb在include\login_routes.hpp中实现了/login用于完成web的登录: BMCWEB_ROUTE(app, "/login").methods(boost::beast::http::verb::post)(handleLogin);inline void handleLogin(const crow::Request& req,const std::shared_ptr<bmcweb::AsyncResp>…...

Python学习之路(五)-接口API

在 Python 中结合数据库开发接口 API 通常使用 Web 框架(如 Flask 或 Django)和 ORM(对象关系映射)工具(如 SQLAlchemy 或 Django ORM)。以下是使用 Flask 和 SQLAlchemy 的详细步骤,展示如何结合数据库开发一个简单的 API。 使用 Flask 和 SQLAlchemy 开发 API 1. 安…...

数据库+Docker+SSH三合一!深度评测HexHub的全栈开发体验

作为一名技术博主&#xff0c;我最近一直被各种开发工具切换搞得焦头烂额。数据库要用Navicat&#xff0c;服务器管理得开Termius&#xff0c;Docker操作还得切到命令行&#xff0c;每天光在不同工具间切换就浪费了大量时间。直到团队里的一位架构师向我推荐了HexHub这个一体化…...

涂料油墨制造数字化转型的关键技术与挑战

涂料油墨制造行业正处于数字化转型的关键时期&#xff0c;这一转型是提升生产效率、增强产品质量和降低成本的重要途径。以下是该行业在数字化转型中的关键技术与面临的挑战&#xff1a; 关键技术&#xff1a; 工业互联网技术&#xff1a;通过在生产设备上安装传感器&#xf…...

UE5 调整字体、界面大小

文章目录 方案一 5.4 版本及以上&#xff08;推荐&#xff09;方案二 5.3 版本及以下&#xff08;推荐&#xff09;方案三 使用插件&#xff08;不推荐&#xff09; 方案一 5.4 版本及以上&#xff08;推荐&#xff09; 进入 编辑 > 编辑器偏好设置&#xff0c;如下图所示&…...