Ericsson chatboard


Come modificarla e riutilizzarla nelle tue applicazioni


Non mi assumo nessuna responsabilita' per danneggiamenti, perdita di dati o danni personali come risultato diretto o indiretto dell'uso delle informazioni contenute in queste pagine. Questo materiale e' fornito cosi' com'e' senza nessuna garanzia implicita o esplicita.


Home
Hardware
Software

Abstract
Come funziona
Sostituzione del connettore
Descrizione collegamento
Connettore UR3
Chatsniff
FAQ
Contatti

Abstract

Questa pagina ti illustrera' il funzionamento della Ericsson chatboard e come puoi riutilizzarla nelle tue applicazioni. Puoi investigare tutti i suoi segreti ed alla fine costruire una mini tastiera per PC con essa.
Questo articolo e' parte del progetto UR3 ed illustra come collegare la chatboard ad esso.

Come funziona

chatboard view Prima di tutto devi sapere che ci sono diversi modelli di chatboard, almeno due: uno alimentato a 5V e uno a 3.3V. Quest'ultimo (modello a 3.3V) sembra essere nero e questa dovrebbe essere la piu' grossa differenza tra i due, ma io non l'ho mai visto. Sembra che ci sia anche un'altra differenza tra i due modelli: il connettore dovrebbe essere differente tra il modello a 5V e quello a 3.3V, quindi fai molta attenzione perche' questo significa anche una differente piedinatura.
A destra puoi vedere la mia chatboard, un modello a 5V, ed in questo articolo io mi riferiro' sempre e solo a questo. Presta molta attenzione nel maneggiare la tua chatboard; io non mi assumo nessuna responsabilita' se danneggi la tastiera o altra strumentazione facendo cio' che e' illustrato in questa pagina.

Il principio di funzionamento e' relativamente semplice: nella chatboard e' presente un chip che legge lo stato dei tasti e invia attraverso una linea seriale una stringa di caratteri che rappresenta il tasto premuto. La tastiera continua ad inviare la stessa stringa fino a quando questa non viene riconosciuta inviando indietro la stringa di conferma.
'O','K',0x0d,0x0a Ogni messaggio della tastiera deve essere riconosciuto utilizzando questa stringa.
La linea seriale lavora a 9600bps 8n1.
Facile! Si, non e' cosi' complicato, ma ci sono alcuni piccoli particolari che devi sapere:

1) La stringa che rappresenta un tasto non e' sempre la stessa ma dipende dalla modalita' impostata.

2) Il chip presente sulla scheda non e' un puro key scanner ma implementa altre funzioni come le modalita' operative.

3) Dopo un po' di tempo che non viene premuto alcun tasto la tastiera ritorna alla modalita' iniziale.

4) Puoi cambiare la modalita' della tastiera premendo i tasti speciali sulla prima riga: WWW, Attachment, E-mail, SMS, etc.

5) Alcuni tasti possono non funzionare a seconda della modalita' impostata.

6) I codici dei tasti possono cambiare da un modello all'altro.

La mia modalita' preferita e' SMS: e' completa e tutti i tasti funzionano bene. In seguito mi riferiro' solo a questa modalita'.
Potresti divertirti provando tutte le varie modalita' operative per vedere quali tasti funzionano e come cambia la stringa correlata.
Ok! Ora rimpiazziamo il connettore originale e accendiamo!

Sostituzione del connettore

cable view Come potete vedere, ho rimosso il connettore originale (veramente brutto) e l'ho sostituito con un cavo del mouse a 5 poli. Nel rimuovere il connettore non tentare di spezzarlo come qualcuno ha suggerito, ma usa un saldatore e rimuovilo con attenzione, perche' il circuito attorno al connettore e' molto delicato.
Ho aggiunto anche un blochetto di legno per chiudere il buco del connettore e tenere il cavo in posizione, in modo da poter maneggiare la chatboard come una normalissima tastiera.
Se preferisci, puoi pensare di mettere un microcontrollore aggiuntivo all'interno della tastiera per effettuare la conversione di protocollo e collegare la chatboard direttamente al PC attraverso un connettore PS2. In questo modo puoi creare una piccola tastiera per PC. Se stai modificando la chatboard per il progetto UR3 allora non hai bisogno di convertire il protocollo, quindi aggiungi solo il cavo e segui la descrizione connettore UR3 per montarlo.

Descrizione collegamento

link description Come si puo' vedere in questa figura, il collegamento della tastiera e' veramente semplice. C'e' solo un dettaglio che richiede una piccola spiegazione: in questo schema ci sono due fili collegati alla linea +5V, uno di questi e' l'effettiva linea di alimentazione, l'altra e' il controllo dell'handshake. Sono spiacente, ma non ricordo quale delle due sia l'handshake e quale sia l'alimentazione, credo che il filo verde sia la linea di handshake ma non ne sono sicuro. Se entrambe le linee sono collegate a +5V la trasmissione e' abilitata e la tastiera e' libera di inviare stringhe; invece se la linea di handshake e' collegata verso GND la tastiera non puo' inviare nessuna stringa. Questa linea puo' essere utilizzata per implementare il controllo di flusso, ma non dovrebbe essercene bisogno, infatti in tutti i miei esperimenti non ho mai avuto bisogno del controllo di flusso.
Dall'altra parte del cavo occorre un traslatore di livello per convertire i livelli logici in quelli della RS232; ci sono diverse soluzioni per fare questo: un modo puo' essere utilizzare un MAX232, un altro puo' essere utilizzare questo convertitore RS232 che e' piu' piccolo, semplice ed economico del MAX232 e funziona molto bene.

Connettore UR3

ps2 connector Se stai modificando la tua chatboard per il progetto UR3, allora osserva questa figura: essa mostra un connettore standard PS2 con una piccola modifica. Una tastiera PS2 standard utilizza i segnali stampati in nero; normalmente i pins 2 e 6 non sono utilizzati. Noi invece utilizzeremo questi pins liberi per collegare i segnali TX ed RX provenienti dalla chatboard.
In questo modo sul tuo UR3 avrai un connettore PS2 femmina cui poter collegare indifferentemente una tastiera standard per PC o la chatboard.
Nota: in questa figura i segnali TX ed RX sono visti dalla chatboard, quindi il pin 2 e' collegato al filo blu e il pin 6 e' collegato al filo marrone. All'interno dell'UR3 devi scambiare i fili TX ed RX perche' funzioni correttamente.

Chatsniff

Chatsniff legge e mostra i messaggi provenienti dalla chatboard. Esso risponde con la stringa OK ad ogni messaggio ricevuto, altrimenti la chatboard continuerebbe a ritrasmetterlo. Se il codice viene riconosciuto, chatsniff stampa anche il carattere corrispondente.
Non tutti i messaggi vengono decodificati, alcune stringhe vengono completamente ignorate, altre invece sembrano contenere dati interessanti ma non viene riconosciuto loro alcun tasto. Di fatto io non conosco niente riguardo il protocollo impiegato tra la chatboard ed il telefonino, semplicemente ho osservato che sembra esserci uno schema abbastanza ripetitivo. Ho trovato una via per decodificare i tasti premuti, ma ho tralasciato diversi dettagli, come i tasti speciali sulla prima riga.
A parer mio il protocollo e' parecchio contorto. Per esempio, se si preme lo stesso tasto piu' volte, il codice corrispondente cambia; perche' il codice del tasto deve cambiare tra la prima pressione e le successive? Sinceramente non riesco a capire questa ne' questa cosa ne' altri strani effetti. All'interno di questo caos ho saltato la questione e ho trovato comunque un modo per decodificare i tasti.
La figura sulla sinistra mostra un pezzo dell'esecuzione di chatsniff: come si puo' vedere, il codice del tasto e' fondamentalmente la ripetizione di uno stesso carattere per un prefissato numero di volte; in effetti l'algoritmo di decodifica si basa sul conteggio delle ripetizioni del carattere all'interno della stringa e sembra funzionare piuttosto bene. In questo esempio ho digitato la sequenza h yeah!.
C'e' un piccolo particolare che devi conoscere prima di cominciare: come ho scritto prima il comportamento della chatboard e' determinato dal suo stato: se ti limiti ad accenderla e premere dei tasti non funzionera'. C'e' una procedura di avvio da seguire perche' funzioni correttamente.

1) Collegare la chatboard alla Linux box.

2) Avviare chatsniff.

3) Accendere la chatboard. Vedrai alcuni messaggi incomprensibili ed alcuni di questi saranno ignorati da chatsniff.

4) Premere il tasto SMS. Apparira' qualche altro messaggio incomprensibile ma ora la chatboard funzionera' correttamente.

Attenzione: la storia non e' ancora finita, se aspetti un po' senza premere nessun tasto, la chatboard tornera' nel suo stato iniziale, quindi dovrai premere nuovamente SMS perche' torni a funzionare.
Bene, ora sei pronto per sperimentare con la tua chatboard. Divertiti!

FAQ

Contact me

Se hai delle domande, suggerimenti, problemi, etc. puoi contattami a questo indirizzo: bit.trapper@gmail.com


Questo sito e' stato realizzato interamente con vim.
Grazie a tutta la comunita' open source, alla free software foundation e chiunque scriva software libero.