Sviluppo su Dispositivi Mobile

giovedì 02 settembre 2010 - 17.08
Tag Elenco Tags  C#  |  .NET 3.5  |  Windows XP  |  Visual Studio 2008  |  SQL Server 2005

BELENOS Profilo | Junior Member

Salve, sto scrivendo (anzi ho già scritto) un applicativo che effettua una serie di letture e scritture di dati su porta seriale su due dispositivi mobili, uno che ha installato win CE 6 e uno windows mobile.
Da premettere che il dispositivo esterno che effettua la lettura/scrittura comunica in bluetooth con il dispositivo mobile, ed il dispositivo mobile comunica col dispositivo esterno bluetooth per mezzo di porte seriali virtualizzate... da quello che ho capito ne associa una in lettura e una in scrittura (??? e' possibile tutto ciò???)

Mi capita però una cosa strana... allora io quando vado a scrivere sul dispositivo, i dati vedo che li scrive, ma non mi ritornano dal dispositivo bluetooth i messaggi di risposta... da cosa dipende? Non è che devo fare le scritture su una particolare com e le letture su di un'altra? Mi sembrerebbe una gran trombonata... anche perchè provando una versione precedente del mio sw su di un notebook bluetooth (adoperando il notebook al posto del dispositivo mobile) mi funziona tutto alla perfezione sudi una porta sola (lettura/scrittura). Quindi presumo che non sia questo il problema... se non è questo allora che
diavolo è? Dove sbaglio?

------------------------------------------------

Il software funziona perfettamente perchè l'ho provato su un altro dispositivo portatile (che però monta windows mobile) e funziona.
Il problema è che sembra che non mi vada sul dispositivo che ha come s.o. Win CE. Non va nel senso che quando lo faccio partire, quando vado a scrivere e poi ricevere la risposta mi va in timeout.
Tra l'altro sulle impostazioni del dispositivo non riesco a trovare la sezione che mi specifichi a quale COM è associato il dispositivo bluetooth che si occupa della lettura tessere. Qualcuno mi può aiutare?



Grazie.

----------------------------------------------------
NOI SIAMO I BORG!!!
LA RESISTENZA E' INUTILE!!!
----------------------------------------------------

franco.geko Profilo | Junior Member

Ciao,
io ho sviluppato un applicativo che legge i dati via seriale bluetooth da dispositivi WM2005 e WM 6, ma non ho avuto problemi del genere.

A dire il vero ho programmato solo per scambiare i dati con la seriale, e aprendo la porta corretta, è il sistema operativo che "alza" la connessione bluetooth.
Funziona perfettamente in lettura e scrittura.
Nell'associazione BT (tra i dispositivi associati), nella configurazione dei servizi, la porta seriale "virtuale" da me è la COM 4...
Spero ti possa essere utile

Ciao
Franco

BELENOS Profilo | Junior Member

si ma sul dispositivo ke monta win mobile la porta associata la vedo (è la com8 ma non significa niente se è la 4, la 8 od un'altra... vengono assegnate quelle disponibili al momento dal sistema), ma sull'altro dispositivo (che monta win CE 6), nella sezione apposita non c'è scritto nulla sulla porta associata a quel servizio (quello di comunicazione attraverso il protocollo bluetooth).
E' questo il mio problema.... nessuno mi sa aiutare?


x Franco.Gecko: ma sviluppavi su un dispositivo con Win CE 6? Mi stavo domandando, anche guardando certi esempi su internet: non è che bisogna utilizzare i socket?

Non mi ritorna nulla...:-(

non so... non sono convinto della strada coi socket... mi sfugge qualcosa a livello sistemistico penso... perchè da win mobile quando associ una nuova periferica bluetooth al sistema, esce automaticamente a che COM la vuoi associare... quando invece fai lo stesso procedimento su WinCE, associ il dispositivo ma la COM no... non so... sono perplesso... gli associa un indirizzo esadecimale lunghissimo....

ho provato ad utilizzare i socket, passando direttamente l'indirizzo esadecimale come nome_host nella
creazione del socket, ma mi viene restituita una socketException: "The requested address is not valid in its context"...
Probabilmente sto sbagliando le impostazioni di apertura del socket... ma non so cosa....


ho trovato un esempio di utilizzo socket con un dispositivo bluetooth su winCE, però il guaio è che l'esempio (svilluppato probabilmente in c) fa riferimento ad un tipo di AddressFamily specifico per il Bluetooth che non si trova in .NET (l'ambiente in cui sto sviluppando). Qualcuno ha già utilizzato queste cose o sa come fare per ovviare a questo discorso?

Ora credo di averlo messo in piedi però mi dà un errore... lo posto cosicchè qualcuno mi possa forse aiutare:

"No connection could be made because the target machine actively refused it"

e poi

"The operation is not allowed on non-connected sockets"

e passandogli il codice di autenticazione del dispositivo bluetooth mi restituisce il seguente errore:

"Platform not supported exception"



Nesssuno si è mai imbattuto in errori del genere?

----------------------------------------------------
NOI SIAMO I BORG!!!
LA RESISTENZA E' INUTILE!!!
----------------------------------------------------
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5