自学嵌入式攻略 - 修改米家香氛机固件

简介: AGI散修竹相左边,自学嵌入式攻略 - 修改米家香氛机固件

见字如面,好久不见
这里是AIGC创意人竹相左边,我决定即日起 改名 AGI散修竹相左边。

从今天起(2025 年 7 月 28 日上午 11:19 +08),我将以“野路子散修”的身份,用 AI 的力量辅助自学知识技能,分享验证可行的技术攻略。

就像修真世界中的散修,我希望为那些求学无门或突破卡壳的新手提供实用桥梁,尤其是在软硬件领域,目标是“手搓火箭”,进军嵌入式开发!

【

想了好久,想到了 散修这个关键词,

含义是相比较科班人工智能出身的AI专家,我是个野路子散修,

散修的二层含义是,就像修真者一样,很多新人求学无门或者突破卡壳,名门望族又不乐意花费时间做入门衔接攻略。这件事就刚好落到我们散修/邪修身上了。

】

所以,AGI散修竹相左边只分享验证可行的技术

废话说到这里,本篇文章主要是做记录,作为笔记备份。

工具来源
硬件工具:
USB-TTL 适配器:已购买(建议 CH340/CH341,3.3V 输出)。
连接线:杜邦线或跳线,用于连接 ISP 引脚。
塑料撬棒:非暴力拆机工具,避免损坏外壳。
软件工具:
STM32CubeMX
:下载,Win64 版,用于生成代码框架。
STM32CubeProgrammer
:下载,Win64 版,用于固件提取和烧录。
驱动
:USB-TTL 驱动(如 CH340),从适配器官网下载。
可选编译器
:STM32CubeIDE 或 Keil(需安装,生成 .bin/.hex 文件)。
入口 进网页注册后,再选开发者工具。

https://www.st.com.cn/content/st_com/zh/stm32-mcu-developer-zone.html进入后,找到上方ST开发者社区,选择中间的软件开发工具。

image.png

里面工下载两个工具,
STM32CubeMX
STM32CubeProgrammer
一个用来写代码,另一个是用来烧录代码到硬件里面。注册了就可以免费下载
image.png

image.png

硬件准备
设备:米家智能香氛机(MJXJF03XW)。
USB-TTL:确认电压(3.3V 安全),检查 COM 端口(Windows 设备管理器)。
连接:准备好杜邦线,待定位 ISP 引脚后连接。
安全措施:万用表(可选),检查引脚电压;断电操作,避免短路。
软件准备
安装 STM32CubeMX:
双击 SetupSTM32CubeMX.exe,按提示安装,需管理员权限。
安装 STM32CubeProgrammer:
双击 SetupSTM32CubeProgrammer.exe,以管理员身份安装,检查更新。
驱动安装:
安装 USB-TTL 驱动,确认 COM 端口。
环境检查:
Windows 10/11,建议更新系统。

文字流程 方便打印出来,做对照表进度使用。


自学嵌入式项目:修改 MJXJF03XW 实现 30 秒连续喷雾
├── 1. 准备阶段

│   ├── 1.1 确认硬件

│   │   └── 轻度拆机,找到 STM32 芯片(检查标记如 STM32F103)

│   ├── 1.2 安装软件

│   │   ├── 1.2.1 STM32CubeMX

│   │   │   └── 生成代码框架

│   │   ├── 1.2.2 STM32CubeProgrammer

│   │   │   └── 烧录与提取工具

│   │   └── 1.2.3 驱动

│   │       └── 安装 USB-TTL 驱动

│   └── 1.3 连接 USB-TTL

│       └── 验证 3.3V 输出,准备杜邦线

├── 2. 固件提取阶段

│   ├── 2.1 配置 STM32CubeProgrammer

│   │   └── 选择 UART 模式,设置 COM 端口(115200 波特率)

│   ├── 2.2 进入 DFU 模式

│   │   └── 短接 BOOT0 到 3.3V,复位 MCU

│   ├── 2.3 读取固件

│   │   └── 点击“Read Memory”,导出 .bin 文件,备份

│   └── 2.4 验证备份

│       └── 确认文件完整性

├── 3. 代码设计与修改阶段

│   ├── 3.1 用 STM32CubeMX 生成代码

│   │   └── 选择 STM32 型号,配置定时器,生成项目

│   ├── 3.2 修改定时逻辑

│   │   └── 编辑主循环:HAL_GPIO_WritePin(Spray_Pin, GPIO_PIN_SET); HAL_Delay(30000); HAL_GPIO_WritePin(Spray_Pin, GPIO_PIN_RESET);

│   ├── 3.3 编译代码

│   │   └── 用 STM32CubeIDE 或 Keil 编译,生成新 .bin

│   └── 3.4 模拟测试

│       └── 检查逻辑正确性

├── 4. 烧录与测试阶段

│   ├── 4.1 进入烧录模式

│   │   └── 短接 BOOT0,连接 STM32CubeProgrammer

│   ├── 4.2 执行烧录

│   │   └── 加载新 .bin,点击“Start Programming”

│   ├── 4.3 验证启动

│   │   └── 复位设备,检查是否正常

│   ├── 4.4 测试功能

│   │   └── 确认 30 秒连续喷雾

│   └── 4.5 问题排查

│       └── 检查连接、电压或固件错误

├── 5. 优化与完成

│   ├── 5.1 调整参数

│   │   └── 优化喷雾量或添加循环

│   ├── 5.2 恢复方案

│   │   └── 烧录原始 .bin 恢复

│   └── 5.3 记录与总结

│       └── 备份成果,分享经验

├── 6. 注意事项

│   ├── 6.1 安全操作

│   │   └── 断电连接,验证引脚,3.3V 供电

│   ├── 6.2 法律风险

│   │   └── 仅限个人学习,遵守小米政策

│   └── 6.3 砖块风险

│       └── 备份固件,谨慎烧录

image.png
image.png


图文攻略:实操步骤详解

  1. 准备阶段
    图片建议
    :展示 USB-TTL 适配器和塑料撬棒。
    操作
    :
    轻拆 MJXJF03XW 外壳,用撬棒找到主板,查看芯片(目标是 STM32F103 等)。
    安装 STM32CubeMX 和 CubeProgrammer,下载驱动。
    连接 USB-TTL,确认 COM 端口。
  2. 固件提取阶段
    图片建议
    :展示 STM32CubeProgrammer 界面和 USB-TTL 连接图。
    操作
    :
    打开 CubeProgrammer,选择 UART 模式,设置 COM 端口。
    短接 BOOT0 到 3.3V,复位,点击“Connect”。
    读取固件,保存 .bin 文件。
  3. 代码设计与修改阶段
    图片建议
    :截图 CubeMX 配置界面和代码编辑器。
    操作
    :
    用 CubeMX 创建项目,配置定时器。
    修改代码,添加 30 秒延时逻辑。
    编译生成新 .bin 文件。
  4. 烧录与测试阶段
    图片建议
    :展示烧录过程和喷雾测试效果。
    操作
    :
    进入烧录模式,加载新 .bin,点击“Start Programming”。
    复位设备,测试 30 秒喷雾。
    若失败,检查连接或固件。
  5. 优化与完成
    图片建议
    :记录最终效果和恢复步骤。
    操作
    :
    调整参数,优化体验。
    备份成果,准备恢复方案。
    注意事项
    安全
    :始终断电操作,3.3V 供电,避免短路。
    法律
    :仅限个人学习,勿用于商业。
    风险
    :备份固件,谨慎烧录,若成“砖块”用原始 .bin 恢复。
相关文章
|
安全 数据安全/隐私保护 Docker
使用Docker Compose轻松搭建Samba文件共享服务
家人们啦,今天我将向大家介绍如何使用Docker Compose安装Samba,从而实现便捷的文件共享环境。Samba是一个开源的软件套件,允许不同操作系统之间实现文件和打印机的共享。通过Docker Compose的便利,我们可以快速搭建和管理Samba容器,轻松实现文件共享和访问。废话不多说,让我们开始吧!
1778 0
使用Docker Compose轻松搭建Samba文件共享服务
|
12月前
|
程序员 网络安全 开发工具
推送报错403怎么办?vscode推送项目到github
推送报错403怎么办?vscode推送项目到github
|
7月前
|
人工智能 自然语言处理 供应链
AI 大模型时代:淘宝京东商品数据 API 如何重构电商智能决策
AI大模型正将传统API从“数据搬运工”升级为“智能决策中枢”,打通“数据→信息→知识→行动”全链路。通过融合电商API与大模型能力,在智能选品、竞品预警、内容生成、运营闭环四大场景实现从人工到自治的跃迁。(239字)
|
人工智能 搜索推荐 NoSQL
唯品会:利用直播带货API实现边看边买,缩短转化路径
唯品会通过直播带货API重构电商体验,实现“边看边买”即时决策,平均转化时间从8.2分钟降至1.5分钟,弃单率下降62%,支撑百万级并发,错误率低于0.001%。技术突破推动人货场关系重塑,未来将迈向实时化、沉浸式、无感支付新标准。
|
数据可视化 uml Docker
在本地Windows 11 系统的桌面版Docker上搭建PlantUML
在本地Windows 11 系统的桌面版Docker上搭建PlantUML
1054 0
|
机器学习/深度学习 传感器 边缘计算
深度强化学习在自动驾驶汽车中的应用与挑战###
本文探讨了深度强化学习(Deep Reinforcement Learning, DRL)技术在自动驾驶汽车领域的应用现状、关键技术路径及面临的主要挑战。通过分析当前自动驾驶系统的局限性,阐述了引入DRL的必要性与优势,特别是在环境感知、决策制定和控制优化等方面的潜力。文章还概述了几种主流的DRL算法在自动驾驶模拟环境中的成功案例,并讨论了实现大规模部署前需解决的关键问题,如数据效率、安全性验证及伦理考量。最后,展望了DRL与其他先进技术融合的未来趋势,为推动自动驾驶技术的成熟与发展提供了新的视角。 ###
|
人工智能 JavaScript 数据可视化
Cursor、v0 和 Bolt.new:当今 AI 编程工具的全面解析与对比
本文深入解析了 Cursor AI、v0 和 Bolt.new 三大 AI 编程工具的特点与应用场景。Cursor 适合日常编码与团队协作,v0 专注于 UI 原型设计,Bolt.new 擅长全栈原型开发。各工具在功能上互为补充,开发者可根据需求灵活选择,以提升工作效率。
6328 1
|
运维 Java Devops
阿里云云效操作报错合集之在流水线增加单元测试报错,是什么导致的
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
存储 安全 算法
MD5的日常实践应用:确保数据完整性与基础安全校验
**MD5概览:** 作为过时但仍然流行的散列函数,MD5用于生成数据固定长度的散列,常用于文件完整性校验和非安全密码验证。虽因易受碰撞攻击而不适于安全用途,但在低敏感场景下仍有应用。例如,Python代码展示如何计算文件MD5校验和及模拟MD5密码验证。不过,对于高安全需求,推荐使用SHA-256等更安全的算法。【6月更文挑战第17天】
1504 1