MIIO芯片串口通信协议解析

需积分: 0 1 下载量 141 浏览量 更新于2024-08-05 收藏 315KB PDF 举报
"MIIO芯片串口命令详情1" MIIO芯片是专为网络通讯设计的微控制器单元(MCU),适用于与小米IoT(MIIO)平台的设备交互。在一些情况下,MIIO芯片不作为主控MCU,而是作为一个负责网络连接的辅助部件,处理上行和下行的云通信指令。它通过串口接口与其他芯片进行通信,例如主控MCU,以实现设备的业务逻辑。 串口通信采用115200波特率,8位数据位,1位停止位,无奇偶校验位,以及无流量控制(N,N配置)。串口命令以文本形式发送,遵循"一问一答"的模式,命令和结果之间通过"↑"和"↓"符号区分上行(发送到云端)和下行(从云端接收)信息。 其中,`props`命令用于上报或设置设备的属性。设备的传感器,比如温度传感器,可以调用`props`命令将检测到的温度(如26度)上报给MIIO芯片。命令格式为`<prop_name_1><value_1><prop_name_2><value_2>`,至少包含一个属性名和对应的值。例如,`propstemp21hum50location"home"`表示温度为21度,湿度为50%,位置为"home"。如果格式不合法,如`propslocationoffice`,MIIO芯片会返回`error`。 `event`命令则用于发送设备发生的事件,如过热、按钮被按下或故障情况。例如,`eventoverheat170`表示设备发生过热,温度达到170度;`eventbutton_pressed`表示按钮被按下。如果事件包含多个值,如`eventfault"motorstuck""sensorerror"`,表示电机卡住和传感器错误。如果事件格式非法,如只有`eventfaultmotorstuck`,MIIO芯片同样会返回`error`。值得注意的是,MIIO芯片具有事件队列,当队列满时,新的事件将无法添加,导致返回`e`错误。 在接收到上行的`props`或`event`命令后,MIIO芯片会将其翻译为相应的操作指令,如`power_on`,然后由主控MCU执行实际的硬件操作。主控MCU通过不断发送`get_down`命令来轮询MIIO芯片,获取并执行下行命令,如打开电源。一旦操作完成,主控MCU通过`result`命令告诉MIIO芯片操作状态,如`result"ok"`表示成功,MIIO芯片接收到后回复`ok`确认接收。 MIIO芯片串口命令系统为设备提供了灵活且可靠的云通信能力,使得设备能够实时上报状态、响应用户指令,并处理来自云端的事件,从而实现智能设备的远程管理和控制。