文章目录

  • 一. 准备工作
  • 二. 通过STM32代码设置产品model
  • 三. STM32单片机不断发送get_down指令一直查询模块返回的状态
  • 四. 模块核心指令的解答
  • 五. 关于模块返回的参数说明


     最近在做一个需要通过米家APP进行智能插座的项目,为了方便直观的看到插座的开和关的状态,这里使用了STM32板子上的一个LED灯,利用LED灯的亮和灭表示插座的开和关的状态

一. 准备工作

务必清楚,博文涉及到的账号均为 企业入驻,暂不支持个人对接米家平台,请知晓!!

     所需要的资料:这里分软件部分和硬件部分

硬件部分如图:
     一个下载STM32代码的J-Link烧录器,一个STM32开发板,一个NodeMcu8266开发板(烧录好米家透传固件),一个USB转TTL串口板(用于查看串口打印信息)杜邦线若干

软件部分:
     一个串口调试助手,一个已经搭建好Keil5环境的电脑,公司所提供的的烧写好米家固件的8266模块样品,一台安装米家APP的安卓手机;

     准备工作做完后,根据以下主要接线图方式去接线

MCU

NodeMcu

USB转TTL串口板

VCC

3V3

/

GND

GND

/

PA2(TXD)

D7(RXD2)

/

PA3(RXD)

D8(TXD2)

/

PB10

/

RXD(用于查看串口打印信息)

实物接线如下图:

米家 java 对接 能接入米家的模块_单片机

二. 通过STM32代码设置产品model

     核心代码说明如下,首先单片机上电需要先设置好产品的model号,这个通过单片机发送设置model指令,具体可以看如下代码说明

米家 java 对接 能接入米家的模块_单片机_02

     产品的model号可以在小米开发者平台上您的这个产品进行查询获取!

三. STM32单片机不断发送get_down指令一直查询模块返回的状态

     用单片机设置完成后需复位重启一下模块,重启后用查询model指令查询到是你所需要的model号代表设置成功!

     下一步打开米家APP进行配网,单片机不断发送get_down指令查询模块返回的状态,当模块返回“down MIIO_net_change cloud”则代表模块已经成功配网连接上米家平台,接下来就可以用手机愉快的控制开发板上的LED灯了,核心指令请看下一章节!

米家 java 对接 能接入米家的模块_米家 java 对接_03

四. 模块核心指令的解答

指令

指令返回的状态信息

说明

model

ok

产品model通过MIOT平台创建产品申请

get_down

down(method_name)

获取下行指令

result

ok或error

发送下行指令的执行结果,按下行指令不同的情况返回

restore

ok

MIIO接收到该命令后,将清除wifi配置信息,并在0.5秒内重启

reboot

ok

MIIO接收到该命令后,将在0.5秒内重启

五. 关于模块返回的参数说明

  • Q1:down set_properties 2 1 true其中的2和1具体代表什么?

答:这里的2代表产品功能中的switch服务编号,1代表服务编号中的属性,具体可以查看如下截图

米家 java 对接 能接入米家的模块_重启_04


米家 java 对接 能接入米家的模块_重启_05