使用Blinker APP+NodeMCU控制多路接口
- 上一期介绍了如何使用语音助手控制多路接口,这一期将为大家介绍如何使用官方提供的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控制多路接口相关推荐
- esp8266接入Blinker小爱同学控制WS2812的RGB以及亮度调节
esp8266接入Blinker小爱同学控制WS2812的RGB以及亮度调节 所需准备的库: Adafruit_NeoPixel Blinker 开发板选择 1.源代码部分: 源代码: //WS281 ...
- android 如何去控制第三方音乐播放app之控制QQ音乐
最近在做一个需求,要在桌面去控制qq音乐的播放(即,可以播放暂停,上一曲,下一曲显示歌名和歌手名).接下来一一说下完成这个需求的心路历程. 1.在网上查腾讯有没有针对qq音乐提供SDK接口,结果发现, ...
- 京东广告联盟android,京东APP联盟SDKAndroid版接口说明文档1.0.PDF
京东APP联盟SDKAndroid版接口说明文档1.0 京东APP 联盟SDK Android 版接口说明文档1.0 1. 嵌入SDK 1.1 添加SDK Android Studio 环境:菜单Ne ...
- 淘宝商品详情API接口(网页版,APP端二合一接口)
接口名称:淘宝商品详情API接口(网页版,APP端二合一接口) 接口状态:已完成 接口地址:http://gjx.sd1118.com/api/product/info 请求方式:GET Conten ...
- 基于STM32的ESP8266模块控制多路继电器
基于STM32的ESP8266模块控制多路继电器 1.视频讲解 基于STM32单片机ESP8266物联网阿里云MQTT多路继电器控制 物联网视频教程STM32+ESP8266 2.实物设计 ESP82 ...
- App前端及后端接口,模拟数据及返回值
App前端及后端接口,模拟数据 :接口文档 目录 1. 全局状态码 6 2. 前台 7 2.1. 首页 7 2.1.1. 商品分类列表接口 7 2.1.2. 展示轮播图接口 9 2.1.3. 展示广告 ...
- app自动化测试——app自动化控制、常见控件定位方法
文章目录 一.app自动化控制 1.清理数据: 2.启动: 3.关闭: 二.常见控件定位方法 1.android知识 2.ios 基础知识 3.元素定位 4.控件基础知识 5.app dom 结构解析 ...
- 1688商品详情接口(APP商品详情采集接口,H5商品详情采集接口)代码对接教程
1688商品详情接口(APP商品详情采集接口,H5商品详情采集接口)代码对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018) key String 是 调用k ...
- 大疆Tello UDP控制协议接口
大疆Tello UDP控制协议接口 1. 设计架构 2. UDP报文格式 2.1 控制报文 2.2 查询报文 2.3 状态报文 3. 命令集 3.1 [控制报文]控制命令 3.2 [控制报文]设置命令 ...
最新文章
- php怎么获取手机屏,使用PHP获得屏幕分辨率
- 关于移动端架构的好的学习网站
- 使用Android Studio新建Project并建立多个module
- android杀死进程
- mqtt 传文件断开连接的原因_MQTT PythonClient断开连接不当
- css隐藏元素的几种方法与区别
- 第二章--Mysql分区表
- 开源上网行为管理_做好企业上网行为管理作用大
- TensorFlow by Google CNN分类真实图片 Machine Learning Foundations: Ep #5 - Classifying real-world images
- JSP-tomcat设置编码格式 配置utf-8(以防网页框以及网页显示的时候中文乱码)
- WES7@IIC-China
- Keil5在线调试汇总及基本操作教程
- 把 14 亿中国人都拉到一个微信群在技术上能实现吗?
- matlab输电线路模型,输电线路模型及其特性.ppt
- PHP串口扩展库 serial extension-试用版有限制
- 数据库备份的几种解决方案
- 洛谷P4043 支线剧情
- supermap数据处理
- 细说http状态码之301,304
- Mysql数据库使用规范