power_controller
1.0.0
该存储库包含 WiFi 电源控制器的源代码。
硬件包括(大多数组件可以轻松替换,有些组件对于低电流应用来说是多余的):
Pattres 盒子是一个很好的外壳。
如果从 Banggood.com 订购 ACS712,请务必小心,我的 20A 传感器交付时的端子额定电流仅为 10A。
R1 和 R2 的选择应将 ACS712 的 5V 输出降低至 M0 的模拟输入可读的 3.3V 范围(例如,R1 应约为 R2 值的两倍)。
使用 Arduino 使用 Wifi101 和 ArduinoJson 库编写。 Wifi SSID 和密码应添加到 Secrets.h 中。 serverAddress
和port
应更新为服务器的地址。
从控制器收集读数并将其存储在 MySQL 数据库中。还为客户端提供REST API。
开始:
.env
文件并设置MYSQL_USERNAME
、 MYSQL_PASSWORD
和MYSQL_DB
。npm install
npm run dev
controllers
以设置转换系数。转换系数乘以控制器读取的值,得到以毫安为单位的读数。设置更改数据库后重新启动服务器以使服务器读取更改。例如,如果使用 20A ACS712,1A 电流会产生 100mV 输出。
如果 R1 为 10kΩ,R2 为 20kΩ,则分压器输出为 67mV ( 20/(20+10)*100
)。
M0 的输入为 12 位,因此 0 - 3.3v 的范围为 0 - 4095。
因此,转换系数可以计算为:
c = 3.3 / S * (R1 + R2) / R2 / 4096 * 1000
其中S
是 ACS712 的灵敏度,单位为伏特/安培。
在这个例子中:
c = 3.3 / 0.1 * (10 + 20) / 20 / 4096 * 1000
c = 12.85
使用服务器的 REST API 来设置计划并显示电源使用情况。
开始:
npm install
npm run serve