ESP8266 继电器保姆级教程并加入UDP局域网API控制-Arduino中文社区 - Powered by Discuz! Archiver

阿宇 发表于 2020-3-6 14:10

ESP8266 继电器保姆级教程并加入UDP局域网API控制

一包辣条钱打造物联网开关为什么想到这个标题呢? 因为我此刻正在吃辣条….. 大家应该每天面对的是枯燥的代码,而今天给大家带来一个不一样的东西,有血有肉有生命.背景一花一世界,一树一菩提.在我们程序员的眼里, 一花一树, 大概是一台耐操的电脑加上一台丝滑的显示器, 如果两台显示器,那就是人生巅峰. 咳咳, 不错的,我的世界可以没有女朋友, 但是不能没有电脑,不能与它一起睡觉,我也要把它们摆在我的卧室,占为己有.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/girlfriend.jpg心理上得到了满足,可是我生理上却饱受折磨.每到了我睡觉的时候,显示器上得电源灯,音响得电源灯,路由器的状态灯, 更要命的是,我这台年久的音响,到了晚上,不知道是不是WIFI信号对它有干扰,中觉得它在发出嘟嘟嘟的电流声~~~我当然可以在睡觉前把总开关关闭,早上起来打开电脑再把开关打开,可是咱们是程序员,这种重复的事情就应该交给程序来做!! 然后我想到的是米家的智能插座, 配合其他传感器,可以实现各种场景的自动控制. 可偏偏找不到这样的解决方案:电脑开机-> 电源接通电脑关机-> 电源关闭找不到现成的解决方案,那我就只能自己做一套了,我在网上找到最廉价的物联网开关ESP8266+物联网继电器 ,一套不是998更不是99,而是9.9.为了避免广告嫌疑,我就不放链接了,大家自行某宝搜索.买来之后我的心里也是犯嘀咕的,我一个C#开发,能玩转这种单片机? 然鹅… 我就用一个晚上的时间,真还就被我搞出来了,所以我觉得在座的各位大佬更是没问题.ESP8266 科普(硬件准备)ESP8266 是一款国产成本极低且具有完整TCP/IP协议栈的Wi-Fi 物联网控制芯片, 并且深受西方创客的喜爱,生态比较丰富,某宝售价6元左右.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/ESP-01.jpg与其配套的是这么一个物联网继电器,某宝售价3-4元,把ESP8266插入对应的插孔两即可完美结合.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/%E7%BB%A7%E7%94%B5%E5%99%A8.jpg为了给ESP8266注入生命力,还需要购买这么一个ESP8266的烧录器,某宝8元.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/%E7%83%A7%E5%BD%95%E5%99%A8.png软件准备
[*]Arduino IDE并安装好esp8266扩展
Arduino IDE下载地址
ESP8266扩展包安装方法
[*]下载并安装blinker APP
我需要解释一下,为什么安装这个APP呢? blinker是一家做物联网解决方案的,作为爱好者的我们可以免费接入他们的平台,接入该平台后,我们不管是不是在家,都可以通过手机App控制,并可借助他们的SDK实现小爱同学的语音控制.Android下载点击下载或 在android应用商店搜索“blinker”下载安装
IOS下载点击下载或 在app store中搜索“blinker”下载
[*]下载并安装blinker Arduino库
点击下载
Windows:将下载好的blinker库解压到 我的电脑>文档>Arduino>libraries 文件夹中
Mac OS:将下载好的blinker库解压到 文稿>Arduino>libraries 文件夹中解压之后目录结构像这样子.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/blinker.png获取Secret Key
[*]进入App,点击右上角的“+”号,然后选择 添加设备
[*]点击选择Arduino > WiFi接入
[*]选择要接入的服务商
[*]复制申请到的Secret Key
DIY界面
[*]在设备列表页,点击设备图标,进入设备控制面板
[*]按如下图添加button_on和button_off两个按钮https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/button_on.jpghttps://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/button_off.jpg
编译并上传示例程序在我的GitHub下载为大家准备好的代码https://github.com/liuzhenyulive/ESP8266SmartSwitch(记得Star噢)双击blinker_app_xiaoai.ino用Arduino IDE打开, 输入刚刚在App中申请的Secret Key和你们家的WIFI名称和密码,建议2.4Gwifi, 5Gwifi我没有测试, 还有UDP的监听端口.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/ESP8266GitHub.png1char auth[] = "2cf492755d68";//设备key
2char ssid[] = "2.4";//路由器wifi ssid
3char pswd[] = "12345678";//路由器wifi 密码
4unsigned int localUdpPort = 4210;// 局域网中的UDP监听端口
编译并上传程序到esp8266开发板,如果提示缺少什么库,就在Arduino的项目->加载库->管理库 中下载缺失的库即可.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/upload.png当看到如下提示,代表上传成功了.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/finished.png此时不要把它从你的电脑上拔掉,登录你们家的路由器,查看该设置的IP地址.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/iplookup.png打开在我GitHub仓库中为大家准备的UDP调试工具和串口调试工具,在UDP调试工具中输入该设备的IP和UDP监听端口,发送on,串口调试工具能接收到on,发送off能接收到off.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/debugtool.png同时,我们打开点灯blinker的app,如果你幸运的话它应该已经上线了,在app中点击on或off, 串口调试工具有对应的响应输出.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/app1.jpg通电最后也是最躁动人心的一步,给继电器接上5V的供电,拿一根没用的USB线剪开,一般红线是正极,负极请自行尝试,然后把你要控制的设备的火线(红色)断电 断电 断电 后剪断,分别接入负载入与负载出.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/%E6%8E%A5%E7%BA%BF%E7%A4%BA%E6%84%8F%E5%9B%BE.png通电成功后,设备大概是这样子.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/%E9%80%9A%E7%94%B5.jpgUDP控制我用我的老本行.net core给大家写了一个命令行工具 通过如下命令调用该工具,即可实现该设备的开和关.1CSharpUdpClient.exe 192.168.1.5 4210 on
2CSharpUdpClient.exe 192.168.1.5 4210 off
APP控制App的控制,打开电灯blinker app, 该设备在线后,可通过设备内你自定义的两个图标控制该设备的开关.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/app2.jpghttps://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/app1.jpg小爱同学小爱同学的控制就有点复杂了,首先要下载米家app, 在我的 -> 其他平台设备->绑定点灯科技的账号并同步设备.然后下载小爱同学app, 用小米账户登录,添加训练,比如打开电脑,关闭电脑,即可语音控制开关.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/%E5%B0%8F%E7%88%B1%E5%90%8C%E5%AD%A6.jpg电脑开关机控制Win+R 输入 gpedit.msc 在电脑配置->电脑设置-> 开关机脚本内,添加我在前面UDP控制的那一章节中描述的脚本,即可在电脑开机时自动打开显示器,音响等设备, 晚上睡觉前,电脑关机的时候,也会自动把电源断开.同理,你也可以新建两个bat文件,在文件里面把命令写入,在我的GitHub中已经把相关文件准备好了,仅供参考.https://raw.githubusercontent.com/liuzhenyulive/ESP8266SmartSwitch/master/Pic/startupandshutdown.png所有代码和工具可以去我的GitHub仓库下载,好了,今晚总算睡个好觉了(~﹃~)~zZ 能得到心理和生理得满足,我真是个幸福的人.https://github.com/liuzhenyulive/ESP8266SmartSwitch


作者:码农阿宇


阿宇 发表于 2020-3-6 14:13


# 一包辣条钱打造物联网开关

为什么想到这个标题呢?因为我此刻正在吃辣条.....大家应该每天面对的是`枯燥`的代码,而今天给大家带来一个不一样的东西,有血有肉有生命.



## 背景

阿宇 发表于 2020-3-6 14:15

尝试多次之后失败了,好像论坛不支持比较长的文章,我在博客园发布了,我放上我的链接吧

https://www.cnblogs.com/CoderAyu/p/12425655.html

奈何col 发表于 2020-3-6 19:05

阿宇 发表于 2020-3-6 14:15
尝试多次之后失败了,好像论坛不支持比较长的文章,我在博客园发布了,我放上我的链接吧

https://www.cnblogs ...

试了下,不支持emoji的原因

阿宇 发表于 2020-3-7 00:54

奈何col 发表于 2020-3-6 19:05
试了下,不支持emoji的原因

感谢大佬:lol

果奔的瓜牛 发表于 2020-3-13 13:23

楼主 小爱APP在哪下的

zhenzhenL 发表于 2020-4-9 00:37

请教下大神,Blinker APP控制没有问题,就是UDP调试工具里发送指令时提示网络尚未连接,发送失败是怎么回事啊

sting2k1 发表于 2020-6-4 14:45

UDP自己在wifi下,用esp8266早就实现了,用到Blinker的平台,是因为blinker能让小爱同学语音来控制灯的开关,跳过这个语音控制,直接写一个server代码就不用blinker了,直接用手机连接家里的wifi,照样能控制电器的开关。

13529907190 发表于 2020-6-7 19:41

大佬,断电以后会重启,这个要怎么解决,是不是代码的事
页: [1]
查看完整版本: ESP8266 继电器保姆级教程并加入UDP局域网API控制