开源智能家居中枢HomeButler:本地优先、插件化架构与自动化实践

news2026/4/29 12:24:02
1. 项目概述一个开源的智能家居中枢最近在折腾智能家居发现市面上的中枢方案要么太贵要么太封闭要么就是功能上差点意思。作为一个喜欢自己动手的开发者我一直在寻找一个能完全掌控在自己手里又能灵活扩展的智能家居核心。直到我遇到了 Higangssh/homebutler 这个项目它让我眼前一亮。简单来说HomeButler 是一个开源的、基于 Web 的智能家居自动化平台。你可以把它理解为你家所有智能设备的“大脑”和“指挥中心”。它不依赖于任何特定的商业云服务所有数据和处理都在你自己的服务器上完成这意味着你的隐私和数据安全得到了最大程度的保障。它支持通过插件他们称之为“适配器”来连接各种各样的设备从 Zigbee、Z-Wave 这类无线协议设备到通过 HTTP、MQTT 通信的 DIY 硬件再到 Philips Hue、Yeelight 等品牌的 Wi-Fi 灯具理论上只要有人为它编写适配器就能接入。这个项目最适合谁呢首先它适合像我这样有一定技术基础不满足于现成商业方案希望拥有更高自由度和控制权的极客或开发者。其次它也适合那些对数据隐私极其敏感不希望自己的家居数据流到第三方服务器的用户。最后对于想要学习智能家居后端架构、自动化规则引擎设计甚至想贡献代码的开发者来说HomeButler 的代码库也是一个很好的学习样本。2. 核心架构与设计理念拆解2.1 为什么选择自建中枢而非商业方案在深入 HomeButler 的细节之前我们得先聊聊为什么需要自建。市面上的智能家居平台如某米、某家或者苹果的 HomeKit它们提供了“开箱即用”的便利但代价是失去了控制权。你的设备状态、自动化触发条件、甚至你什么时候回家这些数据都存储在厂商的服务器上。平台一旦停止服务或者更改策略你的智能家居就可能变成“智障家居”。HomeButler 的设计哲学是“本地优先云端可选”。所有核心的自动化逻辑、设备状态管理都在你本地部署的服务器上运行。网络断开时基础的自动化如人体传感器触发灯光依然可以正常工作。云端服务在这里仅作为可选的辅助功能比如用于远程访问通过内网穿透或自建反向代理实现更安全或集成一些必须依赖外部 API 的服务如天气预报。这种架构将主动权完全交还给了用户。2.2 微内核与插件化高度可扩展的基石HomeButler 的核心非常精简它采用了微内核架构。这个内核只负责最基础的工作插件的生命周期管理、事件总线的调度、自动化规则的解析与执行以及提供一个统一的 RESTful API 和 WebSocket 接口供前端界面调用。所有具体的设备连接、协议转换、服务集成功能都通过“适配器”Adapter插件来实现。这种设计带来了巨大的灵活性技术栈自由适配器可以用任何语言编写只要它能通过标准接口与内核通信社区可以用 Python 写一个复杂的图像识别适配器用 Go 写一个高性能的 Zigbee 网关适配器用 Node.js 写一个集成某音乐服务的适配器。独立更新与隔离一个适配器崩溃了不会导致整个系统宕机内核可以将其重启或隔离其他功能不受影响。社区驱动生态项目的生命力在于生态。HomeButler 官方维护一部分核心适配器如 MQTT、WebHook而更多的设备支持则依靠社区贡献。你可以在项目的插件市场或代码仓库的适配器目录中找到各种第三方适配器。这种插件化设计使得 HomeButler 从一个具体的智能家居解决方案变成了一个“智能家居平台框架”。你可以根据自家的设备情况像搭积木一样组装出最适合自己的系统。2.3 事件驱动与自动化引擎智能家居的“智能”体现在自动化上。HomeButler 的自动化引擎是其灵魂。它基于“事件-条件-动作”ECA模型但实现得更为强大和直观。事件Event系统中任何状态变化都可以作为事件。例如“客厅运动传感器状态变为motion”、“时间到达晚上7点”、“天气适配器报告‘开始下雨’”。条件Condition用于过滤事件判断是否执行动作。条件可以是简单的布尔判断如“客厅灯当前是关闭状态”也可以是复杂的逻辑组合如“且室外光照度低于100 lux”。动作Action满足条件后执行的操作。可以是控制一个设备“打开客厅主灯”调用一个服务“在电视上弹出通知”或者触发另一个事件从而形成自动化链。HomeButler 的自动化规则可以通过图形化界面前端来配置这对于普通用户非常友好。但对于开发者它也提供了直接编辑底层规则脚本通常是 YAML 或 JSON 格式的能力可以实现更复杂的逻辑比如循环、延迟、调用外部 HTTP API 等。注意在设计复杂自动化时要特别注意规则的执行顺序和可能产生的循环触发。例如一个规则是“当光照暗时开灯”另一个规则是“当灯打开时如果没人就关灯”如果条件没设好可能会在无人时导致灯不停地开开关关。HomeButler 内核有基本的防循环机制但编写规则时自己理清逻辑仍是关键。3. 部署与环境搭建实操指南3.1 硬件与系统选择HomeButler 本身对硬件要求不高一个树莓派 4B2GB内存版就足以支撑一个拥有几十个设备的典型家庭。当然如果你计划运行大量需要计算的适配器如视觉识别或者设备数量庞大上百个那么考虑使用 x86 架构的迷你主机或旧笔记本改造的服务器会更稳妥。操作系统首选各种 Linux 发行版。Ubuntu Server LTS 或 Debian 是社区支持最好的教程和问题解决方案也最多。我个人更倾向于 Debian因为它更精简稳定。如果你对 Docker 非常熟悉那么在任何支持 Docker 的系统包括 Windows Server 和 macOS上部署也是可行的但 Linux 仍是生产环境的首选。3.2 三种主流部署方式详解HomeButler 提供了多种部署方式适应不同用户的技术偏好。方式一裸机安装最直接适合学习这是最传统的安装方式适合想在纯净系统上理解其所有组件依赖的用户。安装基础依赖首先在 Linux 系统上安装 Node.js版本需参考项目最新要求通常是最新的 LTS 版本、Python3、Git 和必要的编译工具如 gcc, make。sudo apt update sudo apt install -y nodejs npm python3 python3-pip git build-essential # 可能需要通过 NodeSource 仓库安装更新的 Node.js curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt install -y nodejs克隆代码与安装获取 HomeButler 的源代码并安装项目依赖。git clone https://github.com/Higangssh/homebutler.git cd homebutler npm install # 或使用 yarn/pnpm配置与运行复制示例配置文件根据注释修改数据库连接、日志级别、插件路径等设置。然后启动服务。cp config/config.example.yaml config/config.yaml nano config/config.yaml # 进行必要修改 npm start这种方式让你对项目结构一目了然调试方便但需要手动管理进程守护如用 systemd 或 pm2和更新。方式二Docker 部署推荐便于维护这是目前最主流和推荐的部署方式利用 Docker 实现了环境隔离和一键部署。安装 Docker 和 Docker Compose确保你的系统上已经安装了 Docker 引擎和 Docker Compose 插件。准备 Docker Compose 文件在项目根目录或自定义目录下创建一个docker-compose.yml文件。一个典型的配置如下version: 3.8 services: homebutler: image: ghcr.io/higangssh/homebutler:latest # 使用官方镜像 container_name: homebutler restart: unless-stopped ports: - 8080:8080 # 将容器的8080端口映射到宿主机的8080端口 volumes: - ./data:/app/data # 持久化数据目录 - ./config:/app/config # 持久化配置目录 environment: - NODE_ENVproduction # 如果需要使用宿主机的USB设备如Zigbee棒需要添加设备映射和特权模式 # devices: # - /dev/ttyUSB0:/dev/ttyUSB0 # privileged: true启动服务在包含docker-compose.yml的目录下执行一条命令即可。docker-compose up -d服务启动后通过浏览器访问http://你的服务器IP:8080就能看到 Web 管理界面。所有数据都保存在你挂载的./data目录下即使容器重建也不会丢失。方式三使用第三方管理工具如 CasaOS、Umbrel如果你的硬件设备是预装了 CasaOS 或 Umbrel 这类“家庭服务器操作系统”的部署会更简单。这些系统通常提供了应用商店你可以像安装手机 App 一样一键安装 HomeButler。这种方式极大简化了部署但可能无法使用最新的版本且对底层配置的控制力较弱。实操心得对于长期稳定运行的生产环境我强烈推荐Docker Compose 部署。它不仅简化了安装和升级流程只需拉取新镜像并重启容器更重要的是通过卷Volume将数据持久化与容器生命周期解耦。在配置文件中务必注意端口不要与其他服务冲突并妥善设置数据卷的路径。首次启动后记得通过docker logs homebutler查看日志确保服务正常启动。3.3 初始配置与安全加固首次登录 Web 界面默认端口 8080通常会引导你创建管理员账户。完成这一步后有几项关键安全配置必须做修改默认端口在config.yaml或 Docker 环境变量中将 Web 服务的默认端口从8080改为一个不常用的高位端口如18080减少被网络扫描器发现的风险。设置强密码管理员账户密码务必复杂。配置 HTTPS如果你需要通过公网访问建议通过 VPN 或 Tailscale 等零信任网络方案进行内网穿透而非直接暴露端口必须配置 HTTPS。可以在 HomeButler 前放置一个 Nginx 或 Caddy 反向代理由它们来处理 SSL 证书可以使用 Let‘s Encrypt 免费证书。防火墙设置在服务器防火墙如 UFW中只开放必要的端口如 SSH 端口和修改后的 HomeButler 端口禁止所有其他入站连接。4. 核心功能模块深度解析与配置4.1 设备接入适配器的配置艺术HomeButler 的强大体现在它海纳百川的设备接入能力上。这一切都通过配置不同的适配器来实现。以 Zigbee 设备为例 你需要一个 Zigbee USB 协调器如 CC2652P 芯片的棒子。在 HomeButler 中安装并配置 “Zigbee2MQTT” 或 “ZHA” 这类 Zigbee 网关适配器。安装适配器在 Web 界面的“适配器”页面搜索 “zigbee”找到对应的适配器并安装。配置适配器关键配置项包括serial_port: 你的 Zigbee 协调器在系统中的设备路径如/dev/ttyUSB0。在 Docker 部署时需在docker-compose.yml中通过devices字段将此设备映射进容器。network_key: Zigbee 网络的密钥建议生成一个强密钥并保存好用于修复网络。配对设备在适配器管理界面启动“允许配对”模式然后根据设备说明书通常是快速上电或长按复位键让设备进入配对状态。成功后会显示一个新设备你可以为其重命名如“客厅温湿度传感器”、分配到房间。以 Wi-Fi 设备如 Yeelight 吸顶灯为例 有些 Wi-Fi 设备支持局域网控制协议。你需要安装对应的品牌适配器如 “Yeelight” 适配器。确保灯和 HomeButler 服务器在同一局域网。安装适配器后它可能会自动发现局域网内的设备。如果没有你可能需要在设备的官方 App 中开启“局域网控制”或“开发者模式”获取设备的 IP 地址然后在适配器配置中手动添加。通用协议MQTT 适配器MQTT 是智能家居领域的“通用语言”。对于大量 DIY 设备如 ESPHome 固件的传感器、基于 Tasmota 的开关它们通常通过 MQTT 发布状态和接收指令。你需要先部署一个 MQTT 代理服务器如 Mosquitto。在 HomeButler 中安装 “MQTT” 适配器并配置连接信息服务器地址、端口、用户名、密码。DIY 设备按照约定的主题Topic格式发布/订阅消息HomeButler 的 MQTT 适配器就能将其虚拟为系统中的标准设备进行状态同步和控制。适配器类型典型设备配置复杂度稳定性适用场景Zigbee/Z-Wave传感器、开关、窗帘电机中高需硬件高低功耗自组网需要电池供电、高可靠性、大量部署的设备品牌 Wi-Fi智能灯、插座、空调伴侣低至中中依赖Wi-Fi质量已有主流品牌设备追求快速集成MQTTDIY设备、开源硬件中需自建MQTT服务高协议轻量极客、开发者需要完全自定义功能HTTP/WebHook任何能发HTTP请求的设备低取决于设备集成非标设备或外部服务如IFTTT4.2 自动化规则从简单触发到复杂场景自动化是智能家居的精华。HomeButler 的自动化编辑器功能强大。基础自动化示例晚上自动开灯触发时间条件 - “在日落时间”HomeButler 可基于地理位置自动计算日落。条件状态条件 - “客厅人体传感器检测到有人”且“客厅光照传感器数值低于 50 lux”。动作设备控制 - “将客厅主灯亮度设置为 70%”并“将客厅氛围灯颜色设置为暖黄色”。进阶自动化离家布防模式这个场景需要多个条件组合和延迟判断。触发设备状态 - “大门门锁状态变为‘已锁定’”。条件逻辑判断 - “所有家庭成员手机蓝牙信标均不在范围内”通过手机追踪适配器判断且“时间在上午8点至下午6点之间”避免夜间误触发。动作延迟 5 分钟防止刚锁门又开门的情况。执行场景“关闭所有房间的灯光、空调”。执行场景“启动摄像头移动侦测录像”。向手机推送通知“已启动离家模式”。使用脚本实现复杂逻辑对于图形化界面无法实现的复杂逻辑可以使用 JavaScript 或 Python 脚本适配器。例如你可以写一个脚本分析过去一周的用电数据来自智能插座预测今天的用电高峰时段并自动调节空调温度以平滑负载。注意事项自动化规则不宜过多过杂否则难以管理和调试。建议按“场景”或“房间”进行分组。大量基于时间触发的规则每分钟检查一次可能会对性能有轻微影响尽量使用事件驱动如传感器状态变化作为触发条件。定期检查和测试你的自动化规则确保它们按预期工作尤其是在夏令时/冬令时切换或设备更换后。4.3 仪表盘与交互打造个性化控制中心HomeButler 的 Web 界面不仅是一个管理后台也是一个可高度自定义的控制面板。你可以为家人创建不同的“仪表盘”。客厅仪表盘放置灯光开关、空调控制、窗帘开关、当前温湿度显示和媒体播放器控件。安防仪表盘集中显示所有摄像头的实时画面、门窗传感器状态和报警历史。能源仪表盘用图表展示各智能插座的实时功率和历史用电量。你可以通过拖拽组件卡片来设计布局卡片类型包括按钮、滑块、图表、摄像头流、文本标签等。对于不擅长技术的家人你可以创建一个只有几个大按钮如“观影模式”、“会客模式”、“睡眠模式”的简化仪表盘一键触发复杂的场景自动化体验非常好。5. 高级应用与集成拓展5.1 语音控制集成虽然 HomeButler 本身没有内置语音助手但它可以通过插件轻松集成。与开源语音助手对接如 Rhasspy 或 Mycroft。这些助手可以通过 HomeButler 的 RESTful API 来查询设备状态或执行动作。你可以在 Rhasspy 中设置意图Intent例如当识别到“打开客厅灯”时向http://homebutler-server:port/api/v1/devices/living_room_light/on发送一个 HTTP POST 请求。模拟成商业平台设备使用 “HomeBridge” 或 “Home Assistant Cloud” 的桥接思路。可以开发或使用一个适配器将 HomeButler 中的设备模拟成 Apple HomeKit 或 Google Home 支持的设备。这样你就可以直接使用 Siri 或 Google Assistant 进行语音控制了。不过这条路需要一定的开发工作量。5.2 外部服务联动HomeButler 的 “Webhook” 适配器或 HTTP 请求动作让它能与互联网上的无数服务联动。天气与出行集成天气适配器当下雨时自动关闭窗户并推送提醒在早高峰时段查询地图 API 获取通勤时间如果时间过长则提前启动“离家模式”。消息通知除了推送通知到手机 App还可以通过 Telegram Bot、钉钉机器人、企业微信甚至电子邮件发送重要警报如漏水检测、烟雾报警。日历集成读取 Google Calendar 或 iCal 日历在会议开始前10分钟自动将房间灯光和空调调整到会议模式。5.3 数据持久化与数据分析HomeButler 默认使用 SQLite 数据库存储历史和配置对于轻量使用足够。但如果设备多、历史数据量大或者你想进行复杂分析可以配置它使用更强大的数据库如 PostgreSQL 或 InfluxDB。 将设备状态和时间序列数据如温度、湿度、功耗存入 InfluxDB然后使用 Grafana 连接 InfluxDB 数据源可以绘制出非常精美且信息丰富的仪表盘用于分析家庭能耗趋势、房间舒适度变化等让智能家居真正产生数据价值。6. 运维、排错与性能调优6.1 日常维护清单一个稳定的系统离不开日常维护。定期备份这是最重要的定期备份你的data目录包含数据库、配置、插件数据。在 Docker 部署中这个目录就是你通过 Volume 挂载到宿主机的路径。可以写一个简单的 Shell 脚本用tar打包后通过scp传到另一台机器或云存储。日志监控关注 HomeButler 的日志输出docker logs -f homebutler或查看日志文件。特别注意ERROR和WARN级别的日志它们能提前预警潜在问题。插件更新定期检查并更新适配器插件。更新前请查看插件的更新日志了解是否有不兼容的变更。建议在测试环境先验证再更新生产环境。系统更新定期更新宿主机操作系统、Docker 运行时和 HomeButler 本体镜像以获取安全补丁和性能改进。6.2 常见问题与排查技巧以下是我在长期使用中遇到的一些典型问题及解决方法问题现象可能原因排查步骤与解决方案设备状态不更新1. 适配器进程崩溃。2. 设备失联没电、距离远。3. 网络/协议通信故障。1. 检查适配器日志尝试重启该适配器。2. 检查设备电量将其移到离网关近的位置重新配对。3. 对于 Zigbee检查网络信道是否被 Wi-Fi 干扰。自动化规则不触发1. 触发条件未满足。2. 规则被禁用。3. 动作执行失败。1. 在“事件日志”中查看预期的事件是否被正确触发。2. 检查规则开关是否打开。3. 查看自动化执行日志看动作执行时是否有报错。Web 界面无法访问1. 服务未运行。2. 端口被占用或防火墙阻止。3. 配置文件错误。1.docker ps检查容器状态docker logs查看启动日志。2.netstat -tlnp检查端口占用ufw status检查防火墙。3. 检查config.yaml格式是否正确可用 YAML 在线校验工具。设备响应缓慢1. 服务器负载过高。2. 数据库性能瓶颈。3. 网络延迟。1. 使用htop查看 CPU/内存使用率。2. 如果使用 SQLite可尝试执行VACUUM;命令优化数据库。3. 将 Wi-Fi 设备连接到更近的 AP检查 Zigbee 网络路由。插件安装失败1. 网络问题无法下载。2. 依赖不满足。3. 版本不兼容。1. 检查服务器网络或配置 npm/yarn 镜像源。2. 查看插件文档安装系统级依赖如某些适配器需要libusb。3. 确认插件版本与当前 HomeButler 核心版本兼容。6.3 性能调优建议当系统内设备超过100个自动化规则非常复杂时可以考虑以下优化数据库优化将 SQLite 切换到 PostgreSQL。在config.yaml中修改数据库连接字符串即可。PostgreSQL 在高并发写入和复杂查询上表现更优。历史数据分离对于温湿度、功耗等高频采集的数据配置适配器将其直接写入 InfluxDB 或 TimescaleDB而非 HomeButler 的主数据库。这能极大减轻主库压力。日志级别调整在生产环境中将默认日志级别从debug调整为info或warn可以减少磁盘 I/O 和日志量提升性能。硬件升级如果服务器 CPU 持续高负载考虑升级硬件。智能家居中枢对单核性能有一定要求因为 Node.js 是单线程事件循环。折腾 HomeButler 的过程就像在亲手搭建一个数字化的家园骨架。从最初的部署磕绊到一个个设备成功接入再到编写出第一个完美的自动化场景这种成就感是购买成品无法比拟的。它可能没有商业方案那么“傻瓜化”需要你付出一些学习和调试的时间但换来的却是无与伦比的灵活性、隐私安全和那种“一切尽在掌握”的踏实感。对于热爱技术的家居改造者来说这无疑是最值得投入的玩具也是最能体现极客精神的工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2565533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…