教程
- 软件准备
电脑端安装Arduino软件,手机端安装点灯科技APP,以及米家APP和小爱音响。
电脑端所需以及点灯科技APP都在在网盘资料文件夹中,需要网盘资源的评论区找我要。
- 硬件准备
小爱音响一个
ESP8266模块一个
舵机一个
硬件连接
- Arduino软件调试
安装完arduino和8266离线包后,解压blinker-library-master复制到我的电脑>文档>Arduino>libraries 文件夹中
安装完成以后,进入首选项(Preferences),找到附加开发板管理器地址(Additional Board Manager URLs),并在其后添加如下信息:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
之后点击工具 - 开发板 - 开发板管理器,进入开发板管理器界面:
找到 esp8266 并安装:
安装完成后,重启 Arduino IDE 软件。在工具 - 开发板选项中即会看到 ESP8266 开发板的选项:
- 程序编写
//按下按键舵机到达指定位置。
//如果只是由滑块控制舵机详细操作见代码!
#include <Servo.h>
#define BLINKER_WIFI
#define BLINKER_MIOT_OUTLET //控制不同的东西此处会有所不同,具体参考点灯科技官网
#include <Blinker.h>
char auth[] = "。。。。。。。。。。。。"; //点灯Key
char ssid[] = "。。。。。。。。。。。。"; //wifi名称
char pswd[] = "。。。。。。。。。。。。"; //wifi密码
// 新建组件对象(按键)
BlinkerButton Button1("btn-。。。"); //位置1 按钮 数据键名
Servo myservo;
int servo_mid=62; //动作一
int servo_close=105; //中间动作
int servo_max=140; //动作二
void button1_callback(const String & state) {
Blinker.vibrate();
if (state=="on") { //位置1 按钮
myservo.write(servo_max);
delay(200);
myservo.write(servo_close);
Button1.print("on"); //反馈状态
}
else if(state=="off"){ //位置2 按钮
myservo.write(servo_mid);
delay(200);
myservo.write(servo_close);
Button1.print("off"); //反馈状态
}
}
void miotPowerState(const String & state)
{
BLINKER_LOG("need set power state: ",state);
if (state == BLINKER_CMD_OFF) { //如果语音接收到是关闭灯就执行动作
myservo.write(servo_mid);
delay(200);
myservo.write(servo_close);
BlinkerMIOT.powerState("off"); //反馈状态
BlinkerMIOT.print();
}
else if (state == BLINKER_CMD_ON) { //如果语音接收到是开灯就执行动作
myservo.write(servo_max);
delay(200);
myservo.write(servo_close);
BlinkerMIOT.powerState("on"); //反馈状态
BlinkerMIOT.print();
}
}
void setup() {
Serial.begin(115200); //波特率115200
BLINKER_DEBUG.stream(Serial);
Blinker.begin(auth, ssid, pswd);
Button1.attach(button1_callback);
myservo.attach(D2); //舵机信号线接口
myservo.write(servo_close); //舵机初始状态
BlinkerMIOT.attachPowerState(miotPowerState);//这段代码一定要加,不加小爱同学控制不了,务必在回调函数中反馈该控制状态
}
void loop() {
Blinker.run();
}
将以上代码粘贴进去
- 手机端调试
配置手机《点灯科技》软件。
添加两个按键
如图设置按键,记住数据键名
关灯按键如图设置,将关灯的数据键名修改和开灯一样
将相关信息填入代码,然后就可以将程序上传到单片机了。
选择正确的com口。
- 测试
打开点灯科技,先通过按键控制舵机,查看舵机有无动作。
测试无误后,打开米家APP
在米家找到点灯科技并绑定账号
绑定成功后同步设备。
此时就可以利用小爱音响控制舵机了。
- 舵机安装
调整舵机安装位置,用热熔胶粘在开关旁边。并测试能否推动开关,可根据自己实际情况调整如下程序中舵机的动作幅度。
安装完成后就可以用语言开关灯了。
还可以利用小爱音响APP对小爱进行训练。
创建自己喜欢的动作。