Bonjour,
pour m'appuyer sur des exemples se trouvant sur le net, je voudrais allumer/éteindre une led connectée à un GPIO de Raspberry qui est relié à un module HC05 sur sa liaison série. Je veux commander ce module à partir de mon téléphone Android.
Pour l'instant mon appli java détecte le HC05 et j'accède à son nom et à son adresse MAC. Mon thread de communication avec le module a cette tête:
Sans trop s'attarder sur le fait que ce ne soit pas trop bien écrit, à l'exécution j'ai ce message: java.io.IOException: Transport endpoint is not connected
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 public class ClientBluetooth extends Thread { private String TAG = "ClientBluetooth"; private final BluetoothSocket mmSocket; private final BluetoothDevice mmDevice; private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); private Handler mHandler = null; //constructeur public ClientBluetooth(BluetoothDevice device) { mmDevice = device; try { mmSocket = device.createRfcommSocketToServiceRecord(MY_UUID); } catch (IOException e) { Log.e(TAG, "Socket's create() method failed", e); } } public void run() { //se mettre en attente d'une valeur en provenance du threadUI (1 --> allume la led, //0 --> éteint la led) à travers un handler try { Looper.prepare(); mHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.arg1) { case 1: //lancer la valeur à travers mmsocket byte data[] = new byte[1]; data[0] = 1; try { mmSocket.getOutputStream().write(data); } catch(IOException e) { e.printStackTrace(); } break; case 2: break; default: Log.d(TAG, "Unknown"); } } }; Looper.loop(); } catch(Exception e) { e.printStackTrace(); } }
ce qui est normal vu que je n'ai pas appelé la fonction connect() sur ma socket.
C'est là que je coince complètement côté Raspberry. C'est une liaison série et je ne comprend pas du tout comment mettre en place l'équivalent d'un serveur avec un accept() qui irait bien avec le connect() de l'autre côté.
Merci pour vos avis.
Partager