Pilotare dei carichi tramite la Fonera

In questa guida vedremo come modificare la fonera 2100 per riuscire a sfruttare le uscite GPIO e comandare dei carichi a nostro piacimento da distanza
AVVISO: Le uscite che dobbiamo sfruttare sono le stesse con cui si può attaccare una memory card alla fonera, quindi se già avete questa mod, non potrete aggiungere anche questa.

MATERIALE OCCORRENTE:

-1 fonera 2100 con firmware DD-wrt o openwrt
-saldatore
-basetta 1000 fori
-3/4 relè reed da 5V - vedi [QUI]
-morsetti
-cavetteria varia
-attrezzi vari (forbici, pinze, ecc...)


PICCOLA PREFAZIONE:

Tutte le fonere 2100 (e anche le 2200) hanno 4 uscite GPIO, liberamente pilotabili tramite una shell da remoto, oppure con degli script presenti sulla fonera.
Ognuna delle 4 porte, una volta attivata, è capace di erogare 3,3/4V; 0V quando è disattivata. purtroppo non sono capace di dirvi qual'è la corrente massima assorbibile da ogni porta.
Molteplici sono gli utilizzi possibili: c'è chi l'ha trasformata in una centralina per irrigare; c'è chi l'ha usata per accendere la macchina con il wifi e c'è anche chi pensa di usarla per accendere il tostapane la mattina.
Comunque sia, noi vedremo come attaccare a queste uscite 3 relè reed, in maniera da poter comandare senza problemi 3 piccoli carichi, oppure andare a pilotare carichi più grossi tramite un piccolo circuito a relè.

Ovviamente queste 4 uscite possono diventare 16, applicando un buffer da 4 porte sulle uscite e realizzando poi un circuitino con porte TTL, lascio a voi l'inventiva

Ricordo solo che i relè reed mostrati in quest'articolo possono essere attraversati da piccole correnti, quindi controllate sul datasheet del componente che acquistate per verificare fino a che carichi potete pilotare evitando di danneggiare il relè stesso.

INIZAMO!

Anzitutto prendiamo in mano la nostra fonera e smontiamola, svitando le due viti "nascoste" sotto alle zampette anteriori e staccando la parte superiore dello chassis dalla parte grigia.
una volta aperta, ci troveremo davanti un circuito stampato; tra il connettore dell'antenna e il connettore LAN, dovreste vedere 6 contatti saldati sul circuito.

il primo contatto sulla destra è identificato dalla scritta SW1 in bianco con una freccina. I due contatti più estremi sono due GND, mentre le uscite GPIO sono rispettivamente, partendo dal primo

1-uscita 3 (contrassegnata in BLU in foto)
2-uscita 4 (contrassegnata in ROSSO in foto)
3-none
4-uscita 5 (contrassegnata in VERDE in foto)
5-uscita 6 (contrassegnata in VIOLA in foto)

Ad ognuna di queste 4 uscite saldiamo uno dei capi della bobina del relè reed che vogliamo pilotare e l'altro capo a GND.

(nel mio caso ho usato solo 3 relè); mentre dai contatti dello switch del relè attaccatetci cosa meglio preferite (io dei normali morsetti da ciruito stampato)
Direi comunque che le foto siano sufficentemente esplicative:

www.WiFi-Ita.com

www.WiFi-Ita.com

www.WiFi-Ita.com

www.WiFi-Ita.com

www.WiFi-Ita.com

www.WiFi-Ita.com

www.WiFi-Ita.com

PARTE SOFTWARE:

passiamo ora alla parte software:
Per comandare le porte, dobbiamo collegarci alla fonera (via cavo o wifi) e aprire una shell tramite ssh:

sotto win andiamo in start > esegui > cmd e dalla finestra che ci si apre (il promt) scriviamo

telnet ip_fonera 22

in ambiente unix/linux apriamo un shell e scriviamo

ssh ip_fonera

Ora la fonera ci si presenta, chiedendoci un nome per il login, noi diamo i soliti, user: admin; password: root (oppure quelli che avete impostato voi); il sistema ci risponderà dandoci l'accesso da root.
Una volta "dentro" alla fonera non ci rimane altro che settare il driver di gestione GPIO per comandare le varie uscite.
Il driver di trova in /proc/gpio. Ogni porta è denominata con il numero di appartenenza sopracitato e viene attivata con il comando echo 1 > /proc/gpio/NUMEROPORTA_out (detto in termini terra terra: setta a uno (livello H) la porta gpio 3, ovvero la uno sulla fonera) perchè 3 se poi in realità è la uno ad essere utilizzata? semplicemente perchè le uscite supplementari del chipset della fonera sono ben più di 4 ma vengono usate per altri scopi; per esempio i led sulla scocca sono pilotati tramite delle analoghe uscite

prima però di comandare ogni singola porta, si deve fare una sorta di inizializzazione, in cui segnalate al driver che volete utilizzare l'uscita e non l'ingresso, tramite l'istruzione

echo 1 > /proc/gpio/NUMEROPORTA_dir

Facciamo esempio di voler accendere e spegnere un led collegato sulla porta 1 (3) della fonera; le istruzioni da usare saranno:

echo 1 > /proc/gpio/3_dir -> setto il driver
echo 1 > /proc/gpio/3_out -> accendo il led
echo 0 > /proc/gpio/3_out -> spengo il led
echo 1 > /proc/gpio/3_out -> accendo il led

Analizzando queste 4 piccole righe, possiamo vedere come anzitutto si setti il driver (solo una volta va fatto) e poi si scelga se la porta debba essere attivata (1) oppure disattivata (0).

Da qui in poi è inventiva ;D

Ora sta a voi la scelta di come meglio utilizzare queste istruzioni, potete condividere una vosta unità di rete con la fonera su cui eseguire gli script, oppure comandare sempre la fonera da remoto, a voi la scelta!

 


Tags Cloud 3D

Bookmarks

Delicious Technorati Furl Yahoo_myweb Google_bmarks Windows_live Digg Newsvine MySocialBookmark Social Bookmark Script 

Supportaci





Aggiungi questo sito ai preferiti
Scegli come Homepage