新手求助,想用小爱控制PWM的占空比-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2067|回复: 1

[求助] 新手求助,想用小爱控制PWM的占空比

[复制链接]
发表于 2020-5-21 07:54 | 显示全部楼层 |阅读模式
思路是这样的就是控制一个IO口PWM的占空比,这样可以用在调光,也可以用在直流小风扇调速,现在是APP操作已经调试可以了(代码没写完),在添加小爱语音的时候遇到问题,米家里已经同步了设备,语言操作小爱提示"先帮你操作了,看看设备状态吧",串口监视看不到小爱操作函数有进入,大家看看什么问题,谢谢

#define BLINKER_WIFI                  //官方wifi协议库
#define BLINKER_ESP_SMARTCONFIG         // 进行配网
#define BLINKER_MIOT_LIGHT
#define BLINKER_PRINT Serial            //串口协议库
#include <Blinker.h>                  //官方库

char auth[] = "**********";           //设备key号
char ssid[] = "**********";                     //wifi名称
char pswd[] = "*********";              //wifi密码

//*******新建组件对象   设置app按键的键名
BlinkerButton Button1("btn-1");         
BlinkerButton Button2("btn-2");
BlinkerSlider Slider1("le-1");


//*******app上按下按键即会执行该函数app里按键有2种模式3钟不同样式,下面写出所有的开关状态。
////////////////////////////////////////////////////////////////////////////1
void button1_callback(const String & state)              //用state来存储组键的值按键 : "tap"(点按); "pre"(长按); "pup"(释放)开关 : "on"(打开); "off"(关闭)
{
  BLINKER_LOG("app操作 按键1 : ", state);                //串口打印
  analogWrite(0, 500);
}
///////////////////////////////////////////////////////////////////////////////2
void button2_callback(const String & state)              //用state来存储组键的值按键 : "tap"(点按); "pre"(长按); "pup"(释放)开关 : "on"(打开); "off"(关闭)
{
  BLINKER_LOG("app操作了 按键2 : ", state);                //串口打印
   analogWrite(0, 100);
   Slider1.print(50);   
}

void Slider1_callback(int32_t value)              //滑动条操作
{
  BLINKER_LOG("app操作",value );                //串口打印

}

  //*******app定时向设备发送心跳包, 设备收到心跳包后会返回设备当前状态30s~60s一次
void heartbeat()
{
  BLINKER_LOG("状态同步!");      
}

void miotBright(const String & bright)     //小爱操作函数
{
    BLINKER_LOG("need set brightness: ", bright);
    //待添加
    BLINKER_LOG("now set brightness: ", value);
    BlinkerMIOT.brightness(value);
    BlinkerMIOT.print();   
}

void setup()
{
  // 初始化串口
  Serial.begin(115200);
  BLINKER_DEBUG.stream(Serial);

  // 初始化有LED的IO
analogWrite(0, 50);   //端口0,占空比50;

  // 初始化blinker
  Blinker.begin(auth);//, ssid, pswd

  Button1.attach(button1_callback);   //app上操作必须的注册回调函数关联按键名“Button1”和判断程序“button1_callback"
  Button2.attach(button2_callback);   //app上操作必须的注册回调函数关联按键名“Button1”和判断程序“button1_callback"
  Slider1.attach(Slider1_callback);     //app滑动条
  BlinkerMIOT.attachBrightness(miotBright);//小爱语音操作注册函数   
  Blinker.attachHeartbeat(heartbeat);            //app定时向设备发送心跳包, 设备收到心跳包后会返回设备当前状态进行语音操作和app操作同步。
}

void loop() {
  Blinker.run();
}


发表于 2020-5-23 21:00 | 显示全部楼层
尝试更新https://github.com/blinker-iot/blinker-library/tree/dev_3.0的库看看吧,最近升级,语音助手API都改写了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 19:04 , Processed in 0.073052 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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