教你做一个智能插座(0基础的小白都能学会)
本帖最后由 代码应该敲的东 于 2020-5-28 14:43 编辑插座是大家都会用的东西,随着这些年物联网技术的发展,某宝上的智能插座也卖的如火如荼。那么究竟如何实现手机端远程控制的呢?我来为大家解释原理并动手做一个吧。这样就可以随时随地的操控家里的电器设备的开关了。当然大家也可以直接改装到电器中,这篇帖子为大家讲解详细的制作过程及原理哦。文章最后有效果视频哦。
由于要制作一个可以手机端远程控制的插座,那么首先必须要主控板能联网,这样手机端才能看到插线板的开关状态,并且去控制它(如何控制下文会详细讲解)哦,然后需要继电器接入插线板。
现在联网的主要方式无非是两种,WiFi连接或者网线连接。
两者各有优缺点,WiFi连接虽然简单方便,切方便移动,但是由于有的场景可能没有WIFI覆盖(车库,地下室等场景),毕竟路由器范围有限,或者离路由器远了,信号不稳定的场景直接使用网线是更好的选择。
哈哈哈,有一句话叫啥来着,小孩才做选择,哥哥我都要{:5_179:}。我选择了X-board继电器板(DFR0222)。他既能接网线,也有X-bee接口(可以插WiFi,蓝牙)实现多种无线连接方式供用户选择。并且还集成了两个可以承受家庭电压的继电器。除此之外,还兼容arduino leonardo和以太网库,所以编程也简单。只要看了我这篇帖子,想学不会都难啊,哈哈。
static/image/hrline/5.gifstatic/image/hrline/5.gif
用电知识科普
当然这个涉及家庭电压(220v),所以大家一定要小心操作,注意用电安全呀。为了大家的安全,我还是先普及一下最简单的用电知识。
安全电压 不高于36V;家庭电路电压:220V;所以操作或者改造家庭电路时,一定要先断电在操作哦。
火线(L):带电220V,一般为红色,测电笔接触会亮,一般家用电器开关接在火线上。
零线(N):不带电,一般为蓝色,测电笔接触不亮,接地。
触电无非知有几种:
[*]你一只手或脚碰到电线,如果碰到零线(就是拿电笔测电笔不会亮的那个线),那么算你运气,没事。
[*]如果你一只手或脚碰到电线,如果碰到火线(就是拿电笔测会电道笔会亮的那个线),那么也有两种情况,如果你站在地上,那么就触电了,若你脚下悬空或穿了绝缘的胶鞋,那么没事。
[*]如果你两只手各拿两根线 那么也触电。
[*]如果你两只手都拿火线,即使属脚悬空或穿绝缘鞋,照样触电,并且,手跨度越大,越惨。
static/image/hrline/5.gifstatic/image/hrline/5.gif
1.插网线版智能插座的制作
1.1材料准备和组装:
1.x-board继电器版本(DFR0222) X12.网线一根 3.插线板 X14.装有Blynk软件的手机 X1
5.绝缘黑胶布 X1
材料准备好了,就可以开始搞啦。其实硬件部分十分简单,因为X-board继电器版全部集成了,哈哈,学习起来真的很方便啊,主要是把插线板的火线接入继电器中。
[*]
插线板背面,外观如上图,螺丝拧开,内部构造如下图:
可以看到,左边为零线(N),右边为火线(L),中间的灰色的是地线,我的插头是三线的,两线的插头就没有地线哦。注意拆插线板的时候,插线板插头可别插入家庭电路中哦。找到火线(L)后,就可以操作了,在合适的地方接入x-board继电器板,这里我选择的是板上的继电器1进行接入火线,选择的是NO1(常开触点),和com1,也就是接入电路中默认是开路的,需要控制继电器闭合才能导通。
为了安全,哈哈,我直接给它来了一个五花大绑,看下图,如果有条件的当然可以用3d打印机给他设计打印一个外壳哦。{:5_121:}穷,心酸。
到这一步除了软件基本就全搞定了,哈哈,是不是超简单呢。
1.2软件设计讲解
首先,需要在手机上装有blynk软件(PS:商店搜索“blynk”苹果和安卓都支持),然后还需要在arduino IDE中加入blynk库(PS:可去blynk官网下载最新库blynk官方库,附件中也有我下载好的库)。
下载好后,打开进行如下操作:
1.2.1、创建Blynk账户在你下载并安装完Blynk手机软件之后,你需要创建于一个你自己的账户。创建账户时候注意一定要用真实的Email地址。
1.2.2 创建一个新项目
在你已经创建完账户后,在你的账户里创建一个新的项目。
1.2.3 选择你的硬件
选择你使用的硬件型号,这里选择arduino Leonardo,链接类型选择Ethernet,然后点击创建Create Project。
1.2.4 项目秘匙
秘钥是你手机和硬件之间连接的唯一标识符。每个新项目都会产生一个它自己的秘钥。这个秘钥会在你创建项目的时候自动发送到您的邮箱里面。点击设备选项,选择一个你使用的设备。
注意:不要跟任何人分享你的秘钥,除非你要别人可以接入你的设备。设置好的你项目名字,点击创建,就会生成项目产生秘钥。注意查收你的邮箱。
1.2.5 增加插件
项目内容目前是空的,让我们增加一个按钮来控制我们的继电器。 点击界面上任何一处,会跳出来所有可选的插件,现在我们点下按钮(button),拖住拉到界面位置。 每个按钮都有它自己的设置参数,点击按钮,就可以进入设置。由于板子继电器1是接到数字D8引脚的,所以这里要选DigitalD8,选择ok。
1.2.6运行项目
当你完成参数设置之后,点击右上角的三角形符号,这将会是的项目从编辑模式转为运行模式。在运行模式时候,你无法再拖拽和设置插件。你会收到一个信息“智能插座 is offline”,我们会在后面解决这个问题,现在是因为你的x-board继电器板还没有烧录好程序。
1.3X-board软件烧录 确保你已经正确安装了Blynk库文件在Arduino的库文件夹里。如果不会安装库,请点击安装库教程 。 标准示例会帮助你快速的使你的硬件连接到网络。从Arduino编译器里面打开官方示例,路径如下:
选择主板arduino Leonardo +示例Arduino_Ethernet2,出现下面程序:#define BLYNK_PRINT Serial
#include <SPI.h>
#include <Ethernet2.h>
#include <BlynkSimpleEthernet2.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YourAuthToken"; //替换成你邮件里的密匙
void setup()
{
// Debug console
Serial.begin(9600);
Blynk.begin(auth);
// You can also specify server:
//Blynk.begin(auth, "blynk-cloud.com", 80);
//Blynk.begin(auth, IPAddress(192,168,1,100), 8080);
// For more options, see Boards_Ethernet/Arduino_Ethernet_Manual example
}
void loop()
{
Blynk.run();
}
代码上传成功后,打开手机上的Blynk软件,进入先前创建好的智能插座项目中,点击右上角的三角形符号,运行,如下图:
连接成功后,就可以控制按钮进行控制插座啦。
2.WIFI板智能插座制作
其实wifi板只需要在网线板的基础上,添加一个ESP8266 WiFi bee(TEL0092)插在x-board上然后烧录不同的代码就OK啦,手机上的blynk项目连接方式要记得从"Ethernet"切换为“WIFI”哦。这样就不用插网线了哦。
代码如下:#define BLYNK_PRINT Serial
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "HrNg4k4kN4gwqSE1DcyY4tdyrEA37Y8x"; //输入你自己项目的密匙
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "dfrobot"; //输入wifi名字
char pass[] = "dfrobot"; //输入密码
// Hardware Serial on Mega, Leonardo, Micro...
#define EspSerial Serial1
// or Software Serial on Uno, Nano...
//#include <SoftwareSerial.h>
//SoftwareSerial EspSerial(4, 5); // RX, TX
// Your ESP8266 baud rate:
#define ESP8266_BAUD 115200
ESP8266 wifi(&Serial1);
void setup()
{
// Debug console
Serial.begin(9600);
delay(10);
// Set ESP8266 baud rate
Serial1.begin(ESP8266_BAUD);
delay(10);
Blynk.begin(auth, wifi, ssid, pass);
}
void loop()
{
Blynk.run();
}把代码烧录到X-board继电器主板后就制作完成啦。
3.效果展示https://www.bilibili.com/video/BV1ha4y147AX/
又长知识了,学习了! 前面配图有点漂亮 1528 发表于 2020-4-30 14:06
又长知识了,学习了!
{:5_151:}之前还在编辑,一不小心点到发布了,现在才编辑完成{:5_190:} 代码应该敲的东 发表于 2020-4-30 13:04
插座是大家都会用的东西,随着这些年物联网技术的发展,某宝上的智能插座也卖的如火如荼。那么究竟 ...
0基础小白不一定能学得会…… 白吃白给 发表于 2020-5-15 11:29
0基础小白不一定能学得会……
额,还是比较基础呀,我写的应该还算比较详细
这个继电器扩展不错呀 那个模块好贵 20060606 发表于 2020-6-26 06:35
那个模块好贵
确实贵,但是功能也多,如果只是要做一个智能插座有很便宜的替代方案 我们的创客老师也做了一个
页:
[1]