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