1 package com.example.ekawa;
3 import android.bluetooth.BluetoothDevice;
4 import android.bluetooth.BluetoothSocket;
6 import android.os.Handler;
7 import android.os.Message;
9 import android.util.Log;
11 import java.io.IOException;
12 import java.io.InputStream;
13 import java.io.OutputStream;
15 import java.util.UUID;
31 private static final String
TAG =
"Peripherique";
41 private BluetoothSocket
socket = null;
55 Log.d(TAG,
"Peripherique()");
56 if (peripherique != null)
59 this.nom = peripherique.getName();
60 this.adresse = peripherique.getAddress();
65 socket = peripherique.createRfcommSocketToServiceRecord(UUID.fromString(
"00001101-0000-1000-8000-00805F9B34FB"));
66 receiveStream = socket.getInputStream();
67 sendStream = socket.getOutputStream();
73 Log.d(TAG,
"Erreur création socket !");
87 Log.v(TAG,
"Périphérique " +
obtenirNom() +
" prêt");
107 if(peripherique == null)
112 @Override
public void run()
118 if(!socket.isConnected())
120 Log.d(TAG,
"Socket connexion à " +
obtenirNom());
124 if(socket.isConnected())
126 Log.d(TAG,
"Socket connecté à " +
obtenirNom());
129 Message msg = Message.obtain();
131 handler.sendMessage(msg);
135 if (reception != null)
138 Log.d(TAG,
"Démarrage thread réception");
142 catch (IOException e)
144 Log.d(TAG,
"Erreur connexion socket !");
157 if(peripherique == null)
162 @Override
public void run()
166 if (reception != null)
168 Log.d(TAG,
"Arrêt thread réception");
170 receiveStream.close();
174 Log.d(TAG,
"Socket déconnexion de " +
obtenirNom());
177 if (!socket.isConnected())
179 Log.d(TAG,
"Socket déconnecté de " +
obtenirNom());
182 Message msg = Message.obtain();
184 handler.sendMessage(msg);
190 catch (IOException e)
192 Log.d(TAG,
"Erreur fermeture socket !");
207 final String trameEnvoyee = trame;
212 if(!socket.isConnected())
217 @Override
public void run()
221 if(socket.isConnected())
223 sendStream.write(trameEnvoyee.getBytes());
225 Log.d(TAG,
"Envoyer : " + trameEnvoyee);
228 catch (IOException e)
230 Log.d(TAG,
"Erreur écriture socket !");
247 return socket.isConnected();
Permet le dialogue avec le périphérique Bluetooth de la cafetière.
static final int CODE_RECEPTION
Le code de réception.
InputStream obtenirFluxReception()
Méthode qui renvoie le flux de données entrant.
String adresse
L'adresse MAC du périphérique.
InputStream receiveStream
!< Le socket de connection
Peripherique(BluetoothDevice peripherique, Handler handler)
Constructeur de la classe Peripherique.
static final int CODE_DECONNEXION
Le code de déconnexion.
void deconnecter()
Méthode qui permet de déconnecter le bluetooth de la cafetière.
void connecter()
Méthode qui permet de connecter le bluetooth à la cafetière.
void arreter()
Méthode qui permet d'arrêter la réception de trame.
Permet la réception des trames du périphérique Bluetooth de la cafetière.
void changerHandler(Handler handler)
Méthode qui permet de changer le gestionnaire des messages.
Handler handler
La gestionnaire des messages.
OutputStream sendStream
Le flux de données sortant.
boolean envoyer(String trame)
Méthode qui permet d'envoyer des trames à la cafetière.
boolean estConnecte()
Méthode qui renvoie si le périphérique est connecté ou non.
Reception reception
La réception des données.
String obtenirNom()
Méthode qui renvoie le nom du périphérique.
String nom
Le nom du périphérique.
BluetoothDevice peripherique
Le périphérique.
static final int CODE_CONNEXION
Le code de connexion.
static final String TAG
TAG pour les logs.