Nabuk Wireless Community

Maker => Elettronica => Topic aperto da: TechBek - Maggio 18, 2009, 12:26:40 am

Titolo: Espandere GPIO fonera
Inserito da: TechBek - Maggio 18, 2009, 12:26:40 am
Raga avrei la necessit? di espandere le GPIO della mia fonera 2100....
qualcuno conosce qualche componente adatto allo scopo?
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 18, 2009, 08:22:00 pm
Nel link riportato di seguito trovi una realizzazione pratica con tanto di esempio di interfaccia web per il controllo dello status delle 8 porte..appena ho tempo la mia 2100 ancora in scatola sagger? tale esperimento..
http://blog.liberailvoip.it/2007/05/21/ma-e-una-fonera-o-una-stazione-meteo-i2c-seconda-puntata-oggi-lezione-pratica/ (http://blog.liberailvoip.it/2007/05/21/ma-e-una-fonera-o-una-stazione-meteo-i2c-seconda-puntata-oggi-lezione-pratica/)
facci sapere se realizzerai qualcosa..
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 18, 2009, 11:36:51 pm
Grazie mille!!
ora guardo, mi istruisco e poi mi metto al lavoro....

L'idea ? di controllare irrrigazione, luci esterne e apertura cancelli..!
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 19, 2009, 12:34:09 pm
Allora ho dato un'occhiata ma non capisco alcune cose...

-se il bus i2c ha bisogno di SDA e SCL (2 fili) perch? vengono usate tutte e 4 le GPIO?
-come vengono impostati gli indirizzi delle periferiche connesse al bus?

Mi rispondo da solo alla seconda.
Sugli integrati i2c ci sono dei pin per impostare l'indirizzo
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 19, 2009, 08:52:23 pm
Oggi sono andato ad acquistare i componenti...a parte il sensore di temperatura che non aveva....
non so se ho preso un'incul*** ma l'integrato PCF8574 l'ho pagato 14?  :-o  difatti volevo prenderne 2 per fare delle prove a 16 uscite ma ho lasciato perdere!
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 19, 2009, 09:02:10 pm
Qu? trovi la spiegazione alla tua prima domanda:
http://www.lefinnois.net/wpen/index.php/2007/05/13/i2c-bus-for-la-fonera/ (http://www.lefinnois.net/wpen/index.php/2007/05/13/i2c-bus-for-la-fonera/)

E qu? c'? un interessante schema per il driver di controllo delle periferiche I2C:
http://www.lefinnois.net/wpen/index.php/2007/06/10/fonera-i2c-pcb/ (http://www.lefinnois.net/wpen/index.php/2007/06/10/fonera-i2c-pcb/)
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 20, 2009, 12:45:10 am
ok capito...avevo letto in giro che i2c bus riusciva a inviare e ricevere sullo stesso cavo, ho letto male o ? anche possibile fare cos?? (logicamente non in questo caso, intendo in generale).
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 20, 2009, 03:45:09 pm
Forse ti ? sfuggito qualcosina :-) non che io sia un esperto..
Cio che necessita di 4 GPIO ? il driver che gestisce le periferiche I2C cio? quel componente che converte i segnali TTL in HEX, nel caso della Fonera il driver in questione supportato ? il 74LS05 visibile nel PCB presente nel link che ti ho postato..
Le periferiche I2C come PCF8574 necessita come hai ben sottolineato di una linea SCL e SDA..
Spero di aver chiarito il tuo dubbio :wink:

Quindi per i tuoi esperimenti ti manca ancora il 74LS05, senza di lui non puoi procedere..
Fammi sapere..
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 22, 2009, 01:28:29 am
ok capito...il 74LS05 l'ho preso :wink:
ma quindi con questo i2c posso fare una cosa del genere?
(http://img33.imageshack.us/img33/9929/i2c.th.png) (http://img33.imageshack.us/my.php?image=i2c.png)
con N pcf8574?
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 22, 2009, 12:33:00 pm
Su questo purtroppo non so risponderti..solo la sperimentazione pu? toglierci ogni dubbio  :-)
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 22, 2009, 02:27:21 pm
ok allora appena trovo un altro pcf a un prezzo intelligente provo!
Titolo: Re: Espandere GPIO fonera
Inserito da: ema81 - Maggio 22, 2009, 02:37:58 pm
ordinateli direttamente alla Texas Instruments come "free samples"... sempre che siano "a scopo di ricerca"  :mrgreen:
io a inizio anno ne ho ordinati 4 appunto per sperimentare... tempo 4 giorni sono arrivati via corriere, a ZERO spese!
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 22, 2009, 09:03:06 pm
Ho trovato anche un 16bit extender prodotto dalla Microchip:
http://ww1.microchip.com/downloads/en/DeviceDoc/21952b.pdf
Non ? supportato dal progetto I2C su Fonera ma penso sia difficile creare il driver..
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 23, 2009, 01:24:53 am
ordinateli direttamente alla Texas Instruments come "free samples"... sempre che siano "a scopo di ricerca"  :mrgreen:
io a inizio anno ne ho ordinati 4 appunto per sperimentare... tempo 4 giorni sono arrivati via corriere, a ZERO spese!
interessante questa cosa...non la sapevo!!

Ho trovato anche un 16bit extender prodotto dalla Microchip:
http://ww1.microchip.com/downloads/en/DeviceDoc/21952b.pdf
Non ? supportato dal progetto I2C su Fonera ma penso sia difficile creare il driver..
ma io penso (da ignorante) che il driver serva solo per gestire il circuito fino all'ottenimento delle 2 linee SDA e SCL...dopo una volta che sei su quelle....magari sbaglio...
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 23, 2009, 09:29:39 am
Citazione
ma io penso (da ignorante) che il driver serva solo per gestire il circuito fino all'ottenimento delle 2 linee SDA e SCL...dopo una volta che sei su quelle....magari sbaglio...
I driver sono uno per ogni periferica, c'? quello che gestisce il 74LS05 e un driver per ogni periferica I2C(PCF8574,DS1621,HD44780,etc)..
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 23, 2009, 01:09:05 pm
ok allora sono proprio ignorante.....
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 23, 2009, 08:02:15 pm
Oggi ho preso anch'io il 74LS05 ma ho scordato le resistenze :-( quindi la sperimentazione partir? in ritardo  :-(
In compenso ho tirato fuori dalla scatola la mia Fonera2100 tenuta per l'occasione, ho saldato i connetori per i GPIO e il VCC e GND, ho installato OpenWRT con i moduli per i GPIO e testato con dei semplici led il loro funzionamento..

PS: Per l'occasione sto sviluppando l'interfaccia per WebIf in modo da non dover mettere mano sempre alla console SSH
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 24, 2009, 12:48:19 am
se riesco io parto domani con la sperimentazione....muauahahah

poi magari mi cimenter? anche io a fare un'interfaccia web..ma ho bisogno di qualche dritta...
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 24, 2009, 06:45:46 pm
ok circutio montato...ma non riesco proprio a capire come installare cio che serve sulla fonera... :oops:

mi servirebbe proprio una guida dettagliata dei comandi per installare il tutto...!
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 24, 2009, 10:27:50 pm
1. Installi Open-WRT (io ho messo X-WRT Kamikaze 7.09 per la comodit? dell'interfaccia grafica)

2. Installi il pacchetto kmod-gpio_2.6.21.5-atheros-1_mips che trovi qu?:
    http://fon.testbox.dk/packages/2.6.21.5/kmod-gpio_2.6.21.5-atheros-1_mips.ipk (http://fon.testbox.dk/packages/2.6.21.5/kmod-gpio_2.6.21.5-atheros-1_mips.ipk)

3. Modifichi il file /etc/modules.d/80-gpio sostituendo la riga proc-gpio con proc_gpio

4. Riavvii la Fonera e sei pronto per comandare i GPIO come meglio credi attraverso la shell

5. Segui questo articolo:
   http://blog.liberailvoip.it/2007/05/06/fonera-e-i2c-bus-da-oggi-una-realta/ (http://blog.liberailvoip.it/2007/05/06/fonera-e-i2c-bus-da-oggi-una-realta/)

6. Segui questo articolo:
    http://blog.liberailvoip.it/2007/05/21/ma-e-una-fonera-o-una-stazione-meteo-i2c-seconda-puntata-oggi-lezione-pratica/ (http://blog.liberailvoip.it/2007/05/21/ma-e-una-fonera-o-una-stazione-meteo-i2c-seconda-puntata-oggi-lezione-pratica/)

7. Fammi sapere com'? andata  :-)

PS: C'? qualcuno che avrebbe voglia di rifare il PCB presentato nei precedenti post con KiCad o altro? Avrei in mente qualche modifica ma non sono in grado di realizzare il progetto di un PCB da solo..Grazie
Il PCB in questione ? questo: http://www.lefinnois.net/wpen/index.php/2007/06/10/fonera-i2c-pcb/ (http://www.lefinnois.net/wpen/index.php/2007/06/10/fonera-i2c-pcb/)
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 25, 2009, 01:26:18 am
Sulla fonera ho DD-WRT...dovrebbe essere lo stesso giusto??Quegli articoli li ho letti ma non mi spiegano per bene come installare il driver....rimandano all'ideatore da cui ho scaricato un archivio al cui interno c'? un readme del quale non ci capisco nulla... :cry:
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 25, 2009, 08:26:00 am
In questo caso ? meglio OpenWRT..DD-WRT gi? include il driver di controllo dei GPIO ma ? un problema installare i pacchetti per le periferiche I2C, come puoi leggere in questo mio post http://www.nabuk.org/f/index.php?topic=1621.0 (http://www.nabuk.org/f/index.php?topic=1621.0) ..
Gli articoli che ti ho indicato spiegano solamente i comandi da dare per il rilevamento delle periferiche e i comandi per controllarle..i driver l? trovi in questo repository: http://www.lefinnois.net/fonerai2c/Packages/ (http://www.lefinnois.net/fonerai2c/Packages/) , la loro installazione avviene come per tutti gli altri pacchetti..
Comunque se aspetti qualche giorno vedo di mettere in piedi un repository con i pacchetti completi e ricompilati per Kamikaze 7.09 e Kernel 2.6.21.5

PS: Nessuno vuole pensare al PCB?
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 25, 2009, 02:05:00 pm
ok allora riflasho con open wrt
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 25, 2009, 03:10:53 pm
ok ho messo open wrt ultima release....ora perc? non ho la minima idea di come installare il driver...
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 25, 2009, 03:42:34 pm
dalla webadmin ho installato:

kmod-i2c-algo-bit
i2c-tools
kmod-i2c-core
kmod-i2c-gpio

ma quando do il comando "i2cdetect -l" non esce niente....non trova installato il bus a quanto pare..come mai?
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 25, 2009, 03:48:19 pm
Hai installato il kmod-gpio_2.6.21.5-atheros-1_mips ?
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 25, 2009, 03:53:34 pm
non lo trovo tra l'elenco dei pacchetti disponibili...possibile?
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 25, 2009, 04:01:51 pm
Lo trovi solamente qu?:
http://fon.testbox.dk/packages/2.6.21.5/kmod-gpio_2.6.21.5-atheros-1_mips.ipk (http://fon.testbox.dk/packages/2.6.21.5/kmod-gpio_2.6.21.5-atheros-1_mips.ipk)
e segui quello che ti ho scritto nei precedenti post
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 25, 2009, 04:23:18 pm
eh non sono molto pratico nell'installazione manuale...ho fatto wget..e me lo ha scaricato..ora??

ipkg sembra non essere presente...
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 25, 2009, 04:27:23 pm
Lo installi da WebIf alla voce "Sistema-Packages-Installa da URL" e inserisci il link che ti ho dato..
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 25, 2009, 04:35:12 pm
Grazie per la pazienza Silver..veramente..

allora ho scoperto che sul kamikaze 8.09 non esiste ipkg ma opkg...giusto per confondere le idee..

ho inserito l'url che mi hai dato e mi ha detto installazione ok...

ma di fatto...
http://img34.imageshack.us/img34/1508/53697113.png (http://img34.imageshack.us/img34/1508/53697113.png)
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 25, 2009, 04:37:32 pm
Hai modificato il file /etc/modules.d/80-gpio come ti ho scritto precedentemente?Hai riavviato la Fonera?
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 25, 2009, 04:46:05 pm
sisi ho fatto...ma non vuole funzionare...
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 25, 2009, 04:49:44 pm
Ancora non ho sperimentato ma stasera provo e ti faccio sapere?

PS:Ti andrebbe di creare/modicare il PCB?
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 25, 2009, 04:52:11 pm
Non ho mai provato a fare cose del genere..ma posso tentare...!
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 25, 2009, 05:01:16 pm
Mi vengono in mente un paio di cose..

1. Hai fatto una prova con i GPIO, attaccando semplicemente dei led?

2. Hai rincrotrollato il circuito di controllo?

3. Non vorrei che ci fossero problemi con la 8.09, ti premetto che io ho installato la 7.09..
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 25, 2009, 06:50:30 pm
Il controllo solo con i led (quindi senza bus i2c) lo avevo fatto qualche mese fa quando avevo messo ddwrt e funzionava tutto...a sto punto allora sar? questa 8.09Luci che avr? problemi...mi consigli di riflashare la 7.09?
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 25, 2009, 10:09:41 pm
Ho montato il circuito e installato i driver e ho questo risultato:
Citazione
i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: 70 71 72 73 74 75 76 77
Non avendo una periferica I2C disponibile e connessa non so se ? un buon segno..
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 25, 2009, 10:19:24 pm
b? gi? che non ti dice NOT I2C BUS FOUND ? buono...a me manco quello...non avendo la periferica collegata pu? darsi che dia i numeri....

riesci a mettere giu passo passo quello che hai eseguito?
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 25, 2009, 10:38:30 pm
1. Partiamo dal presupposto che i GPIO e il circuito sia stati realizzati e collegati correttamente

2. Ho installato X-WRT Kamikaze 7.09

3. Ho installato tutti i pacchetti presenti in questo repository:
    http://www.lefinnois.net/fonerai2c/7.07/atheros-2.6/packages/ (http://www.lefinnois.net/fonerai2c/7.07/atheros-2.6/packages/)
    e il pacchetto presente a questo URL:
    http://fon.testbox.dk/packages/2.6.21.5/kmod-gpio_2.6.21.5-atheros-1_mips.ipk (http://fon.testbox.dk/packages/2.6.21.5/kmod-gpio_2.6.21.5-atheros-1_mips.ipk)

4. Ho riavviato la Fonera

6. Ho dato il comando:
   
Citazione
root@OpenWrt:/# i2cdetect -l
i2c-0   i2c    GPIO adapter  Algorithm unavailable
    e dopo, rispondendo affermativamente alla domanda:
   
Citazione
i2cdetect 0
WARNING! This program can confuse your I2C bus,
cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? Y/n
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 26, 2009, 12:14:58 am
ok grazie..domani ririflasho e riprovo... :mrgreen:
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 27, 2009, 12:17:34 am
allora ho fatto tutto...ma al comando i2cdetect 0  mi escono tutte XX....!!
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 27, 2009, 09:02:00 am
Ottimo!!o quasi..
Posta tutto il risultato..ma hai attacato il port extender o hai provato senza periferiche?
Fammi sapere che sono curioso..
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 27, 2009, 03:53:36 pm
allora se non attacco il port extender la scansione del bus non parte..!!

ecco il risutato con il port attaccato!
Codice: [Seleziona]
i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
      0   1   2   3   4   5   6   7   8   9   a   b   c   d   e   f
00:          XX XX XX XX XX XX XX XX XX XX XX XX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
70: XX XX XX XX XX XX XX XX XX

Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 27, 2009, 04:03:46 pm
Molto strano..

Hai modificato il file /etc/modules.d/80-gpio come ho indicato precedentemente?
Se non l'hai fatto, modificalo, riavvia la Fonera e prova con il port extender e anche senza e dopo posta i risultati..
Prova anche disinstallando il pacchetto kmod-gpio_2.6.21.5-atheros-1_mips e fammi sapere..

Comunque io ho utilizzato un 74HC05 e non un 74LS05 magari lavorano in modo diverso, domani dovrei acquistarlo e ti dico se anche a me fa lo stesso..a giorni mi dovrebbero arrivare i DS1621 e posso finalmente testare con entrambi gli Hex-Converter..
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 27, 2009, 07:48:25 pm
sisi fatto..ma non cambia niente...!
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 27, 2009, 08:22:12 pm
Ricapitoliamo il tutto..

1. Hai messo la 7.09 Kamikaze
2. Hai installato i pachetti presenti qu?: http://www.lefinnois.net/fonerai2c/7.07/atheros-2.6/packages/ (http://www.lefinnois.net/fonerai2c/7.07/atheros-2.6/packages/)
3. Hai riavviato la Fonera
4. Hai lanciato il comando:
Citazione
i2cdetect -l
e poi
Citazione
i2cdetect 0

Oltre a questi hai seguito altri passaggi o comandi?
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 27, 2009, 09:30:53 pm
avevo fatto cosi e niente...

poi ho provato a installare quell'altro pacchetto che mi hai consigliato...ma niente..

ho modificato 80-gpio cambiando il - con il _ ...ma niente ancora...

non ho effettuato altro...
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 28, 2009, 07:15:50 pm
ho scoperto che gli integati "LS" sono molto lenti nella commutazione segnali, mentre gli "HC", oltre a essere C-MOS, sono pi? veloci...evidentemente il mio problema ? quello....mi tocchera prenderli su internet perch? in zona sembrano oro :roll:
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 28, 2009, 07:51:46 pm
Ho appena provato il 74LS05 ? il risultato che ottengo ? lo stesso identito del 74HC05..
Toccher? aspettare l'arrivo dei DS1621 per avere altri riscontri..
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Maggio 29, 2009, 12:40:41 am
che strano per? avere 2 risultati diametralmente opposti..!
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Maggio 29, 2009, 07:09:23 pm
Per curiosit?..scrivimi la sigla esatta che riporta l'integrato..
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Giugno 03, 2009, 07:50:20 pm
Oggi sono arrivati i 2 DS1621 ma ? stato un fallimento totale  :-( il primo si ? rotto mentre saldavo e il secondo ? andato in fumo appena collegato al circuito mandando in reset continuo la Fonera  :-( sono troppo piccoli per lavorarci bene(avevo preso il formato SMD)..
Spero di trovare la versione DIP altrimenti prover? con il PCF appena possibile, sperando di avere pi? fortuna..
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Giugno 04, 2009, 09:50:06 am
Chissa se riusciremo mai nell'impresa...pomeriggio quando arrivo a casa guardo bene la sigla
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Giugno 17, 2009, 02:48:12 pm
Eccomi..scusa il ritardo ma sono sotto esami...

la sigla ?  SN74LS05N

P.S.Ho ordinato dalla baia i 74HC05 e anche altri 2 pcf
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Giugno 18, 2009, 10:00:52 pm
Finalmente sono riuscito nell'impresa..l'errore era nel circuito, per evitare altri problemi ho preparato due immagini con circuito I2C e collegamento dei GPIO per chi volesse sperimentare..

Circuito I2C, l'integrato pu? essere o un 74HC05 o un 74LS05 con resistenze da 10Kohm:
(http://img14.imageshack.us/img14/518/i2co.jpg)

Connessioni GPIO:
(http://img241.imageshack.us/img241/6271/gpiosw1.jpg)

Il firmware utilizzato ? stato: OpenWRT Kamikaze 7.09 reperibile qu? => http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/ (http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/)

I pacchetti utilizzati sono stati presi dal sito dell'autore del progetto, questo ? il link: http://www.lefinnois.net/fonerai2c/7.07/atheros-2.6/packages/ (http://www.lefinnois.net/fonerai2c/7.07/atheros-2.6/packages/)

I file di caricamento dei moduli devono essere cos? configurati:
/etc/modules.d/50-i2c-core :
Citazione
i2c-core
i2c-dev
/etc/modules.d/60-i2c-algos :
Citazione
i2c-algo-bit
/etc/modules.d/99-i2cgpio :
Citazione
i2c-gpio inverted=1

Per gli esempi pratici di utilizzo, consiglio di leggere l'ottimo articolo presente in questo blog: http://blog.liberailvoip.it/2007/05/21/ma-e-una-fonera-o-una-stazione-meteo-i2c-seconda-puntata-oggi-lezione-pratica/ (http://blog.liberailvoip.it/2007/05/21/ma-e-una-fonera-o-una-stazione-meteo-i2c-seconda-puntata-oggi-lezione-pratica/)

Piccole note finali:
1. Il circuito ? stato testato sia a 3V e sia a 5V ottendendo gli stessi identici risultati positivi
2. Utilizzando un tester, mettendo a massa un puntale(ad esempio sul dissipatore) si dovr? avere una tensione di 3/5V sia su SDA sia su SCL, se cos? non fosse, sicuramente ? stato commesso un errore nella realizzazione del circuito oppure i componenti non funzionano correttamente
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Giugno 18, 2009, 10:43:51 pm
guarda che secondo me nello schema c'? qualcosa che non va...

SCL e SDA (quelli che andrebbero al pcf) sono collegati a VCC secondo il tuo schema, mentre andrebbero collegati prima della resistenza, direttamente in uscita dalla porta NOT.

io ancora 0 risultati comunque....sar? il pcf che non funziona..!
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Giugno 19, 2009, 10:30:37 pm
Schema corretto e sostituito  :mrgreen:
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Giugno 21, 2009, 12:26:26 am
2. Utilizzando un tester, mettendo a massa un puntale(ad esempio sul dissipatore) si dovr? avere una tensione di 3/5V sia su SDA sia su SCL, se cos? non fosse, sicuramente ? stato commesso un errore nella realizzazione del circuito oppure i componenti non funzionano correttamente
controllato e ho 5 volt....pu? essere solo il pcf a questo punto
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Giugno 22, 2009, 12:15:36 pm
Sono arrivati i 2 pcf presi dalla polonia...vado subito a fare una prova...! :-P
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Giugno 22, 2009, 02:06:52 pm
Niente da fare..non va un cribbio :|

Silver mi confermi questo schema?
(http://img37.imageshack.us/img37/518/i2co.jpg)

Adesso provo a riflashare e rifare tutto da capo...
-flash
-installo i pacchetti
-li configuro come hai scritto te
-vedo se funziona
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Luglio 13, 2009, 02:01:52 pm
Ho risolto il problema...ho sostituito il 74LS05 con il 74HC05 (pi? veloce) e ora sul bus mi viene riconosciuto il pcf all'indirizzo 0x20.
Riesco anche a leggere gli ingressi con il comando
Codice: [Seleziona]
pcf8574 -d /dev/i2c-0 -a 0x21 -r -v
riesco a settare le uscite a livello 0
Codice: [Seleziona]
pcf8574 -d /dev/i2c-0 -a 0?21 -w 0?04
ma come faccio a settarle a livello 1?
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Luglio 18, 2009, 06:22:05 pm
Mi rispondo da solo.
se proviamo a vedere gli input con il comando
Codice: [Seleziona]
pcf8574 -d /dev/i2c-0 -a 0x20 -r
vediamo che come risposta abbiamo una cosa del genere
Codice: [Seleziona]
0xffffffffse tutti gli ingressi sono alti, se qualche ingresso sar? basso al posto di una f avremo una d

quindi per settare le uscite
Codice: [Seleziona]
pcf8574 -d /dev/i2c-0 -a 0?21 -w 0?fdfdfdfdnell'esempio sopra ho settato una porta alta e una bassa e via dicendo
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Settembre 04, 2009, 10:10:22 am
Eccomi qu? di nuovo a scrivere in questo post, dopo mesi di studio e impegni universitari..

Dopo una serie di insuccessi dovuti a un errore di progettazione del PCB e una discreta inabilit? con le saldature, sono riuscito nell'intento di creare un PCB per bus I2C con sensore di temperatura collegabile alla Fonera2100, di seguito troverete foto e schemi..

(http://img269.imageshack.us/img269/4007/i2cpcb.jpg)
Il layout PCB lato rame

(http://img3.imageshack.us/img3/8570/i2cpcbrealworld.jpg)
Il PCB con i ponti da realizzare

(http://img215.imageshack.us/img215/4618/snc00021.jpg)
Il PCB realizzato

(http://img215.imageshack.us/img215/2914/snc00023.jpg)
Il PCB montato, visto da sopra

(http://img228.imageshack.us/img228/130/snc00025p.jpg)
Il PCB montato, visto da sotto dove ? possibile notare la pedinatura di espansione del bus

(http://img269.imageshack.us/img269/1232/snc00026a.jpg)
Il PCB montato visto da vicino

(http://img3.imageshack.us/img3/4183/snc00028y.jpg)
Il PCB collegato alla Fonera2100

Fatemi sapere cosa ne pensate..ovviamente la cosa ? stata fatta in puro spirito GNU/GPL quindi chi vorr? potr? apportare miglioramenti o modifiche..
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Settembre 04, 2009, 11:24:09 am
Bene! ? uscito proprio un bel lavoretto!
Io sto ancora tentando di progettare un pcb con a bordo 2 pcf! prima o poi lo finir? XD!
Titolo: Re: Espandere GPIO fonera
Inserito da: nanni85 - Settembre 24, 2009, 06:27:40 pm
scusare ? possibile avere l'elenco dei componenti?
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Settembre 24, 2009, 07:43:34 pm
trovi tutto qui!

http://blog.liberailvoip.it/2007/05/21/ma-e-una-fonera-o-una-stazione-meteo-i2c-seconda-puntata-oggi-lezione-pratica/ (http://blog.liberailvoip.it/2007/05/21/ma-e-una-fonera-o-una-stazione-meteo-i2c-seconda-puntata-oggi-lezione-pratica/)
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Settembre 25, 2009, 08:41:33 am
Questi sonon i componenti utilizzati:

N?1 74HC05
N?6 Resistenze 10K 1/4W
N?1 Strip di poli maschi per le pedinature
Titolo: Re: Espandere GPIO fonera
Inserito da: pierlo - Marzo 19, 2010, 01:36:45 am
ciao a tutti.

grazie per la discussione utilissima!

abbiamo realizzato il circuito postato da SilverFox89 con un 74hc05
stiamo testando il tutto su una fonera modello 2100 con firm openwrt 7.06 e con i moduli precompilati presi dal sito http://www.lefinnois.net/wp/index.php/2007/05/05/un-bus-i2c-pour-la-fonera/

abbiamo collegato un termometro ds1621 al bus i2c.

Il problema ? che la scansione del bus con i2cdetect ci torna che tutti gli indirizzi sono disponibili
Abbiamo rifatto il circuito due volte, non sappiamo pi? dove sbattere la testa :/

aggiungo che prima ancora di caricare qualsiasi modulo, ho 0.30V su SDA e 0.06V su SCL
non credo vada bene
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Marzo 20, 2010, 01:22:29 pm
Citazione
stiamo testando il tutto su una fonera modello 2100 con firm openwrt 7.06

Vi consiglierei di provare con il firmware OpenWRT 7.09 che ? sicuramente pi? stabile del precedente 7.07

Citazione
e con i moduli precompilati presi dal sito http://www.lefinnois.net/wp/index.php/2007/05/05/un-bus-i2c-pour-la-fonera/

Sono quelli giusti, ma avete effettuato le modifiche che riporto nei precedenti post?
In fase di caricamento ci sono problemi?

Citazione
aggiungo che prima ancora di caricare qualsiasi modulo, ho 0.30V su SDA e 0.06V su SCL
non credo vada bene

Non ? detto che la tensione in assenza di modulo caricato debba essere per forza 0.00V, quindi potrebbero non essere un problema avere quei valori.
Titolo: Re: Espandere GPIO fonera
Inserito da: pierlo - Marzo 20, 2010, 01:30:14 pm
Grazie! Ok allora metto su la 7.09

la discussione l'ho letta tutta (la so quasi a memoria :) utilissima davvero), per modifiche intendi i parametri dei moduli?
Per fare un po' di prove stiamo caricando i moduli a mano, i2c-core e i2c-dev senza parametri, mentre i2c-algo-bit l'abbiamo provato sia senza parametri che con parametri.

Nello specifico, i2c-algo-bit senza bit_test=1 permette il successivo caricamento di i2c-gpio. Per? poi la scansione del bus torna tutti gli indirizzi.
Invece se carichiamo i2c-algo-bit con bit_test=1 e debug=3 abbiamo info utili in dmesg che ci dicono che "bus i2c seems to be busy" e conseguentemente i2c-gpio nemmeno si carica.
Titolo: Re: Espandere GPIO fonera
Inserito da: pierlo - Marzo 21, 2010, 05:35:55 pm
abbiamo flashato la 7.09 con i moduli precompilati per la 7.07

i risultati sono gli stessi  :-( stiamo procedendo a ricontrollare nuovamente il circuito con il tester.

domanda: l'alimentazione per il 74hc05 la stiamo prendendo direttamente dallo spinotto della fonera, sono 5 volt, va bene? in uno schema preso dal sito francese abbiamo notato che lui si attacca ai capi di un condensatore...? irrilevante?
Titolo: Re: Espandere GPIO fonera
Inserito da: pierlo - Marzo 21, 2010, 06:25:56 pm
abbiamo trovato una piccola imprecisione su una saldatura del nostro circuito, ora i2cdetect trova correttamente il termometro all'indirizzo 0x48, ma con ds75ioctl ci da Bad Address
Titolo: Re: Espandere GPIO fonera
Inserito da: pierlo - Marzo 21, 2010, 07:37:52 pm
vi do una buona notizia  :mrgreen:

funziona alla grande, il problema del Bad Address era dovuto al fatto che stupidamente stavamo usando il client per il ds75

ho scaricato l'sdk di openwrt 7.09 e compilato il client per il ds1621 e ora funziona!

grazie per le dritte.
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Marzo 22, 2010, 12:15:20 am
Ottimo ;)

se fate qualche nuova scoperta non dimenticate di postare ;)
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Marzo 23, 2010, 05:23:15 pm
Citazione
vi do una buona notizia  afro

funziona alla grande, il problema del Bad Address era dovuto al fatto che stupidamente stavamo usando il client per il ds75

ho scaricato l'sdk di openwrt 7.09 e compilato il client per il ds1621 e ora funziona!

grazie per le dritte.

Perfetto  :mrgreen:
Ora per? dovreste fare da cavia per alcune misurazioni(ovviamente con firmware 7.09) che serviranno per una futura guida riferita al firmware 8.09..in particolare dovreste:
1) Misurare la tensione sul GPIO 1 prima di aver caricato i vari moduli
1) Misurare la tensione sul GPIO 1 dopo aver caricato i vari moduli
2) Misurare la tensione sul GPIO 1 in fase di lettura/scrittura del BUS

Fatemi sapere..
Titolo: Re: Espandere GPIO fonera
Inserito da: pierlo - Marzo 23, 2010, 05:57:57 pm
Ok avrete presto quelle misurazioni.

Vi informo che ora siamo passati alla fase due del nostro progetto. Dobbiamo usare la fonera come dispositivo i2c slave e non master.
Purtroppo l'implementazione i2c del kernel Linux copre solo il funzionamento come master, quindi ci tocca fare un discreto lavoro in pi?.
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Aprile 12, 2010, 03:49:45 pm
Scusate la sempre imperante mia ignoranza ma avendo dei 74HC04 volevo sapere se possono sostituire i 74HC05. :roll:
Titolo: Re: Espandere GPIO fonera
Inserito da: Avatar - Aprile 12, 2010, 04:21:15 pm
Citazione
volevo sapere se possono sostituire i 74HC05.

Si. ho dato una sbirciata ai datasheet.
sono equivalenti  :wink:
il 74HC05 ha la differenza del collettore aperto,
nel caso contrario dovevi al massimo mettere una resistenza di pull up sulle uscite.
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Aprile 12, 2010, 04:25:04 pm
Ma cosa farei senza di voi?? Grazie mille!! Prendo quello che mi manca e ci provo anch'io!!
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Aprile 12, 2010, 07:46:44 pm
Ma cosa farei senza di voi?? Grazie mille!! Prendo quello che mi manca e ci provo anch'io!!
posso dirti per certo che se prendi gli analoghi ma la versione "LS" non funzionano. Mentre gli "HC" funzionano correttamente perch? hanno un tempo di intervento migliore ;)
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Aprile 12, 2010, 08:56:02 pm
Citazione
posso dirti per certo che se prendi gli analoghi ma la versione "LS" non funzionano. Mentre gli "HC" funzionano correttamente perch? hanno un tempo di intervento migliore

Io li provai entrambi avendo gli stessi risultati positivi  :?
Titolo: Re: Espandere GPIO fonera
Inserito da: TechBek - Aprile 13, 2010, 07:04:35 pm
io ho provato 4 "LS" comprati in posti diversi senza successo  :|

mentre con l' "HC"  ? andato tutto liscio al primo colpo..lol
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Giugno 19, 2010, 07:39:32 pm
Dopo circa un anno di pausa sull'argomento I2C, ho ripreso la sperimentazione, questa volta con firmware 8.09.2..

Come avevo gi? anticipato le cose sono cambiate, ovvero: non c'? pi? bisogno del 74HC05 per gestire i segnali SDA e SCL!!!
Ora si possono gestire con una coppia di GPIO attaccati direttamente alla periferica con resistenze da 2.2KOhm di pull-up..

C'? inoltre la possibilit? di creare dei BUS separati e indipendenti, uno per ogni coppia di GPIO disponibili, tutto funziona in modo molto pi? semplice di prima(con una quantit? di componenti pari a zero)..

La sperimentazione continua  :mrgreen:
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Giugno 19, 2010, 08:34:34 pm
C'ho provato con i 74HC04 seguendo il tuo schemama non ci sono riuscito, provato e riprovato. Forse avevo sbagliato qualcosa... ma ho ordinato da hong-kong un po' di 74HC05 per ritentare e mi son arrivati, dopo pi? di un mese, proprio oggi... e u dai 'sta nuova buona novella... puoi anche spiegare per un ignorante pi? in dettaglio la rivelazione?
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Giugno 21, 2010, 09:46:12 pm
Nessuna rivelazione  :-)

Solamente che i moduli che si utilizzano fino alla 7.09 sono stati scritti da Lefinnois appositamente per la Fonera 2100, come riporta nella pagina relativa alla descrizione:
Citazione
My kernel implementation use 4 GPIO on SW1 (1-2-5-6) near the Ethernet connector. Pin 1 and 2 are respectively used for sending and receiving SDA signals. 5 and 6, for SCL signals.

I driver inclusi dalla versione 8.09 invece sono driver "generici" e "universali" per tutte le periferiche embedded con GPIO disponibili, infatti a differenza dei moduli di Lefinnois, i moduli attualmente disponibili nei repository devono essere configurati andando a indicare il GPIO ID relativo a SDA e SCL

PS: A breve penso di implementare anch'io un LCD come altri hanno gi? fatto..troppa curiosit?  :mrgreen:
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 03, 2010, 11:04:01 pm
Ora si possono gestire con una coppia di GPIO attaccati direttamente alla periferica con resistenze da 2.2KOhm di pull-up..

sempre per la mia ignoranza.... vuol dire semplicemente questo?

GPIO------Res2.2KOhm----pin periferica
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Luglio 04, 2010, 09:43:25 am
Esattamente cos?:

                    VCC
                      |
                      |
GPIO------Res2.2KOhm----pin periferica
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 04, 2010, 02:05:33 pm
Grazie della dritta...
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 05, 2010, 01:29:58 pm
quindi, vediamo se ho capito:

esempio sul linksys, usando i gpio 4 e 7

Gpio 7 ------------------------------------------Pin
                           |
                           |
                        2,2KOhm
                           |
                           |
                         VCC
                           |
                           |
                       2,2 Kohm
                           |
                           |
Gpio 4-----------------------------pin

In questo modo me lo stabilizza a livello logico 1, mentre se invece al posto di VCC lo collego a GRD a livello logico 0.
Quindi funzionerebbe lo stesso ma questo gli d? stabilit? e non risente di interferenze. Giusto o ho detto cavolate?

Poi setto i gpio con
"i2c-gpio-custom bus0=0,4,7"
 e vado a controllare con il solito "i2cdetect 0"

Ci sono?




Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Luglio 05, 2010, 01:39:18 pm
I collegamenti sono esatti  8-)

Citazione
Poi setto i gpio con
"i2c-gpio-custom bus0=0,4,7"
 e vado a controllare con il solito "i2cdetect 0"

Questo te lo confermo  :wink:

Citazione
mentre se invece al posto di VCC lo collego a GRD a livello logico 0

Questo non so che dire..? da provare  :roll:
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 05, 2010, 04:16:12 pm
Provato...

Codice: [Seleziona]
root@OpenWrt:~#
root@OpenWrt:~# insmod i2c-gpio-custom bus0=0,4,7

da ssh non da risposta ma da seriale l'output ?

Codice: [Seleziona]
i2c-gpio i2c-gpio.0: using pins 4 (SDA) and 7 (SCL)

poi...

Codice: [Seleziona]
root@OpenWrt:~# i2cdetect -l
i2c-0 i2c       i2c-gpio0                       I2C adapter

e...

Codice: [Seleziona]
root@OpenWrt:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n]
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- 38 -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --                        

e rileva il PCF8574 collegato. questo, preso da futurlec,...

(http://www.futurlec.com/Pictures/ET-MINI_PCF8574.jpg)



Vado a leggere....

Codice: [Seleziona]
oot@OpenWrt:~# i2cget 0 0x38
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will read from device file /dev/i2c-0, chip address 0x38, current data
address, using read byte.
Continue? [Y/n] y
0xff
root@OpenWrt:~#

Sembra funzioni...
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 05, 2010, 05:31:22 pm
Provato a collegare una scheda rel? e funziona... ma non tutte e 8 le uscite... me le accoppia 4 a 4... come si vede anche sopra mi legge solo due valori e non 8.
0xff
Prova e riprova ma se setto le uscite con

i2cset 0 0x38 0x00 ..... funziona
ma con
i2cset 0 0x38 0x00000000 nisba
dice che "data value out of range".

Vabb? ora devo scappare al lavoro... se qualcuno mi da una dritta sarebbe gradita.

Altra cosa...
Provato a collegare un ds1307 ma ? invisibile.

Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Luglio 05, 2010, 08:12:14 pm
Cerco di spiegare il concetto..spero si capisca  :wink:

I valori che si possono attribuire al PCF variano da 0x00 a 0xff, questo range contiene tutte le combinazioni possibili e immaginabili gestibili dagli 8 bit.

Calcolarlo ? molto semplice basta solo capire il meccanismo. Esempi:
1. Se vogliamo impostare la prima uscita a 1 e tutte le altre a 0, ovvero 10000000, dobbiamo settare 0x01
2. Se vogliamo impostare la seconda uscita a 1 e tutte le altre a 0, ovvero 01000000, dobbiamo settare 0x02
3. Se vogliamo impostare la terza uscita a 1 e tutte le altre a 0, ovvero 00100000, dobbiamo settare 0x04

La chiave del sistema sta nel convertire la maschera binaria in esadecimale invertendo la maschera stessa nel caso in cui i secondi 4 bit siano uguali a 0000..ovvero se vogliamo impostare questa maschera: 01010000, prendiamo i primi 4 bit |0101| e li invertiamo |1010| (ho ignorato gli altri 4 bit perch? valgono 0000), li trasformiamo in esadecimale e avremo 0x0a

Se invece nella maschera i primi 4 bit sono uguali a 0000, dobbiamo invertire i secondi 4 bit e aggiungere 0000..ovvero se vogliamo impostare questa maschera: 00000001, prendiamo i secondi 4 bit |0001| e li invertiamo |1000| e aggiungiamo 0000, li trasformiamo in esadeciamle e avremo 0x80

Spero di essere stato chiaro  8-)

Una piccola carrellata di esempi in chiusura:
10000000 0x01
01000000 0x02
11000000 0x03
00100000 0x04
10100000 0x05
01100000 0x06
11100000 0x07
00010000 0x08
10010000 0x09
01010000 0x0a
.............
00000001 0x80
.............
10000001 0x81
.............
10101010 0xaa
.............
11111111 0xff
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 06, 2010, 12:35:15 pm
Chiarissimo!!!!!!!  :lol: :lol: :lol:
Grazie.
Poi provo.
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 06, 2010, 03:40:04 pm
Perfetto!!! Funziona alla grande!! :lol:

Il problema da risolver ora mi sembra questo:
supponiamo di avere collegato al PCF8574 8 rel? che comandano altrettante periferiche. Diciamo che all'inizio attivo la numero 1,3,5,7 cio? 10101010 cio? do un
ic2set 0 0x38 0xaa

supponiamo ora di dover disattivare la 7 e attivare la 2 senza disattivare la 1 la 3 e la 5 tramite script, quindi che non "vede" cosa ci sta attivato e cosa no.
Dovr? leggere il valore all'indirizzo 0x38 (in esadecimale), trasformarlo in binario, controllare quali bit sono attivi, memorizzarli, costruire un nuovo numero binario che tenga conto dei bit da portare a "0", cambiare a "1" quelli attivati dall'ultimo comando, controllare se i primi o secondi 4 bit sono uguali a 0, invertire o meno la sequenza, trasformare il tutto in esadecimale e darlo in pasto a i2cset. Mi sembra complicato. o ci sta anche qui una soluzione "umana".
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 06, 2010, 06:13:50 pm
Non riesco invece a far andare un DS1307 (Real-Time Clock) che per me sarebbe importante perch? l'idea ? quella di utilizzare il tutto nei prossimi collegamenti di controllo di strutture pubbliche e dovendo programmare riscaldamento, luci e altro avere un Real-Time Clock mi eliminerebbe il rischio di caduta dell'ntp.
Sapete se con il DS1307 ci son problemi o necessita di qualche aggiunta?
C'? anche la possibilit? che lo abbia fatto fuori in precedenti mille esperimenti. :roll:

? questo, preso da futurlec

(http://www.futurlec.com/Pictures/ET-MINI_DS1307.jpg)
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Luglio 06, 2010, 08:53:47 pm
Citazione
Mi sembra complicato. o ci sta anche qui una soluzione "umana".

Su due piedi non saprei risponderti..fai "prima" a provare  :wink:

Citazione
C'? anche la possibilit? che lo abbia fatto fuori in precedenti mille esperimenti.

Sicuramente  l'hai fatto fuori :-) il DS1307 ? pienamente compatibile..
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 06, 2010, 10:44:56 pm
Ordinati 4 nuovi, solo i ds1307,... vedremo se me li fulmino tutti. Son fortissimo in questo. :-D
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 09, 2010, 08:59:14 am
SilverFox molto gentilmente mi ha inviato una serie di applicativi i2c compilabili per OpenWrt, si tratta di applicativi per gestire pcf8574, ds1307, ds1621 1 lcd. Li ho compilati su backfire per il wrt54gl e qui trovate l'ipk...
http://82.186.215.122/truthrepo/i2c/i2c-utils_1.0_brcm47xx.ipk (http://82.186.215.122/truthrepo/i2c/i2c-utils_1.0_brcm47xx.ipk)
Ho avuto m odo di utilizzare solo "pcf8574" in quanto il "ds1307" me lo son bruciato e gli altri non li ho (ancora).

Vediamo un po':
Ho collegato il pcf8574 al bus0 all'indirizzo 0x3f

questa la sintassi del comando:
Codice: [Seleziona]
root@OpenWrt:~# pcf8574
Usage :
pcf8574 -d /dev/i2c-x -a address -w mask -r -v
root@OpenWrt:~#

andiamo a leggere i valori dell'indirizzo...

Codice: [Seleziona]
root@OpenWrt:~# pcf8574 -d /dev/i2c-0 -a 0x3f -r -v
Testing
LSB                  MSB
 0  0  0  0  0  0  0  0
root@OpenWrt:~#

modifichiamo ...
Codice: [Seleziona]
root@OpenWrt:~# pcf8574 -d /dev/i2c-0 -a 0x3f -w 0xaa
root@OpenWrt:~# pcf8574 -d /dev/i2c-0 -a 0x3f -r -v
Testing
LSB                  MSB
 0  1  0  1  0  1  0  1
root@OpenWrt:~#

la comodit? dell'applicativo mi sembra essere quella di poter vedere immediatamente lo stato dei bit e quindi di avere un riscontro immediato e utile per uno script di verifica e cambiamento di stato.

La stessa cosa si pu? fare con i2cset ma con la necessit? di trasformare poi l'esadecimale in binario.
Sarebbe ottimo poter avere uno script che da in pasto a "pcf8574" un binario e ci pensasse lui a fare il lavoro, tipo

Codice: [Seleziona]
root@OpenWrt:~# pcf8574 -d /dev/i2c-0 -a 0x3f -wb 01101011  :roll:

cos? si avrebbe un controllo immediato...

Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 09, 2010, 10:33:14 am
Per trasformare i valori nelle varie basi si pu? comunque velocemente utilizzare "bc" installabile dal repo ufficiale di openwrt..
esempio:
trasformare 0xaa in binario

prima si trasforma in decimale
Codice: [Seleziona]
truthahn@truthahn-laptop:~$ echo "ibase=16; AA" | bc
170

e poi in binario

Codice: [Seleziona]
truthahn@truthahn-laptop:~$ echo "obase=2; 170" | bc
10101010

Naturalmente invertendo i valori a "ibase"  e "obase" si ottiene il contrario.
 
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Luglio 09, 2010, 11:14:51 am
Qu? il repository contenente documentazione, sorgenti e pacchetti per Fonera:

http://silverfox89.dyndns.org/index.php?dir=fonera/i2c/ (http://silverfox89.dyndns.org/index.php?dir=fonera/i2c/)

Spero sia utile a chi vorr? cimentarsi  :mrgreen:
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 19, 2010, 02:39:27 pm
Sicuramente  l'hai fatto fuori :-) il DS1307 ? pienamente compatibile..
Sei sicuro?? mi sono arrivati quelli nuovi ma non riesco proprio a vederli. :?

Codice: [Seleziona]
root@OpenWrt:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n]
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --                         
root@OpenWrt:~#
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 19, 2010, 03:14:11 pm
Scusa ancora...
con che driver comunicano i ds?
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 22, 2010, 09:05:48 pm
Oggi mi sono arrivati i ds1621, termometri tanto per capirci, cos? visto che c'ero ho modificato un wrt54gl portando all'"aperto" la seriale, la jtag, la 3,3 V, la 12 V e naturalmente il bus i2c (2 bus quello sui gpio 4 e 7 3 quello sui 2 e 3)
Intanto per provare il ds1621 l'ho messo volante.
(http://www.tormini.it/images/ds1621_1.JPG)
Al primo colpo il bel termometrino ha funzionato.. Coviene comunque prendere i dip, questi hanno una dimensione di pochi millimetri e saldarci i cavi ci vuol... tanta ma tanta pazienza.
Codice: [Seleziona]
root@OpenWrt:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n]
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --                        
root@OpenWrt:~#
e con la comodissima utility postata da SilverFox

Codice: [Seleziona]
root@OpenWrt:~# ds1621 -d /dev/i2c-0 -a 0x48
22.50
root@OpenWrt:~#

(http://www.tormini.it/images/ds1621.JPG)



Mica male ??? Intendo la temperatura. Sono nel mio eremo sul monte e ho dormito tutta estate con la coperta. :-D

Invece non riesco proprio a far andare il ds1307. :?
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 22, 2010, 10:01:24 pm
Ed ecco qua il ds 1621 e il pcf8574  sullo stesso bus.
Codice: [Seleziona]
root@OpenWrt:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n]
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- 38 -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --                        
root@OpenWrt:~#
pcf8574 -d /dev/i2c-x -a address -w mask -r -v
root@OpenWrt:~# pcf8574 -d /dev/i2c-0 -a 0x38 -r -v
Testing
LSB                  MSB
 1  1  1  1  1  1  1  1
root@OpenWrt:~# ds1621 -d /dev/i2c-0 -a 0x48
21.50
root@OpenWrt:~#
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 27, 2010, 04:54:30 pm
Il ds1307 ora funziona... era la scheda comperata in corto :| e quindi non bastava cambiare il ds1307.

@silverfox
l'applicativo ds1307 funziona in parte sul wrt54gl
Codice: [Seleziona]
root@OpenWrt:/# ds1307             
Usage :
ds1307 -d /dev/i2c-x [-s] [-h] [-t time]
All times are in MMDDhhmmCCYY.ss format
-s - set system time to rtc time
-h - set rtc time to system time
-t - set rtc time to 'time'
root@OpenWrt:/#
root@OpenWrt:/# ds1307 -d /dev/i2c-1 -t 121212121212.12
hardware clock set
root@OpenWrt:/#
root@OpenWrt:/# ds1307 -d /dev/i2c-1                   
121212122012.43

ma non funzionano le opzioni -h e -s per settare il rtc, vanno in Segmentation fault

Codice: [Seleziona]
root@OpenWrt:/# ds1307 -d /dev/i2c-1 -s
Segmentation fault
root@OpenWrt:/#
root@OpenWrt:/# ds1307 -d /dev/i2c-1 -h
Segmentation fault
root@OpenWrt:/#
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Luglio 27, 2010, 05:34:33 pm
Ho fatto due termometri con il ds1621 utilizzando l'involucro di due adattatori usb-serial mai andati...
saldati e infilati dentro e poi un bagno di silicone... questi ds1621 son così piccoli e delicati che una protezione ci va proprio.
Ora ci metto una retina sopra...
(http://www.tormini.it/truthrepo/img/ds1621.JPG)
(http://www.tormini.it/truthrepo/img/ds1621_1.JPG)

Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Agosto 01, 2010, 12:41:08 pm
Ottimo lavoro!!!

Sono mancato qualche giorno e ti sei dato alla pazza gioia  :lol:

Per l'applicativo del ds1307 non so che dirti..mi sembra strano che funzioni sulla Fonera e non vada sul WRT forse utilizzano librerie diverse o compilate diversamente..purtroppo non sono addentrato all'argomento  :| bisognerebbe fare un p? di debug..
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Agosto 02, 2010, 01:41:08 pm
? pure una condanna quando ci si mette dietro a 'ste cose :-D
comunque senti, tu dicevi di mettere delle resistenze di pull-up da 2,2kΩ e funzionano ma in molti siti ho trovato che le resistenze devono essere da 4,7KΩ... hai qualche dritta in proposito.
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Agosto 02, 2010, 05:20:51 pm
supponiamo ora di dover disattivare la 7 e attivare la 2 senza disattivare la 1 la 3 e la 5 tramite script, quindi che non "vede" cosa ci sta attivato e cosa no.
Dovr? leggere il valore all'indirizzo 0x38 (in esadecimale), trasformarlo in binario, controllare quali bit sono attivi, memorizzarli, costruire un nuovo numero binario che tenga conto dei bit da portare a "0", cambiare a "1" quelli attivati dall'ultimo comando, controllare se i primi o secondi 4 bit sono uguali a 0, invertire o meno la sequenza, trasformare il tutto in esadecimale e darlo in pasto a i2cset. Mi sembra complicato. o ci sta anche qui una soluzione "umana".
mi cito perch? ho fatto uno script  integrandolo nella webif  che risolve il problema... se c'? di meglio sempre pronto a prenderlo.

prima vado a leggere lo stato, dividendolo, dei valori del pcf8574
Codice: [Seleziona]
for n in $pin1 $pin2  $pin3  $pin4 $pin5 $pin6 $pin7 $pin8;do
        eval stato$n="$(echo "$(pcf8574 -d /dev/i2c-$bus -a $indirizzo -r -v)" | sed -n '3p' | awk '{ print $('$n') }')"
done
poi controlla il valore passato dalla pagina (ACCENDI o SPEGNI i vari pin) e fa il resto
Codice: [Seleziona]
for n in $pin1 $pin2  $pin3  $pin4 $pin5 $pin6 $pin7 $pin8;do
        pin=FORM_npin$n
        eval pin=\$$pin
        statozero="0000"
                if equal $pin "ACCENDI" ; then
                        eval stato$n="0"
                fi
                if equal $pin "SPEGNI" ; then
                        eval stato$n="1"
                fi
                if ! equal $pin " " ;then
                        stato="$stato8$stato7$stato6$stato5$stato4$stato3$stato2$stato1"
                        statopin2="$stato1$stato2$stato3$stato4"
                        statopin1="$stato5$stato6$Stato7$stato8"
                        if equal $statopin1 "0000" ;then
                                stato="$stato4$stato3$stato2$stato1"
                        fi
                        if equal $statopin2 "0000" ;then
                                stato="$statopin8$stato7$stato6$stato5$statozero"
                        fi
                        codice="$(echo "ibase=2; $stato" | bc)"
                        codiceesa="$(echo "obase=16; $codice" | bc)"
                        echo "$(pcf8574 -d /dev/i2c-$bus -a $indirizzo -w 0x$codiceesa)"
                fi
done

Come si vede ho utilizzato "bc" per trasformare il binario in esa.
Funziona.

Titolo: Re: Espandere GPIO fonera
Inserito da: djsmoye - Dicembre 21, 2010, 10:27:55 pm
Buona sera a tutti, scusate per il mio italiano ma fa 20 anni che non o piu parlato (n? scritto) -)

O provato il bus i2c con 2 fili ? pull-up da 1k, 2,2k ? 10k ma posso fare quel che voglio con "i2cdetect 0" non trova mai il mio pcf7574 o ds75 ? anch? mcp23009.

Con pull-up 2,2k:

Codice: [Seleziona]
root@OpenWrt:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
root@OpenWrt:~#


Con Pull-up 1k
Codice: [Seleziona]
root@OpenWrt:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
root@OpenWrt:~#


Con Pull-up 10k
Codice: [Seleziona]
root@OpenWrt:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: 70 71 72 73 74 75 76 77
root@OpenWrt:~#

Sensa niente sul bus dopo un minuto di scan:
Codice: [Seleziona]
root@OpenWrt:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
root@OpenWrt:~#

seguito queste spiegazioni: http://code.google.com/p/fonera-i2c/wiki/FoneraHacks (http://code.google.com/p/fonera-i2c/wiki/FoneraHacks)

Qualcuno a gia provato ? riuschito i2c con due fili?

Grazzie mille per il vostro aiuto :-)
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Dicembre 21, 2010, 11:48:06 pm
Ciao djsmoye,
Quello riportato negli ultimi post di questo 3d ? con 2 fili, che poi ? sfociato in questo...
http://www.nabuk.org/f/index.php?topic=2361.msg24050#msg24050 (http://www.nabuk.org/f/index.php?topic=2361.msg24050#msg24050).
Fai molta attenzione nelle saldature e nei collegamenti.
Titolo: Re: Espandere GPIO fonera
Inserito da: djsmoye - Dicembre 23, 2010, 11:32:36 pm
Grazie a t?, continuer? con questo thread.
Titolo: Re: Espandere GPIO fonera
Inserito da: fpaliuc - Gennaio 13, 2011, 02:20:19 pm
Vorrei collegare alla Fonera 2 sensori di temperatura e 4 rel? ma non ho capito bene come vanno collegati questi al PCF8574. Qualcuno che mi potrebbe dare una mano?

Grazie
Titolo: Re: Espandere GPIO fonera
Inserito da: truthahn - Gennaio 13, 2011, 06:34:34 pm
Cosa intendi? Fisicamente? A quali pin?
questa ? la scheda che ho preparato io...http://www.nabuk.org/f/index.php?topic=2361.msg24050#msg24050 (http://www.nabuk.org/f/index.php?topic=2361.msg24050#msg24050)
Titolo: Re: Espandere GPIO fonera
Inserito da: fpaliuc - Gennaio 13, 2011, 08:13:25 pm
Si, fisicamente non so come collegare i 2 sensori di temperatura e poi collegare i pin del PCF ai rel?. La tua scheda l'ho vista...ma non c'? lo schema da seguire. :)
Titolo: Re: Espandere GPIO fonera
Inserito da: fpaliuc - Febbraio 11, 2011, 02:53:01 pm
Oggi mi sono arrivati i ds1621, termometri tanto per capirci, cos? visto che c'ero ho modificato un wrt54gl portando all'"aperto" la seriale, la jtag, la 3,3 V, la 12 V e naturalmente il bus i2c (2 bus quello sui gpio 4 e 7 3 quello sui 2 e 3)
Intanto per provare il ds1621 l'ho messo volante.
(http://www.tormini.it/images/ds1621_1.JPG)
Al primo colpo il bel termometrino ha funzionato.. Coviene comunque prendere i dip, questi hanno una dimensione di pochi millimetri e saldarci i cavi ci vuol... tanta ma tanta pazienza.
Codice: [Seleziona]
root@OpenWrt:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n]
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --                        
root@OpenWrt:~#
e con la comodissima utility postata da SilverFox

Codice: [Seleziona]
root@OpenWrt:~# ds1621 -d /dev/i2c-0 -a 0x48
22.50
root@OpenWrt:~#

(http://www.tormini.it/images/ds1621.JPG)



Mica male ??? Intendo la temperatura. Sono nel mio eremo sul monte e ho dormito tutta estate con la coperta. :-D

Invece non riesco proprio a far andare il ds1307. :?
Ho modificato il driver del DS1621 per aumentare la precisione con quale restituisce la temperatura.  Magari qualcuno ? interessato.
Titolo: Re: Espandere GPIO fonera
Inserito da: marco1979 - Febbraio 11, 2011, 09:34:13 pm
...anche se il tempo a disposizione ? pochissimo mi avete fatto venir una voglia matta di provare sto bus i2c  :lol:
avevo gi? acquistato al tempo due ds1621, ho provato a collegarne uno a 2 gpio dell' agpf con le due R da 2,2k, carico il modulo con:
Codice: [Seleziona]
insmod i2c-gpio-custom bus0=0,9,10 poi
Codice: [Seleziona]
i2cdetect 0 ma
Codice: [Seleziona]
Error: Could not open file `/dev/i2c-0' or `/dev/i2c/0': No such file or directory...ho controllato mille volte i colegamenti e sembra tutto ok..boh

@fpaliuc
riesci mica a passarmi il package i2c-utils per bcm63xx?...grazie mille
Titolo: Re: Espandere GPIO fonera
Inserito da: fpaliuc - Febbraio 11, 2011, 10:34:03 pm
...anche se il tempo a disposizione ? pochissimo mi avete fatto venir una voglia matta di provare sto bus i2c  :lol:
avevo gi? acquistato al tempo due ds1621, ho provato a collegarne uno a 2 gpio dell' agpf con le due R da 2,2k, carico il modulo con:
Codice: [Seleziona]
insmod i2c-gpio-custom bus0=0,9,10 poi
Codice: [Seleziona]
i2cdetect 0 ma
Codice: [Seleziona]
Error: Could not open file `/dev/i2c-0' or `/dev/i2c/0': No such file or directory...ho controllato mille volte i colegamenti e sembra tutto ok..boh

@fpaliuc
riesci mica a passarmi il package i2c-utils per bcm63xx?...grazie mille

Prova a vedere se esiste il file /dev/i2c-0. Se esiste, verifica i permessi .
Titolo: Re: Espandere GPIO fonera
Inserito da: marco1979 - Febbraio 12, 2011, 12:33:00 am
no, il file /dev/i2c-0 non viene proprio creato.... :-(

EDIT:
se guardo nel dmesg:
Codice: [Seleziona]
root@OpenWrt:/# dmesg | grep i2c
i2c_core: Unknown symbol __i2c_board_list
i2c_core: Unknown symbol __i2c_first_dynamic_bus_num
i2c_core: Unknown symbol __i2c_board_lock
i2c_dev: Unknown symbol i2c_get_adapter
i2c_dev: Unknown symbol i2c_master_recv
i2c_dev: Unknown symbol i2c_smbus_xfer
i2c_dev: Unknown symbol i2c_register_driver
i2c_dev: Unknown symbol i2c_verify_client
i2c_dev: Unknown symbol i2c_put_adapter
i2c_dev: Unknown symbol i2c_transfer
i2c_dev: Unknown symbol i2c_del_driver
i2c_dev: Unknown symbol i2c_master_send
i2c_algo_bit: Unknown symbol i2c_add_numbered_adapter
i2c_algo_bit: Unknown symbol i2c_add_adapter
i2c_gpio: Unknown symbol i2c_bit_add_numbered_bus
i2c_gpio: Unknown symbol i2c_del_adapter

pure a te succede?
Titolo: Re: Espandere GPIO fonera
Inserito da: marco1979 - Febbraio 14, 2011, 04:59:48 pm
...funzia, dopo prove e riprove ho fatto prima a riflashare aggiornando al kernel 2.6.32.16 e il bus i2c ha funzionato alla prima  :wink:
Titolo: Re: Espandere GPIO fonera
Inserito da: fpaliuc - Marzo 06, 2011, 08:23:39 pm
Nell'ultimo tempo sto provando a testare il bus I2C su un'AGPF per comandare un PCF8574 e leggere la temperatura con due DS1621.

Ho trovato in rete la possibilit? di aumentare la lunghezza dei cavi (parlano di 30-300 metri) utilizzando il bus I2C ma, siccome non sono un elettronico ... c'ho un p? di difficolt? a mettere in prattica: http://www.nxp.com/documents/data_sheet/P82B96.pdf

Magari non sono l'unico interessato in questo argomento  :mrgreen:
Titolo: Re: Espandere GPIO fonera
Inserito da: fpaliuc - Marzo 06, 2011, 10:00:57 pm
Ho trovato qualcosa su un sito tedesco  :wink:

L'indirizzo qui: http://www.horter.de/shop/group_buffer__extender1185.html
Vendono l'extender ma hanno pubblicato anche lo schema e tutto il materiale necessario.
Titolo: Re: Espandere GPIO fonera
Inserito da: SilverFox89 - Marzo 07, 2011, 05:27:16 pm
Sono contento che questo topic continua ad essere attivo, purtroppo non ho avuto pi? tempo da dedicare al "progetto"
anche se ultimamente sono riuscito ad aggiornare il codice per la gestione del monitor LCD che presentava qualche bug,
ho anche provato ad utilizzare i due pin del PCF8574 non utilizzati dal monitor LCD..ma niente, il driver di gestione se li tiene ben stretti  :|
Titolo: Re: Espandere GPIO fonera
Inserito da: marco1979 - Marzo 07, 2011, 09:03:01 pm
Ho trovato qualcosa su un sito tedesco  :wink:

L'indirizzo qui: http://www.horter.de/shop/group_buffer__extender1185.html
Vendono l'extender ma hanno pubblicato anche lo schema e tutto il materiale necessario.

eh si a quanto pare ne servono 2 di quelle schedine e le puoi collegare fino a 200mt di distanza una dall' altra....
Titolo: Re: Espandere GPIO fonera
Inserito da: fpaliuc - Marzo 08, 2011, 09:35:46 am
Le schede alla fine me li costruisco da solo ... l'unico problema che rimane ? il rumore sui cavi. Il bus i2c sembra sia molto sensibile a disturbi creati da cellulari o altri dispositivi che generano onde eletromagnetiche. Stavo valutando la possibilit? di utilizzare un bus 1 Wire (da la possibilit? di utilizzare cavi pi? lunghi e magari risente un p? di meno l'influenza del rumore).

Qualcuno interessato a provare a far funzionare il bus 1 wire su VS o AGPF?
Titolo: Re: Espandere GPIO fonera
Inserito da: fpaliuc - Marzo 12, 2011, 04:40:34 pm
Buona sera a tutti, scusate per il mio italiano ma fa 20 anni che non o piu parlato (n? scritto) -)

O provato il bus i2c con 2 fili ? pull-up da 1k, 2,2k ? 10k ma posso fare quel che voglio con "i2cdetect 0" non trova mai il mio pcf7574 o ds75 ? anch? mcp23009.

Con pull-up 2,2k:

Codice: [Seleziona]
root@OpenWrt:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
root@OpenWrt:~#


Con Pull-up 1k
Codice: [Seleziona]
root@OpenWrt:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
root@OpenWrt:~#


Con Pull-up 10k
Codice: [Seleziona]
root@OpenWrt:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
70: 70 71 72 73 74 75 76 77
root@OpenWrt:~#

Sensa niente sul bus dopo un minuto di scan:
Codice: [Seleziona]
root@OpenWrt:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
root@OpenWrt:~#

seguito queste spiegazioni: http://code.google.com/p/fonera-i2c/wiki/FoneraHacks (http://code.google.com/p/fonera-i2c/wiki/FoneraHacks)

Qualcuno a gia provato ? riuschito i2c con due fili?

Grazzie mille per il vostro aiuto :-)


Prova ad invertire SDA con SCL
Titolo: Re: Espandere GPIO fonera
Inserito da: rgbsystem - Agosto 07, 2011, 09:37:07 pm
ciao a tutti
ne sto uscendo matto, ho un agpf e sto cercando invano di montare un i2c, ho il solito messaggio /dev/i2c not found e sembra proprio che non venga creato il device, c'? nessuno che ha un agpf con bus i2c funzionante?vorrwi sapere che sorgente ha utilizzato e/o se ? gentile da passarmi il sorgente, inoltre come ha collegato i device sui diodi led?
ciao