【小米米家对接连载】 安信可 ESP8266-12S模块作为米家通用模块,直连小米米家平台,小爱同学语音控制;

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

一. 准备工作

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

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

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

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

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

MCUNodeMcuUSB转TTL串口板
VCC3V3/
GNDGND/
PA2(TXD)D7(RXD2)/
PA3(RXD)D8(TXD2)/
PB10/RXD(用于查看串口打印信息)

实物接线如下图:
在这里插入图片描述

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

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

在这里插入图片描述

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

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

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

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

在这里插入图片描述

四. 模块核心指令的解答

指令指令返回的状态信息说明
modelok产品model通过MIOT平台创建产品申请
get_downdown(method_name)获取下行指令
resultok或error发送下行指令的执行结果,按下行指令不同的情况返回
restoreokMIIO接收到该命令后,将清除wifi配置信息,并在0.5秒内重启
rebootokMIIO接收到该命令后,将在0.5秒内重启

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

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i8Dk5M32-1586486792110)(/api/project/918313/files/19268364/imagePreview)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VS4wHh1S-1586486792111)(/api/project/918313/files/19268366/imagePreview)]