8124| 9
|
[项目] 教你做一个智能插座(0基础的小白都能学会) |
本帖最后由 代码应该敲的东 于 2020-5-28 14:43 编辑 插座是大家都会用的东西,随着这些年物联网技术的发展,某宝上的智能插座也卖的如火如荼。那么究竟如何实现手机端远程控制的呢?我来为大家解释原理并动手做一个吧。这样就可以随时随地的操控家里的电器设备的开关了。当然大家也可以直接改装到电器中,这篇帖子为大家讲解详细的制作过程及原理哦。文章最后有效果视频哦。 由于要制作一个可以手机端远程控制的插座,那么首先必须要主控板能联网,这样手机端才能看到插线板的开关状态,并且去控制它(如何控制下文会详细讲解)哦,然后需要继电器接入插线板。 现在联网的主要方式无非是两种,WiFi连接或者网线连接。 两者各有优缺点,WiFi连接虽然简单方便,切方便移动,但是由于有的场景可能没有WIFI覆盖(车库,地下室等场景),毕竟路由器范围有限,或者离路由器远了,信号不稳定的场景直接使用网线是更好的选择。 哈哈哈,有一句话叫啥来着,小孩才做选择,哥哥我都要。我选择了X-board继电器板(DFR0222)。他既能接网线,也有X-bee接口(可以插WiFi,蓝牙)实现多种无线连接方式供用户选择。并且还集成了两个可以承受家庭电压的继电器。除此之外,还兼容Arduino leonardo和以太网库,所以编程也简单。只要看了我这篇帖子,想学不会都难啊,哈哈。 用电知识科普 当然这个涉及家庭电压(220v),所以大家一定要小心操作,注意用电安全呀。为了大家的安全,我还是先普及一下最简单的用电知识。 安全电压 不高于36V;家庭电路电压:220V;所以操作或者改造家庭电路时,一定要先断电在操作哦。 火线(L):带电220V,一般为红色,测电笔接触会亮,一般家用电器开关接在火线上。 零线(N):不带电,一般为蓝色,测电笔接触不亮,接地。 触电无非知有几种:
可以看到,左边为零线(N),右边为火线(L),中间的灰色的是地线,我的插头是三线的,两线的插头就没有地线哦。注意拆插线板的时候,插线板插头可别插入家庭电路中哦。找到火线(L)后,就可以操作了,在合适的地方接入x-board继电器板,这里我选择的是板上的继电器1进行接入火线,选择的是NO1(常开触点),和com1,也就是接入电路中默认是开路的,需要控制继电器闭合才能导通。 到这一步除了软件基本就全搞定了,哈哈,是不是超简单呢。 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.3 X-board软件烧录 确保你已经正确安装了Blynk库文件在Arduino的库文件夹里。如果不会安装库,请点击安装库教程 。 标准示例会帮助你快速的使你的硬件连接到网络。从Arduino编译器里面打开官方示例,路径如下:1.2.5 增加插件 项目内容目前是空的,让我们增加一个按钮来控制我们的继电器。 点击界面上任何一处,会跳出来所有可选的插件,现在我们点下按钮(button),拖住拉到界面位置。 每个按钮都有它自己的设置参数,点击按钮,就可以进入设置。由于板子继电器1是接到数字D8引脚的,所以这里要选Digital D8,选择ok。 1.2.6 运行项目 当你完成参数设置之后,点击右上角的三角形符号,这将会是的项目从编辑模式转为运行模式。在运行模式时候,你无法再拖拽和设置插件。你会收到一个信息“智能插座 is offline”,我们会在后面解决这个问题,现在是因为你的x-board继电器板还没有烧录好程序。 选择主板arduino Leonardo +示例Arduino_Ethernet2,出现下面程序:[mw_shl_code=c,false]#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(); }[/mw_shl_code] 代码上传成功后,打开手机上的Blynk软件,进入先前创建好的智能插座项目中,点击右上角的三角形符号,运行,如下图: 连接成功后,就可以控制按钮进行控制插座啦。 2.WIFI板智能插座制作 其实wifi板只需要在网线板的基础上,添加一个ESP8266 WiFi bee(TEL0092)插在x-board上然后烧录不同的代码就OK啦,手机上的blynk项目连接方式要记得从"Ethernet"切换为“WIFI”哦。这样就不用插网线了哦。 代码如下: [mw_shl_code=c,false]#define BLYNK_PRINT Serial 把代码烧录到X-board继电器主板后就制作完成啦。#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(); }[/mw_shl_code] 3.效果展示 |
445.7 KB, 下载次数: 3109
程序和blynk库
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed