Je travaille avec Monodroid depuis quelques jours et n'arrive toujours pas à savoir comment envoyer une commande via Bluetooth.MonoDroid Bluetooth
Ceci est mon scénario: J'ai une tablette/téléphone portable fonctionnant sous Android 2.1+ et j'ai besoin d'envoyer et de recevoir des données à une imprimante Bluetooth (en octets).
Ce que je réussi à ce jour:
using Android.Bluetooth; // library necessary
BluetoothAdapter bth = BluetoothAdapter.DefaultAdapter;
if (!bth.IsEnabled)
bth.Enable();
ICollection<BluetoothDevice> bthD = bth.BondedDevices;
foreach (BluetoothDevice d in bthD)
{
if (d.Name == "DPP-350")
{
Java.Util.UUID UUID = Java.Util.UUID.FromString("00001101-0000-1000-8000-00805F9B34FB");
// Get the BLuetoothDevice object
BluetoothSocket s = d.CreateRfcommSocketToServiceRecord(UUID);
s.Connect();
// Try to send command
...
s.Close()
}
}
Le programme demande les informations d'appariement avec est fait correctement. J'ai essayé plusieurs façons d'envoyer la commande:
// the command
// Self_Test = Chr(27) + Chr(84) = ESC T
byte[] dBytes = System.Text.Encoding.GetEncoding(1252).GetBytes(Self_Test);
// wont work
new Java.IO.ObjectOutputStream(s.OutputStream).Write(dBytes);
// wont work
System.IO.Stream st = s.OutputStream;
if (st.CanWrite)
{
st.Write(dBytes, 0, dBytes.Length);
st.Flush();
}
// wonk work
s.OutputStream.Write(dBytes, 0, dBytes.Length);
s.OutputStream.Flush();
Aucune erreur est relevée. Je suis à court d'options ici ...
Merci d'avance!
Existe-t-il un moyen de coupler avec un périphérique Bluetooth «débogage» pour voir si les données sont envoyées? Sans savoir ce qu'est l'erreur et où elle se produit, il est plutôt difficile de corriger ... – jonp
Non, il n'y en a pas. Mais le même programme est construit en WM 6.x et fonctionne. La différence principale est que sur WM j'ai un .dll pour communiquer et sur Mono qui ne fonctionnera pas. Mon problème est juste d'envoyer la commande et voir quelque chose se produire avec l'imprimante sans utiliser le fichier .dll – Gh0stman