硬件篇:智能家居DIY(esp8266+继电器+blinker+天猫精灵实现开关灯) | 您所在的位置:网站首页 › 天猫精灵程序开发 › 硬件篇:智能家居DIY(esp8266+继电器+blinker+天猫精灵实现开关灯) |
写在前面
前段时间在某音看见一位技术博主用esp8266加继电器模块实现了小爱同学开关灯,刚好我的手边也有一块esp8266的nodemcu模块,所以就打算自己也动手试试。(天猫精灵自备哦。) 制作期间我参考了论坛很多朋友的博客,每一篇讲的都很详细,适合小白上手,但在硬件连接方面讲的并不是很多,所以我们会着重讲一下硬件的连接。 提示:我这里改的是我的小台灯,不是宿舍的灯哦,大家DIY要注意安全哦!! 准备材料esp8266nodemcu模块 高电平触发继电器 5V-3V3电平转换模块 小开关 台灯 制作过程 1.arduino开发环境准备详细的环境搭建步骤就不再赘述了,论坛上教程非常多。 此步骤主要完成: arduino 软件安装esp8266 库安装blinker 库安装 2.blinker环境配置手机下载blinker软件,应用图标是一个蓝色的LED哦。 设备添加步骤: 右上角“+”号——>独立设备——>网络接入——>阿里云——>注意复制一下key——>打开设备——>右上角添加一个按键和一个数据 3.烧录程序nodemcu连接电脑串口下载下面的程序 #define BLINKER_WIFI #define BLINKER_ALIGENIE_LIGHT //天猫精灵 #include char auth[] = "57c********1"; //换成APP获取到的密匙 char ssid[] = "128"; //WiFi账号 char pswd[] = "xkcz128128"; //WIFI密码 int pinRelay =1; // 新建组件对象 BlinkerButton Button1("btn-abc"); BlinkerNumber Number1("num-abc"); // 按下按键即会执行该函数 void button1_callback(const String & state) { BLINKER_LOG("get button state: ", state); if (state=="on") { digitalWrite(LED_BUILTIN, HIGH); digitalWrite(pinRelay,HIGH); // 反馈开关状态 Button1.print("on"); } else if(state=="off"){ digitalWrite(LED_BUILTIN, LOW); // 反馈开关状态 digitalWrite(pinRelay, LOW); Button1.print("off"); } } void heartbeat() //心跳包 { Button1.icon("fas fa-lightbulb"); Button1.color("#fddb00"); Button1.text("关灯","打开啦"); Number1.print(WiFi.RSSI()); //信号强度 } //天猫精灵 void aligeniePowerState(const String & state) { BLINKER_LOG("need set power state: ", state); if (state == BLINKER_CMD_ON) { digitalWrite(LED_BUILTIN, HIGH); digitalWrite(pinRelay, HIGH); BlinkerAliGenie.powerState("off"); BlinkerAliGenie.print(); } else if (state == BLINKER_CMD_OFF) { digitalWrite(LED_BUILTIN, LOW); digitalWrite(pinRelay,LOW); BlinkerAliGenie.powerState("on"); BlinkerAliGenie.print(); } } void setup() { // 初始化串口 Serial.begin(115200); // 初始化有LED的IO pinMode(LED_BUILTIN, OUTPUT); pinMode(1, OUTPUT); digitalWrite(LED_BUILTIN,LOW); digitalWrite(pinRelay, LOW); // 初始化blinker Blinker.begin(auth, ssid, pswd); Button1.attach(button1_callback); BlinkerAliGenie.attachPowerState(aligeniePowerState); Blinker.attachHeartbeat(heartbeat); } void loop() { Blinker.run(); } 4.天猫精灵添加设备程序烧录完成后我们可以在blinkerAPP看见我们添加的设备已经在线了,这时打开天猫精灵APP。 操作步骤如下: 右上角加号——>添加设备——>搜索blinker——>绑定blinker账号——>查看已连接设备 5.硬件连接这里我以我的接线为准画一个简单的示意图:(水平有限,见谅) 我们可以在继电器的公共端和常开端接一个开关,这样我们就可以通过这个开关手动开灯了。 制作花絮出于强迫症的我最终把它焊在了一块板子上,动手能力较差的还是推荐面包板和杜邦线连接哦。 下面是制作的一些效果图和最终的成品。 效果演示由于视频上传原因,演示视频观看请移步【演示视频】。 本文章仅仅是一个分享,感兴趣的可以看看,大佬勿喷。。 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |