Détection de présence grâce à une connexion Bluetooth

Détection de présence grâce à une connexion Bluetooth

Détection de présence grâce à une connexion Bluetooth

Cette partie permet au Raspberry de détecter la présence d'un smartphone.
Lorsque le smartphone est présent on exécute un script Python.
Lorsqu'il n'est pas présent on exécute un second script.
100% Complete

Objectifs

Nous allons voir comment détecter la présence d'un smartphone en utilisant les fonctionnalités bluetooth de la raspberry Pi

Récupération de l'adresse MAC du périphérique bluetooth

Avant de commencer la programmation Python, il nous faut récupérer l'adresse MAC de notre périphérique Bluetooth.

Installation des logiciels système pour le Bluetooth de Raspian :

sudo apt-get install bluez

On a alors l'outils hcitool qui va nous permettre de récupérer l'adresse MAC de notre périphérique.

Principe de fonctionnement

Nous allons associé un smartphone avec la raspberry PI, pour cela mettre le smartphone en appairage bluetooth et lancer la commande 

hcitool scan

Vous devez alors obtenir une ligne du style :

Scanning ...       

84:B5:41:XX:XX:XX        <Marque Du Smartphone>

Cette ligne correspond à l'adresse MAC du périphérique bluetooth. Copiez-la, nous en aurons besoin plus loin.

Installation des librairies bluetooth pour Python3

J'ai rencontré beaucoup de problème lors de la gestion du bluetooth en python, c'est pourquoi je préconise l'utilisation de python3. Nous allons donc voir comment installer l'environnement et les librairies pour cette version de python.

Installation du gestionnaire de packages pour python3

sudo apt-get install python3-pip

Installation des librairies python3 du bluetooth

sudo apt-get install libbluetooth-dev

sudo apt-get install python-dev

sudo pip3 install PyBluez

Le programme Python3

#!/usr/bin/python3
# -*- coding:utf-8 -*-'
''This programm test the bluetooth device'''
import bluetooth
bluetoothDevices = [{"name":"Test2", "mac":"84:B5:41:0B:EE:2E"}]

if __name__ == '__main__':

    for bluetoothDevice in bluetoothDevices:

        # Ask for the name of the bluetooth' mac adress for 5 seconds

        result = bluetooth.lookup_name(bluetoothDevice['mac'], timeout=5)

        # the bluetooth is alive 

      if (result is None):

            print("Device %s detected" % bluetoothDevice['name'])

Copyright © 2015 Alex-design.fr All rights reserved.