小米标准模组+MCU 快速上手开发(二)——之模组串口调试
小米标准模组+MCU 开发笔记之固件调试
- 背景
- 技术名词简介
- ● 小米IoT开发者平台
- ● 小米IoT 模组
- ● 固件
- ● OTA
- ● CRC32
- 固件双串口调试
- ● MHCWB6S-IB 模组资料下载
- ● MHCWB6S-IB 模组管脚图
- ● 上电调试
背景
小米标准模组+MCU的开发过程中,由于部分官方资料较为古早,踩了很多的坑。
同时发现,网络上能找到的相关开发资料较少,特此进行开发过程记录。
本次开发过程记录,以MHCWB6S-IB为例
【已发布过的开发笔记】
小米标准模组+MCU 快速上手开发(一)——之固件下载
小米标准模组+MCU 快速上手开发(二)——之模组串口调试(本章)
【MHCWB6S-IB 硬件基础信息】
模组类型:Wi-Fi蓝牙双模模组
软件开发方式:小米标准模组+MCU | 基于小米SDK标准接口的独立模块开发
通信标准:802.11b/g/n
芯片平台:ESP32-C3
RAM: 400KB 剩余20KB
FLASH: 4MB 剩余416KB
模组尺寸:1213.52.5mm
感兴趣的宝子,可以点个赞+收藏,便于后期有需要的时候能快速找到~~
技术名词简介
● 小米IoT开发者平台
小米IoT 平台是小米面向消费类智能硬件领域的开放合作平台。
开发者可以借助小米IoT 平台开放的资源、产品,进行智能化解决方案的搭建,从而以极低的成本,和较低的技术门槛,在确保产品智能化水平的情况下,快速将方案落地,从而满足不同用户对智能产品的使用需求和体验要求。
接入小米IoT 平台的产品:
- 能够借助米家APP 变相对设备进行集中管理和控制;
- 能够被具有小爱同学能力的产品,如手机、电视及音箱等控制;
- 能够和其他接入小米IoT平台的智能产品间形成智能联动,实现真正的智慧化生活。

【官方技术平台链接】
小米IoT开发者平台:https://iot.mi.com/
小米模组商城:https://iot.mi.com/moduleBrowser.html
● 小米IoT 模组
模组是一个可以集成到目标电子系统的元器件,小米智能模组集成了小米IoT 平台开放能力,并已获取了主流的认证测试,能够使嵌入式系统连接到网络,并与小米服务进行通信。
小米IoT 模组是集成了小米IoT 平台开放能力的智能模组,智能模组均已获取了主流的认证测试。
使用时,开发者在选择产品接入方案并确定固件开发方式后,需选择使用相应的模组,并根据实际需要选择获取其他开发资源开发产品的智能化功能。
截至2024年2月,模组类型主要有:BLE-Mesh模组、Wi-Fi蓝牙双模模组、Wi-Fi单模模组、透传模组 共四种。
PS:
1、目前,小米IoT 模组仅支持Wi-Fi 2.4GHz,暂不支持5GHz。
2、由于其他平台的模组并没有集成小米IoT 平台开放的能力,因此,未使用小米IoT 模组的设备无法接入小米IoT 平台。
3、小米IoT 平台已停止对新型号待接入产品使用Wi-Fi 单模模组ESP-WROOM-02U 和ESP-WROOM-02D(ESP8266系列)的支持,仅处于开发中或已上线的产品,仍可以继续使用并采购Wi-Fi 单模模组。
● 固件
指写入 EROM(可擦写只读存储器)或 EEPROM(电可擦可编程只读存储器)中的程序,是担任着一个系统最基础最底层工作的软件,是控制硬件产品与小米IoT 平台通信并执行指定功能的基础。
● OTA
OTA 为 Over-the-Air 的缩写,是对设备固件进行迭代升级的方式。
● CRC32
CRC 为 Cyclic Redundancy Check 的缩写,指循环冗余检查,是一种为了保证数据的正确而采用的验错手段,当使用的是 WiFi+BLE 模组,且使用 小米标准模组+MCU 开发模式时,需要在固件尾部添加CRC,小米提供了CRC32开发工具。
固件双串口调试
为使基于小米 IoT 模组/SDK 接入(即“直连接入”)小米 IoT 平台的硬件产品能够符合小米 IoT 平台规范要求,开发者需根据小米 IoT 平台提供的产品接入方案、产品本身功能特性、团队实际的开发水平,选择合适的开发模式开发产品的固件。
● MHCWB6S-IB 模组资料下载
模组资料下载:https://iot.mi.com/moduleBrowser.html

● MHCWB6S-IB 模组管脚图

● 上电调试
如MHCWB6S-IB 模组管脚图,可看出,MHCWB6S-IB 模组共有两个串口。
- Log串口:是用来显示系统输出
- MCU命令串口:主要用来进行命令交互,如model指令下发,模组model设置等等。
● 串口工具:SecureCRT,或者 Putty 等串口调试工具
配置以ESP32-C3为例
• 端口:选择外接串口模块的串口号,如“COM3”。
• 波特率:115200。
• 数据位:8
• 奇偶校验:None
• 停止位:1
• 流控:取消选择“RTS/CTS”。
● Log串口使用方式:即模组开发板的USB接口,直接插入插槽即可交互。
● MCU命令串口使用方式:需要连接串口转接板(如CP1202 串口转 USB 板,以下简称串口板),
- 串口板的RXD和TXD 与 开发板的记得要交叉连接(如ESP32-C3为例,串口RXD连接板子GPIO7,串口TXD连接板子GPIO6)
如果无法通信,可以尝试对调一下再试试- 串口GND连接板子GND
- 串口电源引脚悬空
● 无法正常通信连接,如何排查:
如果无法正常交互,需要进行以下几种尝试:
1、重复以上几个步骤,看是否有波特率等设置错误或者引脚链接错误。
2、查看CP1202串口驱动是否已经安装。
排查方法:插上串口板,在设备驱动里面可以看到 COM 口,如果设备驱动出现感叹号,需要重新安装串口驱动程序
● 正常通信连接,显示的log:
图中左边为Log记录,右边为MCU指令交互记录

注意:MCU发送指令时,一定要记得自动发送"附加位0x0DH"
【官方技术平台链接】
固件开发官方教程
https://iot.mi.com/v2/new/doc/embedded-dev/overview_fw_dev
平台配置——之固件开发指引
https://iot.mi.com/new/doc/accesses/direct-access/productcenter/develop-firmware
相关文章:
小米标准模组+MCU 快速上手开发(二)——之模组串口调试
小米标准模组MCU 开发笔记之固件调试 背景技术名词简介● 小米IoT开发者平台● 小米IoT 模组● 固件● OTA● CRC32 固件双串口调试● MHCWB6S-IB 模组资料下载● MHCWB6S-IB 模组管脚图● 上电调试 背景 小米标准模组MCU的开发过程中,由于部分官方资料较为古早&am…...
Ubuntu22.04和Windows10双系统安装
概要 本篇演示Ubuntu22.04和Windows10双系统的安装。先安装Ubuntu22.04,再安装Windows10。 一、说明 1、电脑 笔者的电脑品牌是acer(宏碁/宏基) 电脑开机按F2进入BIOS 电脑开机按F12进入Boot Manager 2、U盘启动盘 需要用到两个U盘启动盘 (1&a…...
重新安装VSCode后,按住Ctrl(or Command) 点击鼠标左键不跳转问题
重新安装VSCode后,按住Ctrl(or Command) 点击鼠标左键不跳转问题 原因:重新安装一般是因为相应编程语言的插件被删除了或还没有下载。 本次是由于Python相关的插件被删除了,因此导致Python无法跳转。 解决办法 在vs…...
QPaint绘制自定义仪表盘组件01
网上抄别人的,只是放这里自己看一下,看完就删掉 ui Dashboard.pro QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# You can make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomm…...
华为笔记本原厂系统镜像恢复安装教程方法
1.安装方法有两种,一种是用PE安装,一种是华为工厂包安装(安装完成自带F10智能还原) 若没有原装系统文件,请在这里远程恢复安装:https://pan.baidu.com/s/166gtt2okmMmuPUL1Fo3Gpg?pwdm64f 提取码:m64f …...
互联网高科技公司领导AI工业化,MatrixGo加速人工智能落地
作者:吴宁川 AI(人工智能)工业化与AI工程化正在引领人工智能的大趋势。AI工程化主要从企业CIO角度,着眼于在企业生产环境中规模化落地AI应用的工程化举措;而AI工业化则从AI供应商的角度,着眼于以规模化方式…...
Apache服务
目录 引言 一、常见的http服务程序 (一)lls (二)nginx (三)Apache (四)Tomcat 二、Apache特点 三、Apache服务的安装 (一)yum安装及配置文件 1.配置…...
【Spring连载】使用Spring Data访问 MongoDB(二)----Template API
【Spring连载】使用Spring Data访问 MongoDB(二)----Template API 一、方便的方法二、执行回调函数Execute Callbacks三、Fluent API四、异常转换五、域类型映射六、配置6.1 默认读取首选项Read Preference6.2 WriteResultChecking策略6.3 默认写安全Wri…...
手写table表格(一表头多数据)
手写table表格(一表头多数据) <template><div class"table-info"><div class"info-list"><div class"header-wrapper"><div class"columns-title" v-for"(i, k) in columns&q…...
python3 flask 实现对config.yaml文件的内容的增删改查,并重启服务
config.yaml配置文件内容 功能就是userpass下的用户名和密码做增删改查,并重启hy2服务 auth:type: userpassuserpass:csdn: csdnlisten: :443 masquerade:proxy:rewriteHost: trueurl: https://www.bing.com/type: proxy tls:cert: /root/hyst*****马赛克******er…...
ADO世界之“对象”
目录 一、Command 对象 1.Command 对象 2.语法 3.属性 4.方法 5.集合 二、Connection 对象 1.Connection 对象 2.语法 3.属性 4.方法 5.事件 6.集合 三、Error 对象 1.Error 对象 2.语法 3.属性 四、Parameter 对象 1.Field 对象 2.语法 3.属性 4.方法 …...
LeetCode59-螺旋矩阵II
参考链接:代码随想录->螺旋矩阵II 关键是学视频链接里面的编码思想,然后背下来 class Solution { public:vector<vector<int>> generateMatrix(int n) {vector<vector<int>> resvector(n,vector<int>(n,0));int sx0,s…...
MySQL 索引原理以及 SQL 优化
索引 索引:一种有序的存储结构,按照单个或者多个列的值进行排序。索引的目的:提升搜索效率。索引分类: 数据结构 B 树索引(映射的是磁盘数据)hash 索引(快速锁定内存数据)全文索引 …...
C++学习Day08之函数模板和普通函数的区别以及调用规则
目录 一、程序及输出1.1 区别1.1.1 自动类型推导,不可以发生隐式类型转换的1.1.2 普通函数 可以发生隐式类型转换 1.2 调用规则 二、分析与总结 一、程序及输出 1.1 区别 1.1.1 自动类型推导,不可以发生隐式类型转换的 1.1.2 普通函数 可以发生隐式类型…...
Kaggle实践之《Home Credit Default Risk》的逐步优化
记录下每一次的改进及其score。 1、只用训练集的特征简单处理 特征只用训练集的特征,把string型的特征全部进行one-hot转化,然后随机1:4分成测试集训练集,模型也调参直接出结果。 最终的score是训练集80.13%、验证集76.33%、线上74.28%。 …...
django rest framework 学习笔记-实战商城2
01收货地址模型类和视图定义_哔哩哔哩_bilibili 本博客借鉴至大佬的视频学习笔记 地址信息的管理:增删改查的实现 # 序列化器配置 class AddrSerializer(serializers.ModelSerializer):"""收货地址的模型序列化器"""class Meta:mo…...
WEB 3D技术 three.js 3D贺卡(4) 添加鼠标滚轮移动屏幕 改变贺卡文字功能
好,上文 WEB 3D技术 three.js 3D贺卡(3) 点光源灯光动画效果 那么 我们来做一下 鼠标滚动相机和滚动时不同文字的切换 首先 我们要设置多个场景 其实也不能完全叫场景 也可以说多个位置 反正简单说就是多个位置 展现多个场景 我们先在代码的最下面 加上一个对象数…...
爬虫在网页抓取的过程中可能会遇到哪些问题?
在网页抓取(爬虫)过程中,开发者可能会遇到多种问题,以下是一些常见问题及其解决方案: 1. IP封锁: 问题:封IP是最常见的问题,抓取的目标网站会识别并封锁频繁请求的IP地址。 解决方案…...
Eclipse中Run As On Server和Run As Java Application
一、名词释义 run java application (作为Java应用程序运行)是运行 java main方法。 run on server是启动一个web 应用服务器。 二、两者的区别 Eclipse中可以创建java project 也可以创建java web poject 。java project是可以直接在命令行运行,或者…...
【MySQL】库的操作——MySQL数据库 、库的操作、表的操作、字符集和校验规则、备份和恢复
文章目录 MySQL1. 库的操作2. 表的操作3. 字符集和校验规则3.1 查看系统默认字符集以及校验规则3.2 查看数据库支持的字符集3.3 查看数据库支持的字符集校验规则 4. 备份和恢复4.1 备份4.2 还原 MySQL 1. 库的操作 连接服务器 mysql -h 127.0.0.1 -P 3306 -u root -pmysql -u…...
2026软考高级系统架构设计师预测试卷(二)
2026软考高级系统架构设计师预测试卷(二) 编制说明:本试卷为第二套预测卷,侧重不同考点角度,与第一套试卷不重复。 考试结构: 科目一:综合知识(75道单选题,每题1分,满分75分,合格线45分) 科目二:案例分析(1道必答+4选2,共答3道,满分75分,合格线45分) 科目三…...
缺失数据可视化图表开发实战|Highcharts创建人员出生统计面积图表示例
完整可运行代码<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>面积图 - 男孩姓名出生人数</t…...
Pure Live:你的纯净直播聚合解决方案,告别平台切换烦恼
Pure Live:你的纯净直播聚合解决方案,告别平台切换烦恼 【免费下载链接】pure_live A Flutter project can make you watch live with ease. 项目地址: https://gitcode.com/gh_mirrors/pu/pure_live 你是否曾为同时关注多个直播平台的主播而感到…...
5分钟极速上手:通达信缠论插件ChanlunX让技术分析智能化
5分钟极速上手:通达信缠论插件ChanlunX让技术分析智能化 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 还在为复杂的缠论分析而头疼吗?面对K线图中的顶底分型、笔段划分、中枢识别…...
完全掌握Windows驱动管理:DriverStore Explorer专业清理方案
完全掌握Windows驱动管理:DriverStore Explorer专业清理方案 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 你的Windows系统是否越用越慢,C盘空间不断减少却找不…...
深度解析 SGLang 框架 Wan2.1 视频生成加速技术:从 49 分钟到 1 分钟的极致优化
Wan2.1 作为当前开源视频生成模型的标杆,其 14B 参数版本在生成质量上已经达到了商业级水准,但原生推理速度却令人望而却步:单卡 A800 生成一段 5 秒 720P 视频需要近 50 分钟。 本文基于真实生产环境的运行日志和 SGLang 源码深度分析&…...
办公效率翻倍!OpenClaw AI 数字员工实操教程
适配系统:Windows 10 64位(新手专享版) 产品亮点: 零门槛安装:无需命令行操作,免去复杂环境配置即开即用:解压即安装,内置完整运行环境可视化操作:全程图形界面&#x…...
AMD Ryzen处理器终极调试指南:免费开源SMUDebugTool完整使用教程
AMD Ryzen处理器终极调试指南:免费开源SMUDebugTool完整使用教程 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: …...
Vivado里AXI总线到底要不要用SmartConnect?一个工程实例帮你彻底搞懂
Vivado中AXI总线SmartConnect的实战抉择:从工程现象到本质解析 在FPGA开发中,AXI总线的灵活性和复杂性常常让初学者陷入两难——特别是当Vivado工具给出多种连接选项时。SmartConnect这个看似简单的IP核,到底该不该用?为什么有些…...
智能消费记账|基于SSM+vue的大学生智能消费记账系统(源码+数据库+文档)
智能消费记账系统 目录 基于SSMvue的大学生智能消费记账系统 一、前言 二、系统设计 三、系统功能设计 1 用户列表 2 预算信息管理 3 预算类型管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍&#x…...



