步骤1:基本组件
该项目由5个基本组件组成
wifi电表传感器
wifi Raspberry Pi
XML风能供稿形成网格管理器
浏览器
伟大的电灌洗机
工作原理:
电表传感器是红外传感器,聚焦在电表的旋转轮上。每次红线通过时,发出的红外光都会被吸收,并且反射的光要比正常情况少。传感器设置在此阈值并更改I/O。
来自传感器的I/O连接到ESP8266的GPIO引脚0。当该引脚从I变为O时,将其编程为“费用”,当它从O变回I时,它会通过wifi向Raspberry Pi上的MySql数据库“发射”一条短消息。
每5分钟Raspberry Pi从Grid Manager的网站上下载最新的风能预测XML。将XML转换为SQL命令,并将数据存储在Raspberry Pi上的mySQL表中。
浏览器的第一页是实际用电量。在下一页上,您可以查看每小时的每日使用量。第三页显示了在Google图表中显示的风能预测和实际生产。
最后,魔术发生了:我在浏览器上查看了人工耗电量。如果我们当时不使用过多,我会检查一下风预测。当有足够的风时,我用右手食指打开洗碗机。
我要在下一个物联网项目中自动化的右手食指部分。
步骤2:监视器传感器
传感器实际上非常简单。发射器发出红外信号。信号反映在电表的金属轮上。当红线通过时,红外光比正常情况吸收更多。红外传感器被设置为检测亮度的变化,并从开到关进行切换。 ESP8266运行着一个简单的程序,以“充电”和“发射”消息到数据库。
传感器的需求:
红外收发器。我使用了Keyence PZ-51。这是工作中一台废弃机器的残余物,非常敏感。电表内置在一个有机密封的盒子中,窗户和轮子之间有5厘米的间隙。该传感器非常适合这种不便的位置。
降压稳压器。 ESP8266需要3.3V电压。在控制这只野马的陡峭学习曲线中,我烧掉了其中的4只!小心点 !
LM317稳压器
400 ohm电容器
240 ohm电容器
1µF极化电容器
0.1µF极化电容器
光敏电阻+电阻器(构成电压调节器)。从发射机到传感器的反射信号很脏,因此没有给出O/I信号。但是,传感器顶部有绿色和红色的指示灯。通常,如果信号为O,则红灯亮,否则绿灯亮。但是在发出“肮脏”信号时,只有敏锐的信号转过身来。光电电阻监视绿灯。电压分配器向ESP8266上的GPIO提供信号。简单有效。
ESP8266 wifi控制器,已安装NodeNCU。如果您不熟悉ESP8266,请开始挖掘Internet ;-)
一个Arduino。用于将Lua脚本上传到ESP8266。 Arduino实际上不是最终设置的一部分。
10V直流电源(传感器额定电压高达24V)
Ductape:每个好的项目都需要Ductape!我必须使用它来将传感器安装到电表箱。
焊接材料,连接器,一些电线,配电盘等。..
如何制作:
用面包板测试电子电路。找到适合我的电表的正确传感器是一个冒险。
对ESP8266进行编程(请参见下面的文件init.lua,用记事本打开)
将组件焊接到插线板
将传感器连接到电表。
注意:传感器可以工作并发送数据,但是您当然需要一个数据库来存储数据(请参阅后续步骤)
步骤3 :Raspberry Pi + Apache + MySql
我已经在笔记本电脑上运行Apache和MySql以进行Web开发。但是让我的笔记本电脑全天候运行以进行节能项目并不是很明智。 Raspberry Pi是一***立的微型计算机。它不需要屏幕,最大消耗功率约为7W。 Pi的尺寸可能较小,与我的第一台计算机相比,它的性能要好10 ^ 12倍。性能和可能性给我留下了深刻的印象,我的孩子为我的生日买了一个(也许我向正确的方向推了他们一个。)
无论如何,请使用Wifi设置Pi,加载Apache和MySql ,创建数据库并开始记录。
互联网上有很多教程,介绍如何使用Apache网络服务器和MySql设置Raspberry Pi。
它的作用:
MySql Datebase将日期存储在2个非常简单的表中。 1张表用于电表数据,另一张表用于风能预测。
电表:每转一圈,电表:
ESP8266将电表插入电表后,会连接到服务器并调用页面 electriciteitsmeter.php 。
php程序将数据上传到SensiHome数据库中的ElectMeterMeter表中
简单如下:-)
XML来自Elia服务器(比利时国家电网管理器):
Pi每5分钟调用一次cronjob页面 WindForcastXML.php
XML和Elia服务器非常适合我需要的数据。在您当地的Grid Managers网站上查看所需的数据(例如有关太阳能发电的预报)
步骤4:在浏览器中
在浏览器中,可以连接到4页:
实际用电量
选择页面,您希望在该日期获得更详细的信息
每小时的每小时消费
windforcast
实际消耗量( meter.php + meterstand.php)
meterstand.php程序在Raspberry Pi上SenisHome数据库的ElectMeterMeter表中调用2条SQL命令。
表中的最新条目,即实际消耗量
车轮的总转数乘以375(375转= 1 kWh)
meter.php巧妙地运行ajax命令进行刷新。这种方法的主要优点是您不必真正刷新页面,而只刷新数据。因此meter.php页面从meterstand.php获取数据并每5秒更新一次。
注意:数据每5秒更新一次,但这并不意味着有新数据!在我的情况下,1 kWh = 375转。传感器完全转动后才向数据库发送消息。因此,在高消耗情况下,不到5秒便有新数据,而在低消耗情况下,更新可能需要几分钟。
使用底部的2按钮,您可以进入windforcast页面或每日消费
选择页面+每日消费 (datepicker.php + dagverbruik.php)
首先您将获得选择页面,您可以在其中选择要查看的更详细信息的日期。
从那里您将被重定向到Google图表,其中包含每小时的消耗量。
Windforcast (WindFor.php):
这是windforcast +实际产品。在简单的Google图表中,为期3天的预测。淡蓝色线是预测的产量,深蓝色线是实际/历史产量。
责任编辑:wv
-
监控器
+关注
关注
1文章
269浏览量
26559
发布评论请先 登录
相关推荐
评论