垃圾桶接入小爱同学

实验现象:

 

垃圾桶接入小爱同学

1.所需零件:

ESP8266 WIFI模块一块;

G90舵机一个;

专用USB数据线一根;

公对母杜邦线三根;

垃圾桶;

废纸板;

线;

电源(这里我是使用的是充电宝直接给开发板供电);

所用工具:

热熔胶枪; 剪刀;

所需软件:

  手机端:点灯blinker、米家、小爱同学(如果是小米手机的可以直接用,不是的可以去应用商店里下载),以上软件都可以到应用商店里下载,(如果有小爱音箱的可以下载一个小爱音箱的软件进行绑定控制)

 电脑端:

   

    Arduino软件可以到Arduiino官网或blinker官网去下载,记得要添加相应的库文件。

2.接线:

舵机的橙色信号线接开发板的D0

舵机的红色电源正极线接开发板的VV

舵机的灰色线电源负极接开发板的G(GND)

3.对软件进行注册,绑定相应的账号。

具体步骤下载并注册点灯blinker、米家、小爱同学、

   (1)打开点灯blinker>添加设备>独立设备>网路接入>阿里云>复制并保持key秘钥>返回我的设备>新的设备>新的设备设置>进行图标和名称的修改(我的名称为垃圾桶)>退出点灯blinker

  (2)打开米家>我的>其他平台设备>添加并绑定点灯科技

4、程序的烧入

不要忘记添加ESP8266的库文件,打开工具>管理库添加

如果没有搜到,要打开文件>首选项添加下列网址在重新进行加载

http://arduino.esp8266.com/stable/package_esp8266com_index.json

建议直接安装ESP8266库文件的安装包,因为这个加载非常慢。链接如下

链接:https://pan.baidu.com/s/1weAKUnGUZt1a9LIbtMnNkQ 提取码:yoip 

如果你没有安装blinker的库文件记得安装一下。链接如下

链接:https://pan.baidu.com/s/19Rkm-Gy9wbWkyFn34P41xw 提取码:dob2 

程序代码:

#define BLINKER_WIFI
#define BLINKER_MIOT_OUTLET
#include <Servo.h>

#define PIN_SERVO D0 //舵机信号线

Servo myservo;

#include <Blinker.h>

char auth[] = "";//点灯秘钥
char ssid[] = "";//无线网名称
char pswd[] = "";//无线网密码

bool oState = false;

void miotPowerState(const String & state)
{
    BLINKER_LOG("need set power state: ", state);
    myservo.attach(PIN_SERVO);

    if (state == BLINKER_CMD_ON) {
        myservo.write(120);//舵机正转度数
        delay(1000); 

        BlinkerMIOT.powerState("on");
        BlinkerMIOT.print();

        oState = true;
    }
    else if (state == BLINKER_CMD_OFF) {
        myservo.write(-120);//舵机反转度数
        delay(1000); 

        BlinkerMIOT.powerState("off");
        BlinkerMIOT.print();  

        oState = false;
    }
}

void miotQuery(int32_t queryCode)
{
    BLINKER_LOG("MIOT Query codes: ", queryCode);

    switch (queryCode)
    {
        case BLINKER_CMD_QUERY_ALL_NUMBER :
            BLINKER_LOG("MIOT Query All");
            BlinkerMIOT.powerState(oState ? "on" : "off");
            BlinkerMIOT.print();
            break;
        case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :
            BLINKER_LOG("MIOT Query Power State");
            BlinkerMIOT.powerState(oState ? "on" : "off");
            BlinkerMIOT.print();
            break;
        default :
            BlinkerMIOT.powerState(oState ? "on" : "off");
            BlinkerMIOT.print();
            break;
    }
}

void dataRead(const String & data)
{
    BLINKER_LOG("Blinker readString: ", data);

    Blinker.vibrate();
    
    uint32_t BlinkerTime = millis();
    
    Blinker.print("millis", BlinkerTime);
}

void setup()
{
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);

    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, LOW);

    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);
    
    BlinkerMIOT.attachPowerState(miotPowerState);
    BlinkerMIOT.attachQuery(miotQuery);
}

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

具体度数还要根据实际更改,要把保存的密钥复制到代码里,小爱同学音箱或手机的无线网要和代码里的保持一致。

5、控制修改

如下把烧入程序成功后,把他插在充电宝上,通过开发板进行供电来控制舵机,

打开点灯blinker>刷新使设备在线

打开米家>我的>其他平台设备>点灯科技>同步设备

打开小爱同学>智能家居

进行试验调整

6、垃圾桶改造

拿出纸板根据垃圾桶的大小裁剪出一垃圾桶盖,把裁剪出的垃圾桶盖的1/3出进行对折使之可以自由活动,把1/3的用热熔胶粘在垃圾桶的上面,同时把舵机粘在垃圾盖的1/3出并用线与另外的2/3进行连接,得到如下所示的成品。

接下来既可以进行语音调试和控制了

如果这个软件的连接没有清楚,可以去参考我的另一篇博客 ,连接如下

ESP8266 WIFI+舵机+小爱同学+blinker___宿舍关灯神器_@A.D.的博客-CSDN博客_esp8266控制舵机开关灯

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@A.D.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值