This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| projects:iotaiuto:led [2021/12/02 17:06] – created daniel | projects:iotaiuto:led [2021/12/24 10:10] (current) – daniel | ||
|---|---|---|---|
| Line 12: | Line 12: | ||
| * Se il LED si illumina quando il pin common è collegato al cavo positivo, allora il common è un **anodo** | * Se il LED si illumina quando il pin common è collegato al cavo positivo, allora il common è un **anodo** | ||
| - | === Calcolare i forward voltage === | ||
| + | |||
| + | === Forward voltage === | ||
| + | |||
| + | Il forward voltage è la quantità di volt che il led assorbe e determina quindi, a parità di resistenza, una corrente maggiore. | ||
| + | |||
| + | **Metodo rapido**: Calcolare la resistenza basandosi sul forward voltage minimo fornito dalle specifiche del led | ||
| + | |||
| + | **Metodo esaustivo**: | ||
| * Mettere il multimetro in modalità diodo | * Mettere il multimetro in modalità diodo | ||
| * Collegare il multimetro al common e a uno dei restanti pin RGB | * Collegare il multimetro al common e a uno dei restanti pin RGB | ||
| Line 23: | Line 30: | ||
| Blue Vf = 2.8V\\ | Blue Vf = 2.8V\\ | ||
| - | Il voltaggio di alimentazione che dobbiamo fornire al LED deve essere maggiore di ogni forward voltage.\\ | + | Il voltaggio di alimentazione che dobbiamo fornire al LED deve essere maggiore di ogni forward voltage |
| Esempio: VCC = 3.3V (maggiore di 2.8V) | Esempio: VCC = 3.3V (maggiore di 2.8V) | ||
| Verificare la corrente tipica sulle specifiche del LED.\\ | Verificare la corrente tipica sulle specifiche del LED.\\ | ||
| - | Esempio: I = 25mA = 0.025A | + | Esempio: I = 25mA = 0.025A |
| === Nota === | === Nota === | ||
| Line 55: | Line 62: | ||
| Se il common del LED è un anodo, collegarlo a 3v3\\ | Se il common del LED è un anodo, collegarlo a 3v3\\ | ||
| Se è un catodo, collegarlo a GND | Se è un catodo, collegarlo a GND | ||
| + | |||
| + | === Installazione software di controllo === | ||
| + | |||
| + | Scaricate sul raspberry tutti gli script per led presenti sul git iotaiuto | ||
| + | |||
| + | < | ||
| + | cd $HOME | ||
| + | mkdir led_scripts | ||
| + | cd led_scripts | ||
| + | # posizionare qui i seguenti file: | ||
| + | # led_init.sh, | ||
| + | chmod +x led_init.sh | ||
| + | |||
| + | cd / | ||
| + | # posizionare qui i seguenti file: | ||
| + | # led.service, | ||
| + | |||
| + | sudo systemctl daemon-reload | ||
| + | sudo systemctl enable led.service | ||
| + | sudo systemctl enable led-server.service | ||
| + | |||
| + | # riavviare il sistema | ||
| + | </ | ||
| + | |||
| + | Spiegazione dei file:\\ | ||
| + | led_lib.py è il controllore dei led\\ | ||
| + | led_server.py è un listener di rischieste di controllo dei led\\ | ||
| + | led.py è un handler per eseguire una richiesta di controllo del led manualmente o tramite home assistant\\ | ||
| + | led_init.sh è uno script che monitora lo stato della vpn (e eventualmente di altri servizi) e regola il led di conseguenza\\ | ||
| + | |||
| + | === Home assistant script === | ||
| + | |||
| + | Modificare il file ~/ | ||
| + | < | ||
| + | shell_command: | ||
| + | led_ok: python ~/ | ||
| + | led_error: python ~/ | ||
| + | </ | ||
| + | |||
| + | Vedere il file led.py per ulteriori comandi | ||
| + | |||
| + | Restartare home assistant\\ | ||
| + | Ora dalla GUI è possibile aggiungere due script che chiamano i servizi appena creati | ||