A simple current meter based on:
- SCT-030 030 Current sensor,
- MCP3008 Analog to Digital converter (on RASP.IO Analog Zero Hat)
- Raspberry PI
- Plus a little web server (flask based) with real-time streaming, beautiful matplotlib svg's,
and some bokeh plots.
Warning
TODO Hacer descripción del módulo
To get started:
pip install enerpi
enerpi -h
CLI Help:
usage: enerpi [-h] [-e] [-r] [-d] [-f [TS]] [-p [IM]] [--store ST] [--compact] [--backup BKP] [--clear] [--clearlog] [-i] [--last] [--temps] [-l] [--debug] [-v] [-T ∆T] [-ts ∆T] [-w ∆T] ⚡⚡ ︎ENERPI AC CURRENT SENSOR ⚡⚡ AC Current Meter for Raspberry PI with GPIOZERO and MCP3008 optional arguments: -h, --help show this help message and exit ☆ ENERPI Working Mode: → Choose working mode between RECEIVER / SENDER -e, -s, --enerpi ⚡ SET ENERPI LOGGER & BROADCAST MODE -r, --receive ⚡ SET Broadcast Receiver mode (by default) -d, --demo ☮️ SET Demo Mode (broadcast random values) ℹ️ QUERY & REPORT DATA: -f [TS], --filter [TS] ✂️ Query the HDF Store with pandas-like slicing: "2016-01-07 :: 2016-02-01 04:00" --> df.loc["2016-01-07":"2016-02-01 04:00"] (Pay atention to the double "::"!!) · By default, "-f" filters data from 24h ago (.loc[2016-08-07 17:14:48:]). -p [IM], --plot [IM] ⎙ Plot & save image with matplotlib in any compatible format. · If not specified, PNG file is generated with MASK: "enerpi_potencia_consumo_ldr_{{:%Y%m%d_%H%M}}_{{:%Y%m%d_%H%M}}.png" using datetime data limits. · If only specifying image format, default mask is used with the desired format. · If image path is passed, the initial (and final, optionally) timestamps of filtered data can be used with formatting masks, like: "/path/to/image/image_{:%c}_{:%H%M}.pdf" or "report_{:%d%m%y}.svg". ⚙ HDF Store Options: --store ST ✏️ Set the .h5 file where save the HDF store. Default: "/Users/uge/Dropbox/PYTHON/PYPROJECTS/enerpi/enerpi/../DATA/enerpi_data.h5" --compact ✙✙ Compact the HDF Store database (read, delete, save) --backup BKP ☔️ Backup the HDF Store --clear ☠ Delete the HDF Store database --clearlog ⚠️ Delete the LOG FILE at: "/Users/uge/Dropbox/PYTHON/PYPROJECTS/enerpi/enerpi/../DATA/enerpi.log" -i, --info ︎ℹ️ Show data info --last ︎ℹ️ Show last saved data ☕ DEBUG Options: --temps ♨️ Show RPI temperatures (CPU + GPU) -l, --log ☕ Show LOG FILE --debug ☕ DEBUG Mode (save timing to csv) -v, --verbose ‼️ Verbose mode ON BY DEFAULT! ⚒ Current Meter Sampling Configuration: -T ∆T, --delta ∆T ⌚ Set Ts sampling (to database & broadcast), in seconds. Default ∆T: 1 s -ts ∆T ⏱ Set Ts raw sampling, in ms. Default ∆T_s: 12 ms -w ∆T, --window ∆T ⚖ Set window width in seconds for instant RMS calculation. Default ∆T_w: 2 s *** By default, ENERPI starts as receiver (-r) ***
⚡ ︎ENERPI AC CURRENT SENSOR ⚡⚡ AC Current Meter for Raspberry PI with GPIOZERO and MCP3008 SENDER - RECEIVER vía UDP. Broadcast IP: 192.168.1.255, PORT: 57775 ⚡ 17:10:51.380: 378 W; LDR=0.546 ◼◼◼◼◼◼◼◼◼◼◼◼︎⇡