Skip to content

6leonardo/rvas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rvas

RV automation

A project for motorhomes automation

at the moment is only a skeleton

hardware

raspberry pi zero

esp8266 for sensors

Install

raspberry pi

install mariadb-server -- at the moment with mqtt version doesn't need install nodejs install mosquitto -- for mqtt version

create db with the script in init_db

set mosquitto user:pi and password: demodemo

then execute

sudo node index.js 80 2

index

you can remove the use of sudo with the following commands

sudo usermod -a -G gpio
sudo apt-get install libcap2-bin
sudo setcap cap_net_bind_service=+ep `readlink -f \`which node\``

to see the outputs

watch -n 0.2 "gpio readall"

esp8266

per il momento c'e' solo il sensore bilancia..

Bilancia

compila il sorgente in sensors/scale (scale_http per la versione http)

nel file config_settings inserisci wifi ssid e password del raspberry e il nome host raspberry, inoltre sono presenti i settaggi per quanto non si collega al raspberry e cra un hostspot quindi controllare AP_SID e AP_PWD

l'esp si accende se trova il raspberry manda i pesi e poi va in deepsleep e si risveglia dopo due minuti

Per accenderlo e fare in modo che avvi l'hotspot premere il pulsante collegato come nello schema seguente

Se si rimane collegati l'esp rimane acceso mentre se ci si scollega dal web l'esp dopo 5 minuti torna in deepsleep

Nel caso si voglia controllare l'esp tramite interfaccia web quando in wifi pubblicare su mqtt con il seguente comando

mosquitto_pub -u pi -P demodemo -t "gas/wakeup" -m "on" -r
mosquitto_sub -u pi -P demodemo -t "slave/url/open"

Al sucessivox risveglio l'esp mandera un messaggio mqtt (visibile tramite il secondo comando) che indica l'IP dove collegarsi.

I collegamente da fare oltre quelli dello schema in calce sono,

HX711 vcc gnd DT(ESP GPIO4) CLK (ESP GPIO5) per una bilancia... i pin sono definiti in pin.h

Per il deepsleep è necessario che il pin RST sia collegato al D0 come si vede nello schema.

interface

loadcell-1

loadcell-2

Collegamento pulsante e reset per Deep Sleep

loadcell-3

Consumi energetici

Nella cartella sensors/ammeter si trova il sorgente per utilizzare un esp8266 per leggere i consumi energetici di 5 sorgenti di corrente.

Al fine di poter leggere i consumi energetici di corrente e potenza e anche le tensioni dei 5 generatori (per me tre batterie, un pannello solare e la corrente dell'alternatore) ho utilizzato 5 INA219 i quali possono avere solo 4 indirizzi i2c quindi ho untilizzato un muliplexer i2c, TCA9548A che permette di collegare fino a 8 periferiche i2c allo stesso bus.

I collegamenti sono molto semplici, basta collegare ESP8266 al TCA9548A e quindi tutti gli INA219 alle uscite del TCA9548A e le relative alimentazioni.

Importante è sapeere che gli INA219 hanno gia una resistenza tra V* e V- di 0.1Ω e che quindi se si utilizzano gli shunt occorre dissaldare dalle schedine INA219 la resitenza di 0.1Ω e collegare V+ e V- ai due capi dello shunt e per leggere la tensione di alimentazione e calcolare correttamente la potenza occorre mettere lo shunt sul positivo.

Nell cartella è presente anche la libreria Adafruit che ho modificato per permettere di configure gli INA219 con i corretti valori di shunt, e correnti.

Il calcolo delle resistenza di shunt si vede dalle specifiche, ad esempio una shunt di 80mV per 150A ha una resistenza di 0.08/150=0.0005333Ω

Il programma non pubblica ancora i valori su mqtt perche sto pensando di eliminare gli slaves e leggere tutto da RPi ... comunque sono gia presenti le chiamate è facilmente si puo modificare il sorgente per fare in modo che pubblichi tutte le variabili su MQTT

consumi

About

RV automation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published