Autore Topic: Implementare chat tra 2 device + 1 modulo bluetooth  (Letto 644 volte)

Offline MisterAnt

  • Utente normale
  • ***
  • Post: 272
  • Respect: +4
    • IlSikano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S4 Active,Galaxy SIII I9300, Galaxy Tab GT-P5100
  • Play Store ID:
    MisterAnt
  • Sistema operativo:
    Ubuntu 12.04/Winzoz 7/Winzoz xp
Implementare chat tra 2 device + 1 modulo bluetooth
« il: 09 Aprile 2014, 10:52:37 CEST »
0
Buongiorno a tutti =)
Sto svolgendo un progetto in cui ho due device android e un modulo bluetooth montato in una scheda elettronica.
Ho preso come esempio bluetoothChat dai samples di android e finchè sono con due device mi va bene.
Sto tentando di implementare una multi-comunicazione tra più di due dispositivi, qualche idea o consiglio ??
Se le zampe del coniglio sono così fortunate, che fine ha fatto il coniglio?

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:Implementare chat tra 2 device + 1 modulo bluetooth
« Risposta #1 il: 09 Aprile 2014, 12:34:10 CEST »
0
Che io sappia il bluetooth è punto-punto, per cui ritengo non ci sia modo.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline MisterAnt

  • Utente normale
  • ***
  • Post: 272
  • Respect: +4
    • IlSikano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S4 Active,Galaxy SIII I9300, Galaxy Tab GT-P5100
  • Play Store ID:
    MisterAnt
  • Sistema operativo:
    Ubuntu 12.04/Winzoz 7/Winzoz xp
Re:Implementare chat tra 2 device + 1 modulo bluetooth
« Risposta #2 il: 09 Aprile 2014, 12:49:18 CEST »
0
un dispositivo andorid può supportare fino a 7 canali bluetooth...
Utilizzando 7 UUID diversi si può collegarli (già fatto e funziona), ma purtroppo ho problemi nella comunicazione perchè dal terzo dispositivo non riesco a riceve dati ma solo a mandarli...
Ho implementato una rete Piconet per una rete multi-connessione (un master- 2 slave al momento) .
« Ultima modifica: 09 Aprile 2014, 12:50:50 CEST da MisterAnt »
Se le zampe del coniglio sono così fortunate, che fine ha fatto il coniglio?

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
  • Respect: +118
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:Implementare chat tra 2 device + 1 modulo bluetooth
« Risposta #3 il: 09 Aprile 2014, 18:11:22 CEST »
0
La comunicazione tra i dispositivi connessi ad una piconet è di tipo master/slave. Può esistere un solo master all'interno di una piconet e tutti gli slave rispondono solo al master. E' possibile però che il master di una piconet sia anche lo slave di un altra piconet, creando via via una rete più estesa. Ora il "problema" è che le connessioni punto-multipunto (un master-molti slave) si effettuano attraverso un canale, dove il master decide quando iniziare e terminare la comunicazione con gli slave, ma fintantochè il canale è occupato, gli altri slave se ne devono stare zitti e buoni  :-P
In pratica, quello descritto qui sopra sta avvenendo anche nell'architettura del mio pc in questo momento, il multitasking non esiste !  :-o Quello che esiste è una "concorrenzialità" nell'uso di un canale/bus per comunicare a turno con tutte le periferiche/slave, e questo tempo lo decide il master attraverso un clock.
Dopo essermi dilungato troppo su questa parentesi (e andando anche un po' OT  :'( ) , per realizzare una chat (di qualsiasi tipologia) è necessaria l'implementazione di un server centrale che comunicherà a tutti i client i cambiamenti che avvengono nel tempo. Nel tuo caso specifico bisognerebbe conoscere in che modo hai intenzione di implementare la chat, ovvero se un solo dispositivo sarà il master, creando una sola piconet, oppure se ogni dispositivo sarà una piconet a se, permettendo al master di diventare uno slave di un altra piconet. In questo caso ogni slave potrà partecipare alla comunicazione con altre piconet, ma dovrai gestire le comunicazioni attraverso una "multiplazione" (time-division multiplexing).
In ogni caso comunque dovrai fare in modo che sia il master a gestire il canale per ogni slave, uno alla volta, e poi ricomunicare ad ogni slave i cambiamenti.
Detto ciò, e concludo, se sei partito dall'esempio bluetoothChat, dovrai modificarlo in modo che diventi multitasking, quindi per i prossimi interventi, per non andare OT con l'argomento android, sarebbe meglio discutere sul codice vero e proprio che non su argomenti puramente teorici.  :D