本文将介绍如何通过 Raspberry Pi 设置 CE 电流监视器,从而使用 Web 界面来显示电路的电流读数的项目搭建步骤。
介绍
我们将在此处组合的 Web 界面是一个简洁的界面。它只会以黑白显示每个电路的当前读数,你可以自主编辑 Web 界面并以您认为合适的任何方式以对其进行美化。甚至可以在界面上标记每个电路,例如客厅灯、冰箱等。
步骤 1.1 Pi 设置
首先,我们需要让我们的 Raspberry Pi 完成所有设置并准备就绪。对于这个项目,我在我的 Pi 上运行当前最新版本的 Raspbian。如果您有其他版本的 Raspbian 或其他 Linux 操作系统,请记住对操作说明的一些更改可能对您有所不同。Raspberry Pi在此处提供了一些关于在您的 Pi 上安装 Raspbian 的重要说明。
一旦您的 Pi 启动并运行,我们将首先通过 SSH 连接到它。此处提供了通过 SSH 连接到您的 Pi 的说明。默认用户名通常是 pi,密码是 raspberry。
步骤 1.2 Apache 安装/设置
在这一步中,我们要做的第一件事是安装 Apache,它是一个 Web 服务器,它将为用户提供我们的 Web 界面。为此,请在 SSH 终端中输入以下内容:
sudo apt-get install apache2 -y
这应该在您的 Raspberry Pi 上安装 Apache。很酷的是,安装运行后它就可以工作了!在您的计算机上打开 Web 浏览器并输入 Pi 的 IP 地址。您应该会受到默认网页的欢迎。
接下来,我们需要修改 Apache 中的一些设置,所以让我们继续:
回到你的 SSH 终端到 Pi 输入以下内容:
sudo nano /etc/apache2/apache2.conf
这将打开一个我们需要添加一些信息的文件。向下滚动,直到看到一些目录标签。我们需要在那里添加一个额外的内容:
Options +ExecCGI
AddHandler cgi-script .py
屏幕截图:
按 ctrl+x 退出。当提示保存时说是。当提示输入文件名时,请保持原样。
回到终端输入:
sudo a2enmod cgi
步骤 1.3 I2C 工具设置
现在我们需要安装一个名为 I2C 工具的包和另一个名为 Python-SMBus 的包。这两个包一起将允许我们的 Python 脚本与 ControlEverything.com 当前监控板进行通信。
在 SSH 终端中输入:
sudo apt-get update
更新 apt-get 软件包安装程序,因此我们可以确保获得最新的软件包。
接下来在 SSH 终端中输入:
sudo apt-get install 12c-tools
安装该软件包后,输入:
sudo apt-get install python-smbus
安装该软件包后,最好重新启动 pi,因此在 SSH 终端中输入:
sudo reboot
等待几秒钟让 Pi 重新启动并重新与网络关联,然后通过 SSH 重新连接到 Pi。
让我们测试 i2c-tools 以确保一切正常。确保电流监控板使用随附的 I2C 电缆连接到 Pi,并使用 12VDC 电源供电。然后在 SSH 终端中输入:
i2cdetect -y 1
Pi 能够识别我们的当前监控板,该板将注册在地址 0x2a 这就是您应该在终端中看到的内容:
如果您看到那里列出的控制器,那么很幸运,到这一步仍然是正确的。
步骤 1.4 将 Web 界面/Python 文件上传到 Pi
我们将使用 sftp 将我们的文件上传到 Pi。您将需要一个 ftp 客户端来执行此操作。如果您还没有 ftp 客户端,我强烈推荐 filezilla。可以在这里获取(一定要获取客户端而不是服务器)。他们提供有关 FTP 的文档,但这很容易。下载并安装后,我们就可以继续了。
我们需要更改 Apache 文件目录的一些权限,以便将我们的文件上传到 Pi,所以回到 SSH 终端输入:
sudo chown -R pi:www-data /var/www/html
现在打开 Filezilla 并连接到 Pi。输入 Pi 的 IP 地址作为主机,pi 作为用户名,raspberry 作为密码,22 作为端口。连接的?伟大的!让我们把一些文件塞进去!
这些文件可以从我们的 github repo 获取:
https://github.com/ControlEverythingCom/Pi-Current-Monitor-Web-1
在 Filezilla 中导航到您下载/克隆这些文件的本地目录。在 Pi 的 Filezilla 的 Remote Side 窗格中,导航到 /var/www/html 目录并在那里上传文件。
回到终端,通过输入以下命令移至 /var/www/html 目录:
cd /var/www/html
现在输入:
python CurrentMonitor.py
Python 应用程序应将当前读数打印到控制台,如下所示:
步骤 1.5 最终配置设置
我们现在需要更改 html 目录中所有文件的所有者。在 SSH 终端中输入:
sudo chown -R pi:www-data /var/www/html
现在我们需要更正 CurrentMonitor.py 上的权限来执行此操作:
sudo chmod g+x /var/www/html/CurrentMonitor.py
现在,由于 Apache 将运行 Python 脚本来连接 Pi 上的 i2c 端口,我们必须确保允许 Apache(www-data) 执行此操作。所以我们将 www-data 添加到 i2c 组,如下所示:
sudo usermod -a -G i2c www-data
sudo reboot
关闭该 SSH 终端。
步骤 2 接线并安装电路板
我们必须在这里注意,您将在这里弄乱 120 VAC 接线,触电可不是什么好笑的事情。如果您对此不满意,请聘请注册电工为您执行此步骤。他们知道该做和规避些什么。
在继续之前,您必须使用主关闭开关关闭断路器面板的所有电源。如果可能,我们强烈建议还关闭为面板供电的杆/箱上的断路器。在继续之前,请务必测试断路器面板中所有点的电压。
为了安全起见,我还建议关闭面板中的所有断路器
电流监控板监控交流电路的热腿。这根电线通常是 3 芯电缆中的黑腿。白色通常是中性的,裸色或绿色通常是磨光的。因此,通过每个板载电流监控传感器运行您要监控的每个电路的黑腿,如下所示:
在所有电线都穿过板载传感器并连接回面板中的断路器后,将 USB 电源连接到 Raspberry Pi,并将稳压 12VDC 电源连接到电流监控板。如果这些电源因所有电路关闭而关闭,请不要担心。如果 Pi 和电流监控板稍后通电,它不会有任何伤害。
现在是时候重新启动所有设备了。当心!!!!对所有事情再做一次健全性检查,确保每个人都远离该区域,并且一切都正确连接。如果您在安装过程中将其取下,请确保将其盖在电路板上。重新打开杆/箱的电源。然后回到电路面板并打开那里的主电源开关。现在一次打开面板中的每个断路器。如果所有断路器都打开而没有跳闸,并且房屋/企业中的一切都通电,那么恭喜你!此刻你可以随意以任何你认为合适的方式庆祝了。
步骤 3 验收你的成果
确保您的 Pi 重新连接到网络。请注意,如果路由器重新启动,它的 IP 地址可能已更改,因此请务必检查。知道 Pi 的 IP 后,请确保您的计算机、手机或平板电脑与 Pi 在同一网络上,然后在 Web 浏览器中输入 Pi 的 IP 地址。您现在应该看到您连接的每个电路的实时电流水平。
结束笔记
虽然整个过程很有趣,但几天后你可能会发现自己有点无聊。在这一点上,我强烈建议为 Pi 定制 Web 界面,从中获得一些乐趣。你可以在那里做一些非常酷的事情。
您可以做的其他一些事情是在网络上为 Pi 注册一个静态 IP 地址,这样它就不会改变(DHCP)。我通常在我的路由器上保留 IP,因为我觉得这是最安全的事情,如果你的路由器支持它,这非常容易。
您还可以在路由器防火墙上打开一个端口以允许外部访问,这样您就可以在离家时监控一切。您真的可以在这里全力以赴并设置 DNS。如果您决定这样做,请务必考虑安全性。
还有一个可能的扩展:你可以具体监控到每个电路的电流并计算电路的千瓦时使用量。这是绝对可以做到的,但有点复杂。
全部0条评论
快来发表一下你的评论吧 !