Trottinette Électrique Connectée  1.0
BTS SN-IR La Salle Avignon 2018
 Tout Classes Fichiers Fonctions Variables
Classes | Fonctions membres publiques | Attributs publics statiques | Attributs privés
Référence de la classe com.example.iris.myapplication.PeripheriqueBluetooth

Assure le dialogue bluetooth entre la trottinette et le telephone. Plus de détails...

Graphe de collaboration de com.example.iris.myapplication.PeripheriqueBluetooth:
Collaboration graph
[légende]

Liste de tous les membres

Classes

class  TReception
 Thread de réception des trames en provenance de la Trottinette via le Bluetooth. Plus de détails...

Fonctions membres publiques

 PeripheriqueBluetooth (BluetoothDevice peripherique, Handler gestionnaire)
 Constructeur public de la classe PeripheriqueBluetooth.
BluetoothDevice getDevice ()
 Permet d'obtenir le peripherique.
String getNom ()
 Permet d'obtenir le nom du Périphérique Bluetooth.
String getAdresse ()
 Permet d'obtenir l'adresse du périphérique Bluetooth.
boolean estConnecte ()
 Permet de connaître si la connexion a été effectuée.
void setNom (String nom)
 Permet de modifier le nom du périphérique Bluetooth.
String toString ()
 Permet d'obtenir le nom et l'adresse du périphérique.
void connecter ()
 Connecte la socket Bluetooth et démarre le thread Réception.
void envoyer (String data)
 Envoyer des trames a la carte.
boolean deconnecter (boolean fermeture)
 Déconnecte la socket Bluetooth et arrête le thread Réception.

Attributs publics statiques

static final int CODE_CONNEXION = 0
static final int CODE_RECEPTION = 1
static final int CODE_DECONNEXION = 2
static final int CODE_INACTIF = 3
static final int CODE_ACTIF = 4
static final int TAILLE_BUFFER = 100
static final int PROCHAINE_LECTURE = 1000
static final int PERIODE_INACTIVE = 200000

Attributs privés

String nom
String adresse
Handler gestionnaire = null
BluetoothDevice peripherique = null
BluetoothSocket socket = null
InputStream fluxEntree = null
OutputStream fluxEnvoie = null
TReception tReception

Description détaillée

Auteur:
Thierry Vaira <tvaira@free.fr>
HACHETTE Alexandre

Documentation des constructeurs et destructeur

com.example.iris.myapplication.PeripheriqueBluetooth.PeripheriqueBluetooth ( BluetoothDevice  peripherique,
Handler  gestionnaire 
)
Paramètres:
peripheriqueun objet de type BluetoothDevice
gestionnaireun objet de type Handler

Références com.example.iris.myapplication.PeripheriqueBluetooth.adresse, com.example.iris.myapplication.PeripheriqueBluetooth.fluxEntree, com.example.iris.myapplication.PeripheriqueBluetooth.fluxEnvoie, com.example.iris.myapplication.PeripheriqueBluetooth.gestionnaire, com.example.iris.myapplication.PeripheriqueBluetooth.nom, com.example.iris.myapplication.PeripheriqueBluetooth.peripherique, com.example.iris.myapplication.PeripheriqueBluetooth.socket, com.example.iris.myapplication.PeripheriqueBluetooth.toString(), et com.example.iris.myapplication.PeripheriqueBluetooth.tReception.

    {
        if(peripherique != null)
        {
            this.peripherique = peripherique;
            this.nom = peripherique.getName();
            this.adresse = peripherique.getAddress();
            this.gestionnaire = gestionnaire;

            try
            {

                System.out.println("<Bluetooth> nom " + peripherique.getName());
                ParcelUuid[] uuids = peripherique.getUuids();
                if(uuids != null)
                {
                    for (int i = 0; i < uuids.length; i++)
                    {
                        System.out.println("<Bluetooth> uuid " + uuids[i].getUuid().toString());
                    }
                }
                else
                {
                    System.out.println("<Bluetooth> uuid null !");
                }
                //socket = device.createRfcommSocketToServiceRecord(uuids[0].getUuid());
                System.out.println("<Bluetooth> new socket");

                socket = peripherique.createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"));
                fluxEntree = socket.getInputStream();
                fluxEnvoie = socket.getOutputStream();
            }
            catch (IOException e)
            {
                e.printStackTrace();
                System.out.println("<Bluetooth> Erreur socket !");
                socket = null;
            }
        }
        else
        {
            this.peripherique = peripherique;
            this.nom = "Aucun";
            this.adresse = "";
            this.gestionnaire = gestionnaire;
        }


        if(socket != null) {
            tReception = new TReception(gestionnaire);
        }
    }

Documentation des fonctions membres

Auteur:
Thierry Vaira <tvaira@free.fr>

Références com.example.iris.myapplication.PeripheriqueBluetooth.CODE_CONNEXION, com.example.iris.myapplication.PeripheriqueBluetooth.envoyer(), com.example.iris.myapplication.PeripheriqueBluetooth.gestionnaire, com.example.iris.myapplication.PeripheriqueBluetooth.getAdresse(), com.example.iris.myapplication.PeripheriqueBluetooth.getNom(), com.example.iris.myapplication.PeripheriqueBluetooth.socket, et com.example.iris.myapplication.PeripheriqueBluetooth.tReception.

Référencé par com.example.iris.myapplication.MainActivity.gererBoutons().

    {
        /* démarre le thread connexion */
        new Thread()
        {
            @Override public void run()
            {
                while(!socket.isConnected())
                {
                    try
                    {
                        System.out.println("<Bluetooth> socket connect ...");// debug

                        /* Demande de connexion */
                        socket.connect();

                        System.out.println("<Bluetooth> socket connect ok");
                        /* connecté ? */
                        if (socket.isConnected())
                        {
                            /* informe l'activité principale */
                            Message message = Message.obtain();
                            message.what = PeripheriqueBluetooth.CODE_CONNEXION;
                            Bundle paquet = new Bundle();
                            paquet.putString("nom", getNom());
                            paquet.putString("adresse", getAdresse());
                            paquet.putInt("etat", CODE_CONNEXION);
                            paquet.putString("donnees", "");
                            message.setData(paquet);
                            gestionnaire.sendMessage(message);
                            //peripherique.envoyer(etMessage.getText().toString() + "\r\n");
                            envoyer("$TEC1,A*");
                            /* démarre le thread réception */
                            tReception.start();
                        }
                        else
                        {
                            Log.e("connecter()", "Socket connecte : " + socket.isConnected()); // e = error
                        }
                    } catch (IOException e)
                    {
                        System.out.println("<Socket> Erreur connect");
                        e.printStackTrace();
                    }
                }
            }
        }.start();

    }
Auteur:
Thierry Vaira <tvaira@free.fr>

Références com.example.iris.myapplication.PeripheriqueBluetooth.TReception.arreter(), com.example.iris.myapplication.PeripheriqueBluetooth.CODE_DECONNEXION, com.example.iris.myapplication.PeripheriqueBluetooth.estConnecte(), com.example.iris.myapplication.PeripheriqueBluetooth.gestionnaire, com.example.iris.myapplication.PeripheriqueBluetooth.getAdresse(), com.example.iris.myapplication.PeripheriqueBluetooth.getNom(), com.example.iris.myapplication.PeripheriqueBluetooth.socket, et com.example.iris.myapplication.PeripheriqueBluetooth.tReception.

Référencé par com.example.iris.myapplication.MainActivity.arreterBluetooth(), et com.example.iris.myapplication.MainActivity.gererBoutons().

    {
        try
        {
            if(estConnecte())
            {
                tReception.arreter();

                if (fermeture) {
                    socket.close();
                    System.out.println("<Bluetooth> socket close");
                    Message msg = Message.obtain();
                    Bundle b = new Bundle();
                    b.putString("nom", getNom());
                    b.putString("adresse", getAdresse());
                    b.putInt("etat", CODE_DECONNEXION);
                    b.putString("donnees", "");
                    msg.setData(b);
                    gestionnaire.sendMessage(msg);
                }
                return true;
            }
        }
        catch (IOException e)
        {
            System.out.println("<Bluetooth> Erreur close");
            e.printStackTrace();
            return false;
        }
        return false;
    }

Références com.example.iris.myapplication.PeripheriqueBluetooth.estConnecte(), com.example.iris.myapplication.PeripheriqueBluetooth.fluxEnvoie, et com.example.iris.myapplication.PeripheriqueBluetooth.socket.

Référencé par com.example.iris.myapplication.PeripheriqueBluetooth.connecter().

    {
        if(socket == null)
            return;

        try
        {
            if(estConnecte())
            {
                System.out.println("<Bluetooth> Envoyer " + data);
                fluxEnvoie.write(data.getBytes());
                fluxEnvoie.flush();
            }
        }
        catch (IOException e)
        {
            System.out.println("<Bluetooth> Erreur socket write !");
            e.printStackTrace();
        }
    }
Renvoie:
un String qui représente le peripherique

Références com.example.iris.myapplication.PeripheriqueBluetooth.peripherique.

Référencé par com.example.iris.myapplication.MainActivity.remplacerPeripherique().

    {
        return peripherique;
    }
Paramètres:
nomun String qui représente le nom du périphérique

Références com.example.iris.myapplication.PeripheriqueBluetooth.nom.

    {
        this.nom = nom;
    }

Documentation des données membres


La documentation de cette classe a été générée à partir du fichier suivant :
 Tout Classes Fichiers Fonctions Variables