查看: 3236|回复: 5

blinker物联网教程——8、定时震动器

[复制链接]

该用户从未签到

发表于 2021-3-10 20:23 | 显示全部楼层 |阅读模式
本帖最后由 海神 于 2021-12-14 11:06 编辑

简介

blinker设备端SDK已经集成了定时控制功能,用户只需要添加定时组件到设备页面后,点击定时组件即可设置定时任务。定时任务可绑定按键动作,当到了用户设定的时间,设备端即会触发按键对应的动作。
本节我们制作一个定时震动提示器,手机端添加一个按键控件,当手机按下按键后,震动提示器就开始震动。
我们还添加一个倒计时时间,与这个按键绑定。当倒计时完成后,发出震动提醒。

硬件

wifiduino主板*1
wifiduino拓展板*1
震动模块*1
3P连接线*1

软件

Blinker手机app

代码

  1. #define BLINKER_WIFI

  2. #include <Blinker.h>
  3. #define PIN D13


  4. char auth[] = "d8bdba0xxxx";
  5. char ssid[] = "mosxxun";
  6. char pswd[] = "1803808xxxx";

  7. // 新建组件对象
  8. BlinkerButton Button1("btn-abc");

  9. int counter = 0;

  10. // 按下按键即会执行该函数
  11. void button1_callback(const String & state)
  12. {
  13.     BLINKER_LOG("get button state: ", state);
  14.     if (state == BLINKER_CMD_BUTTON_TAP) {      //按键被点击
  15.         BLINKER_LOG("Button tap!");   //blinker调试窗口显示"Button tap!"
  16.         Button1.color("#FF0000");    // 按键颜色设为红色
  17.         Button1.text("red");   //设置按键的描述
  18.         digitalWrite(PIN, HIGH); // 将LED灯状态反转,亮变灭,灭变亮
  19.         Button1.print();   //将按键状态信息输出给电脑上显示
  20.     }
  21.     else if (state == BLINKER_CMD_BUTTON_PRESSED) {    //按键被按下不放
  22.         BLINKER_LOG("Button pressed!");   
  23.         Button1.color("#FFFF00");    //按键颜色显示为黄色
  24.         Button1.text("yellow");
  25.         digitalWrite(PIN, LOW); // 将LED灯状态反转,亮变灭,灭变亮
  26.         Button1.print();
  27.     }

  28. }

  29. void setup()
  30. {
  31.     // 初始化串口
  32.     Serial.begin(115200);
  33.     BLINKER_DEBUG.stream(Serial);
  34.     // 初始化有LED的IO
  35.     pinMode(PIN, OUTPUT);
  36.     digitalWrite(PIN, LOW);
  37.     // 初始化blinker
  38.     Blinker.begin(auth, ssid, pswd);
  39.     Button1.attach(button1_callback);
  40. }

  41. void loop() {
  42.     Blinker.run();
  43. }
复制代码

注意程序里定义的震动模块接口为D13
  1. #define PIN D13
复制代码
程序中,我们用到了按键的两种状态,单击按键、长按按键
BLINKER_CMD_BUTTON_TAP  ——单击按键
BLINKER_CMD_BUTTON_PRESSED ——长按按键
在出于单击按键状态时,触发震动。如果要关闭震动的话,就长按按键。

blinker定制软件界面

添加按键组件,将键名修改为程序里定义的“btn-abc”,显示文本内容修改为震动。修改图标样式及图标颜色。
zdq1.png zdq2.png
添加定时组件。完成编辑,点右上角解锁。
点击定时任务编辑定时内容,选择定时时间为1分钟,单击震动按键,定时任务与按键动作相绑定。点击开始
zdq4.png zdq5.png

硬件连接

将扩展板堆叠在wifiduino主板上,并将震动模块通过连接线连接在扩展板上的D13(程序定义)接口中。
连接完成后,给wifiduino通电 wifiduino上电后会自动连接入网。
zdq6.png
观察现象

等到定时1分钟结束后,观察震动模块是否震动。当震动开始后,我们想要停止震动,手机app回到主界面,长按震动按键,知道图标变成黄色,便可关闭震动提示。
zdq7.png

进阶

除了添加一个定时任务,我们还可以添加多个任务,在定时结束时来触发按键控件,这样就可以实现设置不同的时间点触发同一个事件,比如开灯、打铃、喂猫等等。
以上实验我们用到了定时任务中的倒计时功能,除了倒计时功能,还有定时功能、循环功能,他们用法一致,可以根据实际情况选择对应的功能。




blinker物联网教程目录
blinker物联网教程——1、物联网及blinker介绍
blinker物联网教程——2、搭建编程环境
blinker物联网教程——3、主控硬件wifiduino
blinker物联网教程——4、控制开关灯
blinker物联网教程——5、认识传感器
blinker物联网教程——6、wifi智能插座
blinker物联网教程——7、室内温湿度计
blinker物联网教程——8、定时任务-定时震动器
blinker物联网教程——9、blinker语音识别-芝麻开门
blinker物联网教程——10、日照时间分析
blinker物联网教程——11、自动灌溉
blinker物联网教程——12、调色盘
blinker物联网教程——13、公园噪音监测
blinker物联网教程——14、智能停车场
blinker物联网教程——15、物联网天气时钟
16、空气加湿器
17、远程烟雾报警
18、气象站
blinker物联网教程——19、接入小度智能音箱
20、语音氛围灯
21、远程控制电脑开关机
22、手机控制空调
blinker物联网教程——23、wifi智能小车
blinker物联网教程——24、智能宠物喂食器
25、xxxx
26、xxxxx

该用户从未签到

发表于 2021-5-6 20:10 | 显示全部楼层
本帖最后由 lizjuee 于 2021-5-6 20:16 编辑

华为麦芒8手机上使用免费版和专业版app都没有找到“定时”组件,不知是何原因?

点评

原因应该是你自己没有找到, 界面的右上角 设置里面  详情 回复 发表于 2021-5-7 08:38

该用户从未签到

 楼主| 发表于 2021-5-7 08:38 | 显示全部楼层
lizjuee 发表于 2021-5-6 20:10
华为麦芒8手机上使用免费版和专业版app都没有找到“定时”组件,不知是何原因? ...

原因应该是你自己没有找到,  界面的右上角 设置里面

该用户从未签到

发表于 2021-7-28 22:03 | 显示全部楼层
在右上角三个点那里,点开有定时任务,新版的不在组件那里了

该用户从未签到

发表于 2021-9-21 16:07 | 显示全部楼层
我需要的是按一天中某个时间设置任务,比如说是早上一点 三点自动执行,你这个是倒计时,完全不是定时

点评

你仔细看下界面,定时任务有三种模式,倒计时、定时、循环~~~  详情 回复 发表于 2021-9-22 10:21

该用户从未签到

 楼主| 发表于 2021-9-22 10:21 | 显示全部楼层
duxiaodi888 发表于 2021-9-21 16:07
我需要的是按一天中某个时间设置任务,比如说是早上一点 三点自动执行,你这个是倒计时,完全不是定时 ...

你仔细看下界面,定时任务有三种模式,倒计时、定时、循环~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

OLED 128*64自制可达10000000个选项的菜单(已更新)
OLED 128*64自制可达10000
OLED 128*64自制可达10000000个选项的菜单 温馨提示: 建议占个楼再食用本帖子
自制麦轮小车robomasterV4详细教程
自制麦轮小车robomasterV4
一 介绍 这个帖子中,我将介绍用arduino制作一台PID调制的麦轮小车底盘部分的方法 资
小度音箱不能正确报出温度
小度音箱不能正确报出温度
blinker版本:version '0.3.0.3.80211227'问题描述:小度获取DHT11温度和湿度的时候,
esp8266网页配置wifi 及Blinker秘钥,实现远程开灯
esp8266网页配置wifi 及Bl
经过一段时间的学习借鉴,写了一段可以web配网,配Blinker秘钥的程序,借鉴很多大佬,
【Arduino】168种传感器模块系列实验(193)---TCS34725颜色识别
【Arduino】168种传感器模
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表