Autore Topic: inviare dati tramite USB o HDMI a circuito elettronico  (Letto 5316 volte)

Offline MarcosMarble

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
inviare dati tramite USB o HDMI a circuito elettronico
« il: 08 Agosto 2012, 21:15:25 CEST »
0
Ciao a tutti ragazzi,

ho una richiesta stellare da fare e spero qualcuno sappia in qualche modo aiutarmi o indirizzarmi su dove cercare la soluzione.

Avrei necessità di far viaggiare determitati dati (pacchetti di 8 bit con informazioni in formato ASCII o comunque informazioni in chiaro) ad un circuito elettronico collegato al cellulare tramite presa USB oppure HDMI. I dati ovviamente non sono informazioni video e quindi mi occorrerebbe utilizzare il canale di output di uno dei 2 connettori soltanto per questo scopo. Non ho bisogno di alimentazione poiché il circuito è autoalimentato e il circuito è già progettato per ricevere e inviare i dati utilizzando appunto questo tipo di codifica.

Ho provato moltissimi forum anche di elettronica ma la guerra tra l'informatica ed elettronica comincia proprio qui. Ognuno dice di vedere sull'altro e non riesco proprio ad uscirne.

Sapete dirmi quali API e/o librerie poter interfacciare tramite eclipse per poter trattare il canale di output di uno dei due connettori senza dover necessariamente passare per un PC e creare client o demon che facciano questo tipo di codifica?

Grazie anticipatamente a chi saprà darmi indicazioni (vista l'entità della richiesta, dire stra grazie)

Un grandissimo saluto a tutti

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:inviare dati tramite USB o HDMI a circuito elettronico
« Risposta #1 il: 08 Agosto 2012, 22:57:01 CEST »
0
mah, a me sa piu roba da ADK o da codice nativo addirittura...
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:inviare dati tramite USB o HDMI a circuito elettronico
« Risposta #2 il: 09 Agosto 2012, 08:22:48 CEST »
0
ho una richiesta stellare da fare e spero qualcuno sappia in qualche modo aiutarmi o indirizzarmi su dove cercare la soluzione.

Avrei necessità di far viaggiare determitati dati (pacchetti di 8 bit con informazioni in formato ASCII o comunque informazioni in chiaro) ad un circuito elettronico collegato al cellulare tramite presa USB oppure HDMI.

Come prima cosa scordati di poter controllare lo stato logico dei singoli segnali elettrici di uno dei due connettori. Ciascuno è controllato da una parte di elettronica dedicata che si occupa autonomamente di gestire il rispettivo protocollo (infatti si parla di prese USB e HDMI, quando in realtà USB e HDMI sono protocolli completi).

Per interfacciare un'elettronica tramite USB dovresti mettere sulla tua elettronica un chip USB, il più semplice è un USB-to-UART ed usare le librerie dell'ADK per spedire pacchetti a 8 bit.

Ancora più semplice è usare il Bluetooth, perchè lato telefono basta modificare leggermente l'esempio BluetoothChat per spedire caratteri a 8 bit, mentre lato elettronica ti serve nuovamente un chip Bluetooth-to-UART. Se ne trovano diversi su ebay, ne ho anche provato uno.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline MarcosMarble

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
Re:inviare dati tramite USB o HDMI a circuito elettronico
« Risposta #3 il: 09 Agosto 2012, 11:17:07 CEST »
0
Grazie infinite per le indicazioni...
quello che ufficialmente da questo circuito elettronico è ricevere caratteri ASCII da 8 bit in sequenze di 16 byte contenenti determinati caratteri che lui interpreta per pilotare altri apparecchi, ma è in grado anche lui di trasmettere ad un circuito analogo al suo oppure ad altri apparecchi collegati. Ovviamente non è mai stata implementata una USB quindi è un mondo abbastanza nuovo per me.
Ora do' un'occhiata a questo USB-to-UART che mi dici e provo a vedere se riesco ad implementarlo.

Grazie davvero per le indicazioni, questo è un mondo affascinantissimo, ma molto diverso ancora dai comuni PC con il quale ci si può interfacciare in maniera più pratica tramite porta seriale o parallela.

Un saluto.

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:inviare dati tramite USB o HDMI a circuito elettronico
« Risposta #4 il: 09 Agosto 2012, 11:30:28 CEST »
0
Ora do' un'occhiata a questo USB-to-UART che mi dici e provo a vedere se riesco ad implementarlo.

Per non stare ad inventare da zero, dai un'occhiata alle board Arduino usate anche per l'ADK, sono disponibili anche gli schemi e loro hanno usato un comunissimo chip FTDI.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:inviare dati tramite USB o HDMI a circuito elettronico
« Risposta #5 il: 09 Agosto 2012, 12:53:54 CEST »
0
HDMI è presente in pochissimi dispositivi Android, ha un BUS I2C per interscambio di informazioni tra il monitor e il dispositivo come le risoluzioni disponibili e altri dati. Non mi risulta l'esistenza di un API di programmazione, al massimo sono i driver video proprietari che si occupano di gestire il tutto. Bisogna anche tener presente il sistema di protezione HDCP presente nel HDMI, quindi molte funzioni sono volutamente non documentate.

USB è presente in tutti i dispositivi Android ma solo come client. Le funzioni di host e On-The-Go sono riservate solo a pochi dispositivi di fascia alta, esiste un API di programmazione per Android documentata e serve per forza un Android 3.1 o superiore.
adb logcat | tee /tmp/logcat | grep TAG

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:inviare dati tramite USB o HDMI a circuito elettronico
« Risposta #6 il: 09 Agosto 2012, 14:45:13 CEST »
0
Le funzioni di host e On-The-Go sono riservate solo a pochi dispositivi di fascia alta, esiste un API di programmazione per Android documentata e serve per forza un Android 3.1 o superiore.

Comunque ADK risulta supportato anche da android 2.3.4 (non tutti però, dipende dal kernel).
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline MarcosMarble

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
Re:inviare dati tramite USB o HDMI a circuito elettronico
« Risposta #7 il: 09 Agosto 2012, 16:15:08 CEST »
0
Ok ragazzi,

ho fatto un giretto veloce su google e ho trovato la possibilità di collegare arduino tramide adk purché in effetti lo smartphone sia dotato almeno della versione 2.3.4 di Android. Non sembra esserci nessun altro modo di poter interfacciare il mio circuito elettronico senza l'ausilio di questa combinazione hardware.

Ora come effettivamente si faccia il tutto non lo so, ma sarà un vero piacere scoprirlo :)

Grazie per i consigli, lo sviluppo va avanti ;-)


Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:inviare dati tramite USB o HDMI a circuito elettronico
« Risposta #8 il: 09 Agosto 2012, 16:50:23 CEST »
0
Comunque ADK risulta supportato anche da android 2.3.4 (non tutti però, dipende dal kernel).
Si è vero, io parlavo del USB host e On-The-Go:

USB Host and Accessory | Android Developers

dove il dispositivo Android si può interfacciare come un PC a qualsiasi dispositivo USB, come mouse, tastiere, joystick ecc... Per poter pilotare schede audio via USB serve la versione 4.1 di Android.

ADK è più semplice ma vuole il supporto da parte del kernel. Come è stato detto si riesce a farlo funzionare con versioni più vecchie di Android ma il dispositivo deve sopportare le funzioni da host via USB e il costruttore deve aver compilato nel kernel opportuni moduli altrimenti non si riesce a farlo funzionare (forse con l'utente root si riesce se si ha il modulo del kernel compatibile).

« Ultima modifica: 09 Agosto 2012, 19:20:10 CEST da iceweasel »
adb logcat | tee /tmp/logcat | grep TAG

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:inviare dati tramite USB o HDMI a circuito elettronico
« Risposta #9 il: 09 Agosto 2012, 17:16:35 CEST »
0
Non sembra esserci nessun altro modo di poter interfacciare il mio circuito elettronico senza l'ausilio di questa combinazione hardware.

Valuta anche la soluzione Bluetooth, perchè in quel caso non hai vincoli di versione android.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store