• 上一期介绍了如何使用语音助手控制多路接口,这一期将为大家介绍如何使用官方提供的APP控制多路接口。

1、APP的下载地址,以及使用方法可以参考此处,笔者为大家找了一个讲的很详细的网页。
2、关于为什么笔者一直在强调“控制多路接口”,因为官方或者其他网站并未给出此类教程,但这也是一项亟待解决的问题。笔者通过实验,验证了下述算法的可行性,值得大家借鉴。

一、先列出官方提供的例程,便于大家对照比较。

#define BLINKER_WIFI#include <Blinker.h>char auth[] = "Your Device Secret Key";
char ssid[] = "Your WiFi network SSID or name";
char pswd[] = "Your WiFi network WPA password or WEP key";BlinkerButton Button1("btn-abc");void button1_callback(const String & state)
{BLINKER_LOG("get button state: ", state);digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));Blinker.vibrate();
}void setup()
{Serial.begin(115200);    BLINKER_DEBUG.stream(Serial);pinMode(LED_BUILTIN, OUTPUT);digitalWrite(LED_BUILTIN, HIGH);Blinker.begin(auth, ssid, pswd);Button1.attach(button1_callback);
}void loop()
{Blinker.run();
}

二、提前配置好APP内的开关,以及配套的语音功能。

改进后的程序如下:

#define BLINKER_PRINT    Serial
#define BLINKER_WIFI#include <Blinker.h>char auth[] = "******";
char ssid[] = "******";
char pswd[] = "******";#define BUTTON_1 "btn-po9"
#define BUTTON_2 "btn-hkc"
#define BUTTON_3 "btn-abc"BlinkerButton Button1(BUTTON_1);  //定义3个按钮
BlinkerButton Button2(BUTTON_2);
BlinkerButton Button3(BUTTON_3);void button1_callback(const String & state)
{BLINKER_LOG("get button state: ", state);if (state == BLINKER_CMD_ON) {digitalWrite(LED_BUILTIN, LOW);Button1.print("on");}else if (state == BLINKER_CMD_OFF) {digitalWrite(LED_BUILTIN, HIGH);Button1.print("off");}
}void button2_callback(const String & state)
{BLINKER_LOG("get button state: ", state);if (state == BLINKER_CMD_ON) {digitalWrite(LED_BUILTIN, LOW);Button2.print("on");}else if (state == BLINKER_CMD_OFF) {digitalWrite(LED_BUILTIN, HIGH);Button2.print("off");}
}void button3_callback(const String & state)
{BLINKER_LOG("get button state: ", state);if (state == BLINKER_CMD_BUTTON_TAP) {digitalWrite(LED_BUILTIN, LOW);delay(500);digitalWrite(LED_BUILTIN, HIGH);delay(500);digitalWrite(LED_BUILTIN, LOW);delay(500);digitalWrite(LED_BUILTIN, HIGH);delay(500);Button3.print();}else{digitalWrite(LED_BUILTIN, HIGH);Button3.print();}
}void setup()
{Serial.begin(115200);#if defined(BLINKER_PRINT)BLINKER_DEBUG.stream(BLINKER_PRINT);#endifpinMode(LED_BUILTIN, OUTPUT);digitalWrite(LED_BUILTIN, HIGH);Blinker.begin(auth, ssid, pswd);Button1.attach(button1_callback);   //回调函数 Button2.attach(button2_callback);Button3.attach(button3_callback);
}void loop()
{Blinker.run();
}

以上程序能通过APP控制3路开关接口,理论上能控制无数路开关接口。

由于手头缺乏实验器材,笔者测试的时候都是依靠NodeMCU上自带的LED(位于D2口)。所有例程均能保证运行良好。

详情请关注亿航创客官方抖音账号:EhangGroup

使用Blinker APP+NodeMCU控制多路接口相关推荐

  1. esp8266接入Blinker小爱同学控制WS2812的RGB以及亮度调节

    esp8266接入Blinker小爱同学控制WS2812的RGB以及亮度调节 所需准备的库: Adafruit_NeoPixel Blinker 开发板选择 1.源代码部分: 源代码: //WS281 ...

  2. android 如何去控制第三方音乐播放app之控制QQ音乐

    最近在做一个需求,要在桌面去控制qq音乐的播放(即,可以播放暂停,上一曲,下一曲显示歌名和歌手名).接下来一一说下完成这个需求的心路历程. 1.在网上查腾讯有没有针对qq音乐提供SDK接口,结果发现, ...

  3. 京东广告联盟android,京东APP联盟SDKAndroid版接口说明文档1.0.PDF

    京东APP联盟SDKAndroid版接口说明文档1.0 京东APP 联盟SDK Android 版接口说明文档1.0 1. 嵌入SDK 1.1 添加SDK Android Studio 环境:菜单Ne ...

  4. 淘宝商品详情API接口(网页版,APP端二合一接口)

    接口名称:淘宝商品详情API接口(网页版,APP端二合一接口) 接口状态:已完成 接口地址:http://gjx.sd1118.com/api/product/info 请求方式:GET Conten ...

  5. 基于STM32的ESP8266模块控制多路继电器

    基于STM32的ESP8266模块控制多路继电器 1.视频讲解 基于STM32单片机ESP8266物联网阿里云MQTT多路继电器控制 物联网视频教程STM32+ESP8266 2.实物设计 ESP82 ...

  6. App前端及后端接口,模拟数据及返回值

    App前端及后端接口,模拟数据 :接口文档 目录 1. 全局状态码 6 2. 前台 7 2.1. 首页 7 2.1.1. 商品分类列表接口 7 2.1.2. 展示轮播图接口 9 2.1.3. 展示广告 ...

  7. app自动化测试——app自动化控制、常见控件定位方法

    文章目录 一.app自动化控制 1.清理数据: 2.启动: 3.关闭: 二.常见控件定位方法 1.android知识 2.ios 基础知识 3.元素定位 4.控件基础知识 5.app dom 结构解析 ...

  8. 1688商品详情接口(APP商品详情采集接口,H5商品详情采集接口)代码对接教程

    1688商品详情接口(APP商品详情采集接口,H5商品详情采集接口)代码对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018) key String 是 调用k ...

  9. 大疆Tello UDP控制协议接口

    大疆Tello UDP控制协议接口 1. 设计架构 2. UDP报文格式 2.1 控制报文 2.2 查询报文 2.3 状态报文 3. 命令集 3.1 [控制报文]控制命令 3.2 [控制报文]设置命令 ...

最新文章

  1. php怎么获取手机屏,使用PHP获得屏幕分辨率
  2. 关于移动端架构的好的学习网站
  3. 使用Android Studio新建Project并建立多个module
  4. android杀死进程
  5. mqtt 传文件断开连接的原因_MQTT PythonClient断开连接不当
  6. css隐藏元素的几种方法与区别
  7. 第二章--Mysql分区表
  8. 开源上网行为管理_做好企业上网行为管理作用大
  9. TensorFlow by Google CNN分类真实图片 Machine Learning Foundations: Ep #5 - Classifying real-world images
  10. JSP-tomcat设置编码格式 配置utf-8(以防网页框以及网页显示的时候中文乱码)
  11. WES7@IIC-China
  12. Keil5在线调试汇总及基本操作教程
  13. 把 14 亿中国人都拉到一个微信群在技术上能实现吗?
  14. matlab输电线路模型,输电线路模型及其特性.ppt
  15. PHP串口扩展库 serial extension-试用版有限制
  16. 数据库备份的几种解决方案
  17. 洛谷P4043 支线剧情
  18. supermap数据处理
  19. 细说http状态码之301,304
  20. Mysql数据库使用规范

热门文章

  1. SRM 597div2 1K
  2. 图文介绍--光纤接口类型
  3. Java 给Word不同页面设置不同背景
  4. 华为云对象存储浏览器直接打开,而不是下载
  5. 高一对口计算机试题及答案,高一计算机考试模拟题?
  6. 最佳实战 | 如何使用腾讯云微搭从0到1开发企业门户应用
  7. 读书杂抄之《挪威的森林》
  8. 28_RTC实时时钟BKP备份寄存器
  9. 哪个106短信服务平台好?这4点要参考!
  10. vue的三种传值方式:父传子,子传父,子传子