17720浏览
查看: 17720|回复: 15

【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器

[复制链接]
大大大大事不好啦

ESP8266变身家电功耗监测器啦

    今天,为各位小伙伴们带来一款实用小仪器——家用电器功耗监测仪的制作过程。大家也可以跟着我一起为自己也做一个可以监测家里电器功耗情况的神器。希望师兄师姐轻拍:lol
    这一周最让小弟伤心的,就是听到霍金去世的消息……【响指~收】。
    好了,咱们不闲扯了。由于使用家里的废旧东西改造,所以外观不完美,让大家见笑了。这就放图;P
【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器图1

     我使用的是Firebeetle-ESP8266作主控,然后通过Blynk手机app软件实现远程监控。
    下面为大家细说说我是怎么制作的。

所需材料
    废旧的220v转5v充电器插头   ×1(随便找一个手机充电器拆掉就好了(*^__^*) 嘻嘻)
    废旧的插板头  ×1 (我拆的是公牛插座)
    塑料盒  ×1(某宝上可以买到,或者用礼品盒子也可以)
【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器图2

制作过程
1、制作前准备
    先将5v充电插头,拆开(小弟我是暴力拆卸派的,所以拆卸过程就不展示了;P
    将变压器的模块与金属插脚的那一块分别取出待用
【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器图3
在废旧塑料盒上,找到合适的位置,开口,后面会将那个插板头用热熔胶粘上。
【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器图4
在塑料盒的底部开两个合适的长条孔,将之前拆下的金属插脚通过这里穿出去。
【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器图5【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器图6
Ok,准备工作做好了,咱们下面开始把硬件连接起来。

2、连接硬件
硬件连接原理图,如下图所示:
【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器图13
将电流模块自带的杜邦线剪开,并焊接到主控板的3.3V电源上,模拟输出连接到主控板的A0口。
【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器图7
降压模块上火零线接头,分别对应接上金属插脚的火零引脚
【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器图8
将插座头用热熔胶固定在塑料盒内
【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器图9

按照连接示意图,把所有器件都焊接起来,最后,直接将所有器件合理地安装进塑料盒内,固定住。
【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器图10

4、创建Blynk项目
Blynk中项目,对应的控件及通道如下
  
控件名称
  
功能
通道
Clear
清楚当前记录
V2
用电量
显示当前累积用电量(单位:度)
V1
电流
显示当前电流(单位:A)
V0
需要注意的是:电流显示的最大值是10A,也就是说,我们的设备允许的最大电流是10A。
Blynk项目中,控件的排版如下图所示:
【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器图11

5、下载程序到ESP8266
程序源代码下载地址源码中需要修改Auth Token码
[mw_shl_code=applescript,true]#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

BlynkTimer timer;
BlynkTimer timerUpdate;

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "e3094aa9d9414b9c9745fb6513e9b876";

float dataBuffer[30] = {0};
char i = 0;
float total = 0;
float currentValue = 0;
long times = 0;
float degValue = 0;

void degreeValue(void){
  float degree = (0.22 * currentValue) / 3600; //calculate degree per second
  degValue = degValue + degree;
}

void getCurrentValue(void){
  while(i < 30){
    total = total - dataBuffer;
    dataBuffer = (analogRead(0)-510)*3.3/1024/0.04-0.04;
    total = total + dataBuffer;
    i++;
  }
  i = 0;
  currentValue = abs(total / 30);
  total = 0;
  degreeValue();
}

BLYNK_CONNECTED(){
  Blynk.syncVirtual(V2);
}

BLYNK_WRITE(V2){
  int buttonState = param.asInt();
  if(buttonState){
    degValue = 0;
  }
}

void updateValue(void){
  Blynk.virtualWrite(V0,currentValue);
  Blynk.virtualWrite(V1,degValue);

  Serial.println(times);
  Serial.println(currentValue);
  Serial.println(degValue);
  Serial.println();
}

void setup()
{
  // Debug console
  Serial.begin(115200);

  WiFi.mode(WIFI_STA);

  int cnt = 0;
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    if (cnt++ >= 10) {
      WiFi.beginSmartConfig();
      while (1) {
        delay(1000);
        if (WiFi.smartConfigDone()) {
          Serial.println();
          Serial.println("SmartConfig: Success");
          break;
        }
        Serial.print("|");
      }
    }
  }

  WiFi.printDiag(Serial);

  Blynk.config(auth);
  timer.setInterval(1000L, getCurrentValue);
  timerUpdate.setInterval(5000L, updateValue);
}

void loop()
{
  Blynk.run();
  timer.run();
  timerUpdate.run();
}
[/mw_shl_code]
最后,嘛哩嘛哩哄,出锅上菜。
【ESP8266教程—Lesson4】大大大事不好啦,8266变电功耗检测器图12

以后,谁是家里的吃电大王,我打开手机app就一目了然了。
ps:家里的空调表示自己感到紧张不安,并且很慌:lol:lol:lol:lol:lol:lol:lol


11.png

hnyzcj  版主

发表于 2018-3-15 19:10:30

这个很不错,值得我们学习给你点赞
回复

使用道具 举报

lkl0305  中级技师

发表于 2018-3-15 22:15:36

纯手工版智能插座:lol
回复

使用道具 举报

Chocho2017  初级技匠
 楼主|

发表于 2018-3-16 11:18:36

lkl0305 发表于 2018-3-15 22:15
纯手工版智能插座

呵呵,你要不要也来一个,亲测,不会炸。
回复

使用道具 举报

bobo  NPC

发表于 2018-3-17 11:13:39

回复

使用道具 举报

Jayqiu  初级技师

发表于 2018-3-18 12:10:03

顶顶顶~
回复

使用道具 举报

Chocho2017  初级技匠
 楼主|

发表于 2018-3-19 09:23:16


谢谢。
回复

使用道具 举报

Chocho2017  初级技匠
 楼主|

发表于 2018-3-19 09:23:28


谢谢。(*^__^*) 嘻嘻
回复

使用道具 举报

KNIGHT-LEE  初级技师

发表于 2018-3-19 11:17:10

666,DIY的东西感觉就是不一样
回复

使用道具 举报

Chocho2017  初级技匠
 楼主|

发表于 2018-3-19 13:24:14

KNIGHT-LEE 发表于 2018-3-19 11:17
666,DIY的东西感觉就是不一样

回复

使用道具 举报

Forgotten  版主

发表于 2018-3-21 11:32:22

万能的热熔胶, 插座的位置还是搞个卡扣或者扎带啥的固定下吧:lol
回复

使用道具 举报

Chocho2017  初级技匠
 楼主|

发表于 2018-3-21 22:40:52

Forgotten 发表于 2018-3-21 11:32
万能的热熔胶, 插座的位置还是搞个卡扣或者扎带啥的固定下吧

O(∩_∩)O哈哈~
回复

使用道具 举报

gray6666  初级技神

发表于 2018-3-23 08:20:40

路过,学习了。。。。。。。。。。。。。
回复

使用道具 举报

激萌free  学徒

发表于 2019-3-21 22:58:24

群主大大,我也想做个玩,源代码地址失效了,能再发一个吗:victory:
回复

使用道具 举报

岑剑伟  初级技师

发表于 2019-10-8 12:20:41

空调**了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail