小米标准模组+MCU 快速上手开发(二)——之模组串口调试

小米标准模组+MCU 开发笔记之固件调试

  • 背景
  • 技术名词简介
    • [● 小米IoT开发者平台](#● 小米IoT开发者平台)
    • [● 小米IoT 模组](#● 小米IoT 模组)
    • [● 固件](#● 固件)
    • [● OTA](#● OTA)
    • [● CRC32](#● CRC32)
  • 固件双串口调试
    • [● MHCWB6S-IB 模组资料下载](#● MHCWB6S-IB 模组资料下载)
    • [● 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

相关推荐
yutian06068 小时前
Keil MDK下载程序后MCU自动重启设置
单片机·嵌入式硬件·keil
析木不会编程11 小时前
【小白51单片机专用教程】protues仿真独立按键控制LED
单片机·嵌入式硬件·51单片机
枯无穷肉15 小时前
stm32制作CAN适配器4--WinUsb的使用
stm32·单片机·嵌入式硬件
不过四级不改名67715 小时前
基于HAL库的stm32的can收发实验
stm32·单片机·嵌入式硬件
嵌入式大圣16 小时前
单片机UDP数据透传
单片机·嵌入式硬件·udp
云山工作室16 小时前
基于单片机的视力保护及身姿矫正器设计(论文+源码)
stm32·单片机·嵌入式硬件·毕业设计·毕设
嵌入式-老费16 小时前
基于海思soc的智能产品开发(mcu读保护的设置)
单片机·嵌入式硬件
qq_3975623118 小时前
MPU6050 , 设置内部低通滤波器,对于输出数据的影响。(简单实验)
单片机
liyinuo201718 小时前
嵌入式(单片机方向)面试题总结
嵌入式硬件·设计模式·面试·设计规范
艺术家天选19 小时前
STM32点亮LED灯
stm32·单片机·嵌入式硬件