基于物联网的智能电能表,采用NodeMCU ESP8266
扫描二维码
随时随地手机看文章
我们家庭中用来测量能源消耗的传统电能表是一种离线设备,因此必须手动监控。但现在市场上有智能电能表,其读数可以从任何地方使用互联网进行监控,不仅是能源消耗,而且我们可以使用物联网在笔记本电脑或移动设备上监控多个参数,如电压,电流,功率因数,频率等。
所以今天我们正在使用物联网构建智能电表。在这里,我们将使用pzm - 004t交流多功能电能计量功率监视器模块来测量参数,并将使用NodeMCU ESP8266将数据发布到HTML网页。
材料
•NodeMCU ESP8266
•pzem - 004 t模块
•CT线圈
•电路试验板
•跳投
•连接线
pzm - 004t模块的工作
pzm - 004tac模块用于测量交流电压、电流、有功功率、频率、功率因数和有功能量。该模块通过TTL端子输出,可被各种微控制器读取以供进一步应用。
技术特点:
•电压测量范围:80-260 VAC
•电流测量范围:0-100安培
•有功功率测量范围:0-23KW
•功率因数测量范围:0-1
•频率测量范围:45- 65hz
•模块工作电压:5V DC
•输出接口:TTL
Pin描述:
•VCC:模块5V直流输入电源
•GND:接地电基准
•TX: UART数据传输引脚
•RX: UART数据接收引脚
物联网电能表电路图
使用NodeMCU ESP8266的基于物联网的智能电能表电路图如下:
以下是物联网电能表在所有连接后的完整设置:
编程的解释
在成功完成硬件设置之后,现在是时候对NodeMCU进行编程了。这个智能电表的完整代码以及视频在本教程的最后给出。下面给出了代码的逐步描述。
要使用Arduino IDE将代码上传到NodeMCU,请遵循以下步骤:
1. 打开Arduino IDE,然后进入File - >Preferences - >Settings。
2. 在“附加板管理器URL”字段中键入,然后单击“确定”。
3. 现在转到Tools > Board > Boards Manager。在“单板管理器”窗口中,在搜索框中输入ESP8266,选择最新版本的单板,单击“安装”。
4. 安装完成后,进入“Tools ->Board ->”,选择“NodeMCU 1.0(ESP-12E Module)”。现在您可以使用Arduino IDE对NodeMCU进行编程。
完成上述设置后,使用Arduino IDE对NodeMCU进行编程,将完整的代码上传到ESP8266 NodeMCU。下面给出了完整代码的逐步解释。
首先,在代码中包含所有必需的库文件。在这里,ESP8266板库用于NodeMCU, PZEM004Tv30.h用于能源监控模块,可以从这里下载。
然后在类PZEM004Tv30中创建一个对象,该对象可以在整个程序范围内使用。还定义了软件串行引脚,在我的情况下是D1和D2。
然后使用名称服务器和默认端口号80创建ESP8266WebServer类对象。
现在,声明网络凭据,即SSID和密码。需要将我们的NodeMCU连接到互联网。
然后,将NodeMCU连接到互联网,调用WiFi。开始并传递网络SSID和密码作为参数。使用WiFi.status()检查网络连接是否成功,连接成功后,在带有IP地址的Serial Monitor中打印一条消息。
在下一步中,将创建如下所示的HTML页面,其中包含一个HTML表,用于显示购物车中的产品详细信息和账单信息。HTML页面存储在一个字符串变量中,以便在客户端请求时使用server.send()函数发送回。
在loop()中,使用专用函数(如voltage(), current()等)读取不同的参数,然后将其分配给附加在HTML网页中的单独变量。
最后,为了处理客户机请求,我们必须调用server.handleClient()。它将处理新的请求并检查它们。
使用NodeMCU测试基于物联网的电能表
完成连接和硬件设置后,只需将代码上传到NodeMCU,并打开串口监视器中打印的IP地址。您将看到如下所示。
在这里,我们连接了一个交流灯泡,以监测灯泡消耗的能量以及其他参数,如电压,电流,功率因数等。
这里我们不必担心电压、电流、功率等的计算,因为pzem004t模块提供的库(PZEM004Tv30.h)有与之相关的所有功能,我们只需要调用它们来显示相关信息。
这就是我们如何使用NodeMCU ESP8266构建基于物联网的智能电能表。
本文编译自iotdesignpro