找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2104|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

小愛師兄控制家用燈泡 Arduino程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:595263 發(fā)表于 2020-3-12 17:57 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
無(wú)論是零器件采購(gòu),或者是程序有不懂或者不明白的地方都可以回帖找我

單片機(jī)源程序如下:
  1. #define BLINKER_WIFI
  2. #define BLINKER_MIOT_OUTLET   //小愛師兄

  3. #include <Blinker.h>

  4. char auth[] = "daa5bb3f1a9f";  //設(shè)備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) {     //小愛師兄控制開命令 此處修改為點(diǎn)動(dòng)模式,適合按鈕操作,
  14.       
  15.          
  16.          digitalWrite(0, LOW);
  17.         BlinkerMIOT.powerState("on");

  18.         BlinkerMIOT.print();

  19.         oState = true;
  20.     }
  21.     else if (state == BLINKER_CMD_OFF) {   //小愛師兄控制關(guān)命令 此處修改為點(diǎn)動(dòng)模式,適合按鈕操作,

  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)      // 如果未綁定的組件被觸發(fā),則會(huì)執(zhí)行其中內(nèi)容
  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)     //點(diǎn)燈app內(nèi)控制按鍵觸發(fā)
  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默認(rèn)為高電平

  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. }
復(fù)制代碼

所有資料51hei提供下載:
小愛-燈泡.zip (759.29 KB, 下載次數(shù): 10)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2020-3-12 22:43 | 只看該作者
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說(shuō)明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復(fù)

使用道具 舉報(bào)

板凳
ID:106272 發(fā)表于 2020-3-12 23:05 | 只看該作者
添加些圖片及說(shuō)明吧,都不知道這個(gè)都有什么功能
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表