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

[特殊字符] 各领域 Dummy 开关实现方式大集合

涵盖硬件、软件、工业控制、游戏开发及网络虚拟化场景:


🔌 1. 电子 / 硬件工程

🛠️ (1) 物理替代方案

  • 🧲 跳线帽(Jumper)或短路块
    👉 模拟开关“开/关”状态
    ✅ 示例:开发板上的 BOOT 模式跳线

  • ⚙️ 可调电阻 / 电位器
    👉 模拟按键按压行为

  • 🎛️ 拨码开关(DIP Switch)
    👉 模拟多路组合输入(如设备地址设置)

⚡ (2) 信号模拟

  • 🧠 微控制器 GPIO 模拟

    pinMode(2, INPUT_PULLUP);
    int switchState = digitalRead(2);
    
  • 🔊 信号发生器
    👉 通过方波模拟按键或切换动作


💻 2. 软件开发与测试

🧾 (1) 代码级实现

  • 🔘 布尔变量模拟开关

    dummy_switch = False
    if dummy_switch:execute_feature()
    
  • 📁 配置文件 / 环境变量控制

    {"features": {"new_ui": true,"payment_gateway": false}
    }
    

🧪 (2) 接口 & UI 模拟

  • 🔌 API Mock 工具(Postman / WireMock)
    👉 模拟接口行为,控制响应

  • 🖱️ UI 占位符按钮

    <button style="display: none;">暂不可用</button>
    

🏭 3. 工业自动化(PLC)

🧰 (1) PLC虚拟化编程

  • 💡 虚拟IO表(如 TIA Portal)
    👉 强制 I0.0 = 1,模拟传感器信号

  • 📟 HMI仿真按钮(WinCC)
    👉 用图形界面模拟开关

🔄 (2) Modbus 模拟器

  • 🔧 Modbus Poll 等工具
    👉 模拟设备寄存器,如地址40001开关位


🎮 4. 游戏开发 / 交互设计

🎨 (1) 占位资源

  • 🔺 立方体或球体占位
    👉 代表未完成功能的开关元素

🧠 (2) 脚本控制逻辑

  • 📜 控制变量驱动功能

    public bool isActive = false;
    if (isActive) OpenDoor();
    
  • 🚪 碰撞触发器模拟
    👉 玩家进入 trigger 区域 → 激活虚拟开关


🌐 5. 网络与系统虚拟化

🖧 (1) 虚拟网络接口

  • 🐧 Linux Dummy 接口

    sudo ip link add dummy0 type dummy
    sudo ip addr add 192.168.1.100/24 dev dummy0
    
  • 🌐 虚拟交换机(Open vSwitch / VMware)
    👉 模拟完整网络拓扑和规则

🧪 (2) 网络模拟工具

  • 🛜 GNS3 / Packet Tracer
    👉 构建虚拟路由器/交换机网络进行测试


✅ 实战选型建议表

场景推荐方式优势
硬件原型开发跳线帽 + GPIO⚡ 快速验证、低成本
软件功能测试环境变量 + Mock工具⚙️ 动态配置、隔离依赖
工业PLC调试虚拟IO + Modbus模拟器🧠 精准信号控制、无需硬件
游戏交互原型脚本变量 + 碰撞触发器🕹️ 快速迭代、交互性强
网络配置验证Dummy接口 + GNS3🌐 灵活模拟复杂网络环境

🔚 总结:Dummy开关的精髓是——

“用虚拟化手段替代物理依赖” 💡

🎯 不同领域有不同实现方式:

  • 🔌 硬件:跳线帽、GPIO

  • 💻 软件:布尔变量、配置文件

  • 🏭 工控:PLC仿真、Modbus

  • 🎮 游戏:脚本逻辑、触发器

  • 🌐 网络:虚拟接口、模拟拓扑


🧠 通过 Dummy 开关助力原型测试、风险规避、功能隔离,是工程开发中不可或缺的利器!

相关文章:

[特殊字符] 各领域 Dummy 开关实现方式大集合

涵盖硬件、软件、工业控制、游戏开发及网络虚拟化场景&#xff1a; &#x1f50c; 1. 电子 / 硬件工程 &#x1f6e0;️ (1) 物理替代方案 &#x1f9f2; 跳线帽&#xff08;Jumper&#xff09;或短路块 &#x1f449; 模拟开关“开/关”状态 ✅ 示例&#xff1a;开发板上的 B…...

AI低代码平台:开启高效智能开发新时代

科技飞速发展的当下&#xff0c;全球正加速迈向 AI 化。DeepSeek 等主流 AI 厂商的发展极大地改变了技术格局。众多企业为紧跟时代步伐&#xff0c;对高效开发工具的需求愈发迫切。百特搭AI低代码开发平台与 AI 技术的融合&#xff0c;为企业带来了开发高效化与智能化的全新解决…...

苍穹外卖2

根据id查询员工 调用顺序&#xff1a;Controller—>Service—>ServiceImpl—>Mapper—>xml 1.controller层一个tab秒了&#xff08;ai生成&#xff09; 由于result泛型中希望返回一个employee对象&#xff0c;所以定义一个employee来接受Service的getbyid方法,在…...

Redis 键(Key)详解

1. 键的基本概念 Redis 的键&#xff08;key&#xff09;是每条数据的唯一标识符。Redis 使用键来存取各种类型的数据结构&#xff0c;包括字符串、哈希、列表、集合、有序集合等。每个键都是唯一的&#xff0c;它决定了你访问哪条数据。 Redis 中所有读写操作都以键为基础&a…...

mac|使用scrcpy实现无线Android投屏

scrcpy是一个开源项目&#xff0c;从项目的releases可以得知它适用于windows、linux、mac github&#xff1a;https://github.com/Genymobile/scrcpy/releases github中提供了应用于mac系统的静态版本&#xff08;也就是上图的scrcpy-macos-aarch64-v3.1.tar.gz和scrcpy-macos…...

【智驾中的大模型 -1】自动驾驶场景中的大模型

1. 前言 我们知道&#xff0c;大模型现在很火爆&#xff0c;尤其是 deepseek 风靡全球后&#xff0c;大模型毫无疑问成为为中国新质生产力的代表。百度创始人李彦宏也说&#xff1a;“2025 年可能会成为 AI 智能体爆发的元年”。 随着科技的飞速发展&#xff0c;大模型的影响…...

Python中的eval()函数详解

文章目录 Python中的eval()函数详解基本语法基本用法安全性问题安全使用建议实际应用场景与exec()的区别性能考虑总结 Python中的eval()函数详解 eval()是Python的一个内置函数&#xff0c;用于执行字符串形式的Python表达式并返回结果。它是一个强大但需要谨慎使用的函数。 …...

网络4 OSI7层

OSI七层模型&#xff1a;数据如何传送&#xff0c;向下传送变成了什么样子 应用层 和用户打交道&#xff0c;向用户提供服务。 例如&#xff1a;web服务、http协议、FTP协议 1.用户接口 2.提供各种服务 通过浏览器&#xff08;接口&#xff09;提供Web服务 表示层 翻译 我的“…...

数字世界的免疫系统:恶意流量检测如何守护网络安全

在2023年全球网络安全威胁报告中,某跨国电商平台每秒拦截的恶意请求峰值达到217万次,这个数字背后是无数黑客精心设计的自动化攻击脚本。恶意流量如同数字世界的埃博拉病毒,正在以指数级速度进化,传统安全防线频频失守。这场没有硝烟的战争中,恶意流量检测技术已成为守护网…...

在PyCharm中出现 **全角字符与非英文符号混合输入** 的问题

在PyCharm中出现 全角字符与非英文符号混合输入 的问题&#xff08;如 &#xff11;&#xff12;&#xff14;&#xff13;&#xff14;&#xff15;&#xff44;&#xff46;&#xff53;&#xff04;&#xffe5;&#xff43;&#xff56;&#xff44;&#xff09;&#xff0…...

我的计算机网络(总览篇)

总览--网络协议的角度 在一个庞大的网络中&#xff0c;该从哪里去了解呢&#xff1f;我先细细的讲一下我们访问一个网站的全部流程&#xff0c;当我们的电脑连上网络的时候&#xff0c;就会启动DHCP协议&#xff0c;来进行IP地址&#xff0c;MAC地址&#xff0c;DNS地址的分配…...

文件IO6(开机动画的显示原理/触摸屏的原理与应用)

开机动画的显示原理 ⦁ 基本原理 一般电子产品在开机之后都会加深用户印象&#xff0c;一般开机之后都会播放一段开机动画&#xff08;视频、GIF…&#xff09;&#xff0c;不管哪种采用形式&#xff0c;内部原理都是相同&#xff0c;都是利用人类的眼睛的视觉暂留效应实现的…...

低代码开发能否取代后端?深度剖析与展望-优雅草卓伊凡

低代码开发能否取代后端&#xff1f;深度剖析与展望-优雅草卓伊凡 在科技迅猛发展的当下&#xff0c;软件开发领域新思潮与新技术不断涌现&#xff0c;引发行业内外热烈探讨。近日&#xff0c;笔者收到这样一个颇具争议的问题&#xff1a;“低代码开发能取代后端吗&#xff1f…...

反向代理断线重连优化

背景 1. 部分时候&#xff0c;反向代理因为路由重启&#xff0c;或者其他断网原因&#xff0c;等网络恢复后&#xff0c;无法对隧道重连。 2. 增加了心跳机制 在DEBUG调试过程中&#xff0c;发现禁用网卡后&#xff0c;在反向代理重连时候&#xff0c;服务器没有释放掉占用的…...

NLP中的“触发器”形式

在自然语言处理&#xff08;NLP&#xff09;中&#xff0c;触发器的设计更加依赖于文本特征&#xff0c;而非视觉特征。以下是NLP中常见的触发器类型及其实现方式&#xff1a; 1. 特定词汇或短语 定义&#xff1a;在文本中插入特定的单词、短语或符号。示例&#xff1a; 罕见…...

OJ 基础 | 输入处理

目录 一行输入一个整数&#xff1a; 一行输入2个整数 第一行有一个整数 m。接下来 m 行&#xff0c;每行两个整数 u,v &#xff1a; 一行输入一个整数&#xff1a; Nint(input()) #int类型 numinput() #字符串&#xff0c;一般用于需要去切片/遍历或者处理输入的数据 一行…...

array和list在sql中的foreach写法

在MyBatis中&#xff0c;<foreach>标签用于处理集合或数组类型的参数&#xff0c;以便在SQL语句中动态生成IN子句或其他需要遍历集合的场景。以下是array和list在SQL中的<foreach>写法总结。 <if test"taskIds ! null and taskIds.length > 0">…...

SDP(一)

SDP(Session Description Protocol)会话描述协议相关参数 Session Description Protocol Version (v): 0 --说明&#xff1a;SDP当前版本号 Owner/Creator, Session Id (o): - 20045 20045 IN IP4 192.168.0.0 --说明&#xff1a;发起者/创建者 会话ID&#xff0c;那么该I…...

STM32 模块化开发指南 · 第 2 篇 如何编写高复用的外设驱动模块(以 UART 为例)

本文是《STM32 模块化开发实战指南》的第 2 篇,聚焦于“串口驱动模块的设计与封装”。我们将从一个最基础的裸机 UART 初始化开始,逐步实现:中断支持、环形缓冲收发、模块接口抽象与测试策略,构建一个可移植、可扩展、可复用的 UART 驱动模块。 一、模块化 UART 的设计目标…...

【基于 Vue3 的原子化时间线组件实现与应用】

基于 Vue3 的原子化时间线组件实现与应用 在前端开发中&#xff0c;我们经常需要使用时间线组件来展示一系列按时间顺序排列的事件。许多项目常常重复开发类似功能&#xff0c;导致代码冗余且维护成本高。为解决这一问题&#xff0c;我们设计了一个高度可定制的原子化时间线组…...

小推桌面tv-小推电视桌面好用吗

想知道小推电视桌面是否好用&#xff1f;来一探究竟&#xff01;小推电视桌面安全稳定&#xff0c;且支持自由定制。它有影视、壁纸、酒店等多种主题&#xff0c;适配不同场景。内置小推语音助手&#xff0c;还支持第三方语音助手&#xff0c;操作便捷。自带正版影视搜索功能&a…...

深入解析嵌入式Linux系统架构:从Bootloader到用户空间 - 结合B站视频教学

B站视频链接,请多多关注本人B站&#xff1a; &#x1f4cc; Yocto项目实战教程&#xff1a;第二章 视频讲解 目录 第2章 Linux系统架构 2.1 GNU/Linux2.2 Bootloader2.3 内核空间2.4 用户空间 总结 第2章 Linux系统架构 {#linux系统架构} 嵌入式Linux系统是Linux内核的精简版…...

Asp.NET Core WebApi 配置文件

在 ASP.NET Core Web API 中&#xff0c;配置文件&#xff08;如 appsettings.json&#xff09;是管理应用程序设置的核心部分。ASP.NET Core 提供了一套灵活的配置系统&#xff0c;允许开发者从多种来源加载配置数据&#xff0c;并根据需要使用这些配置。 以下是关于如何在 A…...

pipe匿名管道实操(Linux)

管道相关函数 1 pipe 是 Unix/Linux 系统中的一个系统调用&#xff0c;用于创建一个匿名管道 #include <unistd.h> int pipe(int pipefd[2]); 参数说明&#xff1a; pipefd[2]&#xff1a;一个包含两个整数的数组&#xff0c;用于存储管道的文件描述符&#xff1a; pi…...

2025.04.10-拼多多春招笔试第三题

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 03. 数字重排最大化问题 问题描述 LYA是一位专业的数字设计师。她手中有两个数字序列 s 1 s_1...

Vue.js组件安全开发实战:从架构设计到攻防对抗

目录 开篇总述&#xff1a;安全视角下的Vue组件开发新范式 一、Vue.js组件开发现状全景扫描 二、安全驱动的Vue组件创新架构 三、工程化组件体系构建指南 四、深度攻防对抗实战解析 五、安全性能平衡策略 结语&#xff1a;安全基因注入前端开发的未来展望 下期预告&…...

质因数之和-蓝桥20249

题目&#xff1a; 代码&#xff1a;无脑直接根据题目&#xff0c;一步步操作就行 #include <iostream> using namespace std;int gcd(int a,int b){if(b0) return a;return gcd(b,a%b); }bool exist_gcd(int a,int b){if(gcd(a,b)1) return false;return true; }bool is…...

《栈区、堆区和静态区:内存管理的三大支柱》

&#x1f680;个人主页&#xff1a;BabyZZの秘密日记 &#x1f4d6;收入专栏&#xff1a;C语言 &#x1f30d;文章目入 一、栈区&#xff08;Stack&#xff09;&#xff08;一&#xff09;栈区的定义&#xff08;二&#xff09;栈区的特点&#xff08;三&#xff09;栈区的使用…...

Rust Command无法执行*拓展解决办法

async fn run_cmd_async_out<I, S>(cmd: &str, args: I, timeout_s: u64, with_http_proxy: bool) -> Result<String> whereI: IntoIterator<Item S>,S: AsRef<OsStr>, {let mut cmd tokio::process::Command::new(cmd);// 让 sh 来运行命令&…...

AI 笔记 - 开源轻量级人脸检测项目

开源轻量级人脸检测项目 引言项目解析[libfacedetection 于仕琪](https://github.com/ShiqiYu/libfacedetection)[Ultra-Light-Fast-Generic-Face-Detector-1MB Linzaer](https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB)[A-Light-and-Fast-Face-Detec…...