找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1770|回复: 2
打印 上一主题 下一主题
收起左侧

小爱师兄控制家用灯泡 Arduino程序

[复制链接]
跳转到指定楼层
楼主
ID:595263 发表于 2020-3-12 17:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
无论是零器件采购,或者是程序有不懂或者不明白的地方都可以回帖找我

单片机源程序如下:
  1. #define BLINKER_WIFI
  2. #define BLINKER_MIOT_OUTLET   //小爱师兄

  3. #include <Blinker.h>

  4. char auth[] = "daa5bb3f1a9f";  //设备key
  5. char ssid[] = "JCG-572D74";  //路由器wifi ssid
  6. char pswd[] = "tmtmtmtm";  //路由器wifi 密码
  7. BlinkerButton Button1("btn-abc");     //定义按钮键名
  8. bool oState = false;
  9. int counter = 0;
  10. void miotPowerState(const String & state)
  11. {
  12.     BLINKER_LOG("need set power state: ", state);

  13.     if (state == BLINKER_CMD_ON) {     //小爱师兄控制开命令 此处修改为点动模式,适合按钮操作,
  14.       
  15.          
  16.          digitalWrite(0, LOW);
  17.         BlinkerMIOT.powerState("on");

  18.         BlinkerMIOT.print();

  19.         oState = true;
  20.     }
  21.     else if (state == BLINKER_CMD_OFF) {   //小爱师兄控制关命令 此处修改为点动模式,适合按钮操作,

  22.         digitalWrite(0, HIGH);
  23.         BlinkerMIOT.powerState("off");

  24.         BlinkerMIOT.print();

  25.         oState = false;
  26.     }
  27. }

  28. void miotQuery(int32_t queryCode)      //小爱师兄控制
  29. {
  30.     BLINKER_LOG("MIOT Query codes: ", queryCode);

  31.     switch (queryCode)
  32.     {
  33.         case BLINKER_CMD_QUERY_ALL_NUMBER :
  34.             BLINKER_LOG("MIOT Query All");
  35.             BlinkerMIOT.powerState(oState ? "on" : "off");
  36.             BlinkerMIOT.print();
  37.             break;
  38.         case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :
  39.             BLINKER_LOG("MIOT Query Power State");
  40.             BlinkerMIOT.powerState(oState ? "on" : "off");
  41.             BlinkerMIOT.print();
  42.             break;
  43.         default :
  44.             BlinkerMIOT.powerState(oState ? "on" : "off");
  45.             BlinkerMIOT.print();
  46.             break;
  47.     }
  48. }

  49. void dataRead(const String & data)      // 如果未绑定的组件被触发,则会执行其中内容
  50. {
  51.     BLINKER_LOG("Blinker readString: ", data);

  52.     Blinker.vibrate();
  53.    
  54.     uint32_t BlinkerTime = millis();
  55.    
  56.     Blinker.print("millis", BlinkerTime);
  57. }

  58. void button1_callback(const String & state)     //点灯app内控制按键触发
  59. {
  60.     BLINKER_LOG("get button state: ", state);
  61.     digitalWrite(0,LOW);
  62.     delay(200);
  63.     digitalWrite(0, HIGH);
  64. }

  65. void setup()
  66. {
  67.     Serial.begin(115200);
  68.     BLINKER_DEBUG.stream(Serial);

  69.     pinMode(0, OUTPUT);              //定义io口为输出
  70.     digitalWrite(0, HIGH);           //定义io默认为高电平

  71.     Blinker.begin(auth, ssid, pswd);
  72.     Blinker.attachData(dataRead);
  73.    
  74.     BlinkerMIOT.attachPowerState(miotPowerState);
  75.     BlinkerMIOT.attachQuery(miotQuery);
  76.     Button1.attach(button1_callback);      
  77. }

  78. void loop()
  79. {
  80.     Blinker.run();
  81. }
复制代码

所有资料51hei提供下载:
小爱-灯泡.zip (759.29 KB, 下载次数: 10)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2020-3-12 22:43 | 只看该作者
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

板凳
ID:106272 发表于 2020-3-12 23:05 | 只看该作者
添加些图片及说明吧,都不知道这个都有什么功能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表