Blinker天猫精灵接入流程


设备上线

  • 设置接入的设备类型

  • 设置接入设备的auth Key

  • 设置SSID/PSWD 或者选择 ESPTOUCH等配网方式

  • 下载代码等待设备接入上线成功

authKey对应的设备若需要更换接入的设备类型,重新设置设备类型并下载代码。
代码下载后在天猫精灵App中解除blinker账号绑定,重新绑定后即可更新设备类型。

绑定天猫精灵

  • 打开天猫精灵 App。点击右下角“我的”,点击“添加智能设备”

  • 在页面上方搜索栏,搜索blinker,并点击要添加的设备类型

  • 点击绑定账号,使用blinker账户登录,完成绑定

  • 绑定成功后,在blinker App中配网成功的设备就会出现在您的智能家居设备列表中,现在可以使用天猫精灵进行语音控制了

其他说明


1.如果绑定blinker账号后,天猫精灵App中没有出现对应设备,可能是您设备中没有烧写天猫精灵支持程序,或者设备没有成功上线。

教程


示例开发教程

示例程序


Arduino(esp8266/esp32):

GITHUB

NodeJs/TypeScript:

GITHUB

Blinker天猫精灵接口函数


天猫精灵设备配置

根据您定义的设备品类选择不同的参数用于配置Blinker

light:

#define BLINKER_WIFI
#define BLINKER_ALIGENIE_LIGHT#include <Blinker.h>

outlet:

#define BLINKER_WIFI
#define BLINKER_ALIGENIE_OUTLET#include <Blinker.h>

sensor:

#define BLINKER_WIFI
#define BLINKER_ALIGENIE_SENSOR#include <Blinker.h>

multi_outlet:

#define BLINKER_WIFI
#define BLINKER_ALIGENIE_MULTI_OUTLET#include <Blinker.h>

同步设备后可显示一个插座和四个插孔(名为插孔的插座设备)

fan:

#define BLINKER_WIFI
#define BLINKER_ALIGENIE_FAN#include <Blinker.h>

aircondition:

#define BLINKER_WIFI
#define BLINKER_ALIGENIE_AIRCONDITION#include <Blinker.h>

设备设置后即可使用 天猫精灵 BlinkerAliGenie

天猫精灵数据管理

智能音箱接口, 反馈数据到天猫精灵

任何控制务必即时反馈
超时2s以上再反馈,天猫精灵就默认设备不在线,天猫精灵会反馈“智能家居控制出了点问题”

函数 :

  • powerState()
    BlinkerAliGenie.powerState()
    反馈电源状态

  • mode()
    BlinkerAliGenie.mode()
    反馈运行模式

  • color()
    BlinkerAliGenie.color()
    反馈颜色属性

  • colorTemp()
    BlinkerAliGenie.colorTemp()
    反馈色温属性

  • brightness()
    BlinkerAliGenie.brightness()
    反馈亮度属性

  • temp()
    BlinkerAliGenie.temp()
    反馈温度属性

  • humi()
    BlinkerAliGenie.humi()
    反馈湿度属性

  • pm25()
    BlinkerAliGenie.pm25()
    反馈PM2.5属性

  • level()
    BlinkerAliGenie.level()
    反馈风速/挡位信息

  • hswing()
    BlinkerAliGenie.hswing()
    反馈左右摆风状态

  • vswing()
    BlinkerAliGenie.vswing()
    反馈上下摆风状态

  • print()
    BlinkerAliGenie.print()
    将以上属性发送出去, 务必最后调用该函数

天猫精灵设备支持的控制类型

  • 设备控制

  • 电源类的操作

  • 设备打开

  • 设备关闭

  • 颜色的设置

  • 模式的设置

  • 亮度的控制

  • 亮度设置指定值

  • 亮度调成最值(最大、最小)

  • 步长设置亮度(调亮、调暗,默认步长 25)

  • 色温的控制

  • 色温设置指定值

  • 步长设置色温(调冷、调暖,默认步长 15)

  • 温度的控制

  • 温度设置指定值

  • 步长设置温度

  • 摆风的控制

  • 上下/左右摆风

  • 设备查询

  • 所有属性的查询

  • 单个属性的查询

天猫精灵电源类的操作接口

当天猫精灵向设备发起控制, 设备端需要有对应控制处理函数

BlinkerAliGenie.attachPowerState()

用户自定义电源类操作的回调函数:

void aligeniePowerState(const String & state)
{BLINKER_LOG("need set power state: ", state);if (state == BLINKER_CMD_ON) {digitalWrite(LED_BUILTIN, HIGH);BlinkerAliGenie.powerState("on");BlinkerAliGenie.print();}else if (state == BLINKER_CMD_OFF) {digitalWrite(LED_BUILTIN, LOW);BlinkerAliGenie.powerState("off");BlinkerAliGenie.print();}
}

务必在回调函数中反馈该控制状态

注册回调函数:

BlinkerAliGenie.attachPowerState(aligeniePowerState);

天猫精灵颜色的设置接口

当天猫精灵向设备发起控制, 设备端需要有对应控制处理函数

BlinkerAliGenie.attachColor()

用户自定义颜色设置的回调函数:

void aligenieColor(const String & color)
{BLINKER_LOG("need set color: ", color);if (color == "Red") {colorR = 255; colorG = 0; colorB = 0;}else if (color == "Yellow") {colorR = 255; colorG = 255; colorB = 0;}else if (color == "Blue") {colorR = 0; colorG = 0; colorB = 255;}else if (color == "Green") {colorR = 0; colorG = 255; colorB = 0;}else if (color == "White") {colorR = 255; colorG = 255; colorB = 255;}else if (color == "Black") {colorR = 0; colorG = 0; colorB = 0;}else if (color == "Cyan") {colorR = 0; colorG = 255; colorB = 255;}else if (color == "Purple") {colorR = 128; colorG = 0; colorB = 128;}else if (color == "Orange") {colorR = 255; colorG = 165; colorB = 0;}BlinkerAliGenie.color(color);BlinkerAliGenie.print();
}

务必在回调函数中反馈该控制状态
详见文档末尾 天猫精灵支持控制的颜色表 详见文档末尾 天猫精灵支持查询的颜色表

注册回调函数:

BlinkerAliGenie.attachColor(aligenieColor);

天猫精灵模式的设置接口

当天猫精灵向设备发起控制, 设备端需要有对应控制处理函数

BlinkerAliGenie.attachMode()

用户自定义模式设置的回调函数:

void aligenieMode(const String & mode)
{BLINKER_LOG("need set mode: ", mode);if (mode == BLINKER_CMD_READING) {// Your mode function}else if (mode == BLINKER_CMD_MOVIE) {// Your mode function}else if (mode == BLINKER_CMD_SLEEP) {// Your mode function}else if (mode == BLINKER_CMD_HOLIDAY) {// Your mode function}else if (mode == BLINKER_CMD_MUSIC) {// Your mode function}else if (mode == BLINKER_CMD_COMMON) {// Your mode function}wsMode = mode;BlinkerAliGenie.mode(mode);BlinkerAliGenie.print();
}

务必在回调函数中反馈该控制状态
详见文档末尾 天猫精灵支持控制的模式表

注册回调函数:

BlinkerAliGenie.attachMode(aligenieMode);

BlinkerAliGenie.attachCancelMode()

用户自定义取消模式设置的回调函数:

void aligeniecMode(const String & cmode)
{BLINKER_LOG("need cancel mode: ", cmode);if (cmode == BLINKER_CMD_READING) {// Your mode function}else if (cmode == BLINKER_CMD_MOVIE) {// Your mode function}else if (cmode == BLINKER_CMD_SLEEP) {// Your mode function}else if (cmode == BLINKER_CMD_HOLIDAY) {// Your mode function}else if (cmode == BLINKER_CMD_MUSIC) {// Your mode function}else if (cmode == BLINKER_CMD_COMMON) {// Your mode function}wsMode = BLINKER_CMD_COMMON; // new modeBlinkerAliGenie.mode(wsMode); // must responseBlinkerAliGenie.print();
}

务必在回调函数中反馈该控制状态
详见文档末尾 天猫精灵支持控制的模式表

注册回调函数:

BlinkerAliGenie.attachCancelMode(aligeniecMode);

天猫精灵亮度的控制接口

当天猫精灵向设备发起控制, 设备端需要有对应控制处理函数

BlinkerAliGenie.attachBrightness()

用户自定义亮度控制的回调函数:

void aligenieBright(const String & bright)
{BLINKER_LOG("need set brightness: ", bright);if (bright == BLINKER_CMD_MAX) {colorW = 255;}else if (bright == BLINKER_CMD_MIN) {colorW = 0;}else {colorW = bright.toInt();}BLINKER_LOG("now set brightness: ", colorW);BlinkerAliGenie.brightness(colorW);BlinkerAliGenie.print();
}

务必在回调函数中反馈该控制状态

注册回调函数:

BlinkerAliGenie.attachBrightness(aligenieBright);

BlinkerAliGenie.attachRelativeBrightness()

用户步长设置亮度的回调函数:

void aligenieRelativeBright(int32_t bright)
{BLINKER_LOG("need set relative brightness: ", bright);colorW += bright;BlinkerAliGenie.brightness(bright);BlinkerAliGenie.print();
}

务必在回调函数中反馈该控制状态

注册回调函数:

BlinkerAliGenie.attachRelativeBrightness(aligenieRelativeBright);

天猫精灵色温的控制接口

当天猫精灵向设备发起控制, 设备端需要有对应控制处理函数

BlinkerAliGenie.attachColorTemperature()

用户自定义色温控制的回调函数:

void aligenieColoTemp(int32_t colorTemp)
{BLINKER_LOG("need set colorTemperature: ", colorTemp);colorT = colorTemp;BlinkerAliGenie.colorTemp(colorTemp);BlinkerAliGenie.print();
}

务必在回调函数中反馈该控制状态

注册回调函数:

BlinkerAliGenie.attachColorTemperature(aligenieColoTemp);

BlinkerAliGenie.attachRelativeColorTemperature()

用户步长设置亮度的回调函数:

void aligenieRelativeColoTemp(int32_t colorTemp)
{BLINKER_LOG("need set relative colorTemperature: ", colorTemp);colorT += colorTemp;BlinkerAliGenie.colorTemp(colorTemp);BlinkerAliGenie.print();
}

务必在回调函数中反馈该控制状态

注册回调函数:

BlinkerAliGenie.attachRelativeColorTemperature(aligenieRelativeColoTemp);

天猫精灵风速/挡位的控制接口

当天猫精灵向设备发起控制, 设备端需要有对应控制处理函数

BlinkerAliGenie.attachLevel()

用户设置风速/挡位控制的回调函数: 风扇/空调:

void aligenieLevel(uint8_t level)
{BLINKER_LOG("need set level: ", level);// 0:AUTO MODE, 1-3 LEVELsetLevel = level;BlinkerAliGenie.level(level);BlinkerAliGenie.print();
}

空调:

void aligenieLevel(const String & level)
{BLINKER_LOG("need set level: ", level);// auto    自动风// low    低风// medium    中风// high    高风setLevel = level;BlinkerAliGenie.level(level);BlinkerAliGenie.print();
}

务必在回调函数中反馈该控制状态

注册回调函数:

BlinkerAliGenie.attachLevel(aligenieLevel);

BlinkerAliGenie.attachRelativeLevel()

用户步长设置风速/挡位控制的回调函数: 风扇:

void aligenieRelativeLevel(int32_t level)
{BLINKER_LOG("need set relative level: ", level);setLevel += level;BlinkerAliGenie.level(setLevel);BlinkerAliGenie.print();
}

务必在回调函数中反馈该控制状态

注册回调函数:

BlinkerAliGenie.attachRelativeLevel(aligenieRelativeLevel);

天猫精灵上下/左右摆风的控制接口

当天猫精灵向设备发起控制, 设备端需要有对应控制处理函数

BlinkerAliGenie.attachHSwing()

用户设置风扇/空调左右摆风的回调函数:

void aligenieHSwingState(const String & state)
{BLINKER_LOG("need set HSwing state: ", state);// horizontal-swingif (state == BLINKER_CMD_ON) {digitalWrite(LED_BUILTIN, HIGH);BlinkerAliGenie.hswing("on");BlinkerAliGenie.print();hsState = true;}else if (state == BLINKER_CMD_OFF) {digitalWrite(LED_BUILTIN, LOW);BlinkerAliGenie.hswing("off");BlinkerAliGenie.print();hsState = false;}

务必在回调函数中反馈该控制状态

注册回调函数:

BlinkerAliGenie.attachHSwing(aligenieHSwingState);

BlinkerAliGenie.attachVSwing()

用户设置风扇/空调上下摆风的回调函数:

void aligenieVSwingState(const String & state)
{BLINKER_LOG("need set VSwing state: ", state);// vertical-swingif (state == BLINKER_CMD_ON) {digitalWrite(LED_BUILTIN, HIGH);BlinkerAliGenie.vswing("on");BlinkerAliGenie.print();vsState = true;}else if (state == BLINKER_CMD_OFF) {digitalWrite(LED_BUILTIN, LOW);BlinkerAliGenie.vswing("off");BlinkerAliGenie.print();vsState = false;}
}

务必在回调函数中反馈该控制状态

注册回调函数:

BlinkerAliGenie.attachVSwing(aligenieVSwingState);

天猫精灵温度的控制接口

当天猫精灵向设备发起控制, 设备端需要有对应控制处理函数

BlinkerAliGenie.attachTemp()

用户设置空调温度控制的回调函数:

voidaligenieTemp(uint8_t temp){BLINKER_LOG("need set temp: ", temp);setTemp = temp;BlinkerAliGenie.temp(temp);BlinkerAliGenie.print();}

务必在回调函数中反馈该控制状态

注册回调函数:

BlinkerAliGenie.attachTemp(aligenieTemp);

BlinkerAliGenie.attachRelativeTemp()

用户步长设置空调温度控制的回调函数:

void aligenieRelativeTemp(int32_t relTemp)
{BLINKER_LOG("need set temp: ", relTemp);setTemp = setTemp + relTemp;BlinkerAliGenie.temp(setTemp);BlinkerAliGenie.print();
}

务必在回调函数中反馈该控制状态

注册回调函数:

BlinkerAliGenie.attachRelativeTemp(aligenieRelativeTemp);

天猫精灵设备查询接口

当天猫精灵向设备发起控制, 设备端需要有对应控制处理函数

BlinkerAliGenie.attachQuery()

用户自定义设备查询的回调函数:

void aligenieQuery(int32_t queryCode)
{BLINKER_LOG("AliGenie Query codes: ", queryCode);switch (queryCode){case BLINKER_CMD_QUERY_ALL_NUMBER :BLINKER_LOG("AliGenie Query All");BlinkerAliGenie.powerState(wsState ? "on" : "off");BlinkerAliGenie.color(getColor());BlinkerAliGenie.colorTemp(colorT);BlinkerAliGenie.brightness(colorW);BlinkerAliGenie.print();break;case BLINKER_CMD_POWERSTATE_NUMBER :BLINKER_LOG("AliGenie Query Power State");BlinkerAliGenie.powerState(wsState ? "on" : "off");BlinkerAliGenie.print();break;case BLINKER_CMD_COLOR_NUMBER :BLINKER_LOG("AliGenie Query Color");BlinkerAliGenie.color(getColor());BlinkerAliGenie.print();break;case BLINKER_CMD_QUERY_MODE_NUMBER :BLINKER_LOG("AliGenie Query Mode");BlinkerAliGenie.mode(wsMode);BlinkerAliGenie.print();break;case BLINKER_CMD_COLORTEMP_NUMBER :BLINKER_LOG("AliGenie Query ColorTemperature");BlinkerAliGenie.colorTemp(colorT);BlinkerAliGenie.print();break;case BLINKER_CMD_BRIGHTNESS_NUMBER :BLINKER_LOG("AliGenie Query Brightness");BlinkerAliGenie.brightness(colorW);BlinkerAliGenie.print();break;default :break;}
}

支持查询的状态码:

  • 所有属性查询 BLINKER_CMD_QUERY_ALL_NUMBER

  • 查询电源状态 BLINKER_CMD_QUERY_POWERSTATE_NUMBER

  • 查询颜色属性 BLINKER_CMD_QUERY_COLOR_NUMBER

  • 查询模式属性 BLINKER_CMD_QUERY_MODE_NUMBER

  • 查询色温属性 BLINKER_CMD_QUERY_COLORTEMP_NUMBER

  • 查询亮度属性 BLINKER_CMD_QUERY_BRIGHTNESS_NUMBER

  • 查询温度属性 BLINKER_CMD_QUERY_TEMP_NUMBER

  • 查询湿度属性 BLINKER_CMD_QUERY_HUMI_NUMBER

  • 查询PM2.5属性 BLINKER_CMD_QUERY_PM25_NUMBER

务必在回调函数中反馈该控制状态

注册回调函数:

BlinkerAliGenie.attachQuery(aligenieQuery);

天猫精灵支持的语音指令


  • 打开/关闭{门口}的{灯}

  • 把{卧室}的{灯}调为{红色}

  • 把{卧室}的{灯}的{亮度调高一点}

  • 把{卧室}的{灯}调为{影院模式}

  • 把{门口}的{灯}的{色温}调到{1400}

  • 把{卧室}的{灯}的{色温调暖一点}

  • 查询{卧室}的{灯}的状态

  • 插座

  • 打开/关闭{厨房}的{插座}

  • {客厅}的{插座}是否打开

  • 传感器

  • 查询{客厅}的{传感器}的{温度}/{湿度}/{PM2.5}

  • 风扇

  • 打开/关闭{客厅}的{风扇}

  • 打开{客厅}{风扇}的{上下扫风}

  • 把{客厅}的{风扇}调到{一档}

  • 把{客厅}的{风扇}的风速调{高一点}

  • 把{客厅}的{风扇}调为{自然风模式}

  • 空调

  • 打开/关闭{客厅}的{空调}

  • 打开{客厅}{空调}的{上下扫风}

  • 把{客厅}的{空调}调到{低风}

  • 把{客厅}的{空调}的风速调{高一点}

  • 把{客厅}的{空调}调为{自动模式}

  • 把{客厅}的{空调}调到{25摄氏度}

  • 把{客厅}的{空调}温度调{高一点}

  • 查询{客厅}的{空调}的{温度}/{湿度}

天猫精灵支持控制的颜色表


颜色

中文描述

Red

红色

Yellow

黄色

Blue

蓝色

Green

绿色

White

白色

Black

黑色

Cyan

青色

Purple

紫色

Orange

橙色

天猫精灵支持查询的颜色表


(支持控制的颜色也可以查询)

颜色

中文描述

Pink

粉红

Violet

紫罗兰

Magenta

洋红

Indigo

靛青

SlateBlue

蓝灰色

DarkBlue

深蓝色

SkyBlue

天蓝色

DarkCyan

深青色

Beige

浅褐色

Brown

棕色

天猫精灵支持控制的模式表


模式

中文描述

reading

阅读

movie

影院

sleep

睡眠

holiday

假日

music

音乐

common

普通

auto

自动

cold

制冷

heat

制热

ventilate

通风

airsupply

送风

dehumidification

除湿

normalWind

正常风模式

natureWind

自然风模式

sleepWind

睡眠风模式

quietWind

静音风模式

comfortableWind

舒适风模式

babyWind

宝宝风模式

ESP8266天猫精灵接入流程相关推荐

  1. 天猫精灵接入ESP8266+DHT11(blink)

    自制温湿度计 1.设备准备: 天猫精灵智能音箱(什么款式都行).手机端下载点灯科技.DHT11温湿度传感器.esp8266.杜邦线若干:2.在点灯科技端添加设备获取设备key3.编写代码如下: #de ...

  2. Esp8266天猫精灵_RGB灯_非点灯平台

    arduino接入阿里云_天猫精灵_云智能APP_RGB灯 鉴于很多平台的物联网设备数量都受到限制,比如说blinker,免费的只有5个,使用了物联网里的老大哥阿里云,性能稳定,生态完善,响应速度快. ...

  3. 实战版 天猫精灵接入指南(AliGenie接入)

    一 概述 最近公司有个XX产品需要接入天猫精灵,功能很简单大体是使用天猫精灵打开XX产品,设置模式以及查询状态三个功能 现在功能已经基本完成了,再次做个总结供有需要者参考 二 接入时间 关于接入时间, ...

  4. 天猫精灵 python 控制_(二 -3-1) 天猫精灵接入Home Assistant-自动发现Mqtt设备--灯系列 实战...

    #本片教程介绍了具体如何实现天猫精灵控制一个灯. 前提: HASS平台 你已经搭建一个可以在公网IP访问到的HASS平台--- 我用的是租了阿里云服务器,买了个域名,ubuntu1604系统 你已经搭 ...

  5. (零 ) 天猫精灵接入Home Assistant-总说明

    天猫精灵设备管理 https://bbs.hassbian.com/tmall 自己的hass访问地址 http://[自己的IP或域名]:8123/states 自己的MQTT服务器访问 http: ...

  6. (二 -1) 天猫精灵接入Home Assistant-控制Mqtt设备

    关于hass对接mqtt 请参考官网 https://www.hachina.io/docs/7083.html 1 登陆运行着hass的阿里云服务器 2 修改hass配置文件,添加mqtt服务信息 ...

  7. 天猫精灵 python_(一 ) 天猫精灵接入Home Assistant-服务器搭建

    账号dongdongmqtt 密码******4****** 手机 2967 邮箱 10511 2购买提个服务器 ubantu1604  华北 3 设置密码 选择第三个,设个密码 L-----4--- ...

  8. 基于Arduino IDE平台开发ESP8266天猫精灵控制LED灯

    Arduino教程传送门

  9. 使用ESP8266通过Blinker平台接入天猫精灵控制电视/空调

    目录 `演示视频` 1.准备工作 1.1 `原理` 1.2 `使用的硬件以及硬件连接图` 1.3 `开发环境准备` 2.解码空调红外键值 2.1 `把ESP8266红外接收的实例,上传到NodeMCU ...

最新文章

  1. 第一个python程序:定义,列表,元组,集合,求并集交集,键和值,运算符,缩进
  2. 8种方案解决重复提交问题!
  3. soot——相关资源
  4. 初学者应该了解的编程陷阱:javascript篇
  5. 百度2016/2017秋招部分题目解析
  6. 建了个龙悦居社区网www.long360.net,图片独立部署
  7. 9月4日服务器例行维护公告,《诺亚传说手游》官网-【例行维护】9月4日官方维护公告(抢鲜服)- 诺亚手游-首款科幻团战手游...
  8. 周正宁:未来五年属于WebRTC+AV1
  9. CodeBlocks报错原因分析:找不到编译器 / th_en_US.idx' not found! 提示
  10. Python面试题之装饰器漫谈
  11. 纽约时代广场广告费才7千元每天,花钱装逼值不值?
  12. (二分)Trailing Zeroes (III)
  13. bug君你好啊之servlet页面读取jsp的url的值显示为null
  14. 在线图片转base64工具
  15. jconsole中无法显示本地启动的tomcat
  16. mysql数据库日志太多_全方位解读 MySQL 日志实现内幕(四)
  17. 使用Docker实现vsftpd配置——用户验证访问上传
  18. 如何破解已签名JAR包
  19. vue 实现 markdown书写博客 showdown
  20. 解决cesium widgets.css is not exported from package

热门文章

  1. 我去图书馆微信公众号抢座【Python版本】
  2. The Preliminary Contest for ICPC Asia Xuzhou 2019
  3. windows如何使用远程桌面连接电脑
  4. pikachu通关全集
  5. 亚马逊新手卖家如何快速出单必掌握的运营技巧分享?
  6. Tomcat - 深度学习 - 类加器详解
  7. Trajectory Similarity Join in Spatial Networks
  8. 记Vivado使用,报错记录本
  9. 21岁女总裁董思阳,她做对了那些事情
  10. Python常用STL