Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Créer une porte de bureau à verrouillage automatique avec capteur de proximité pour smartphone

Pssst – voulez une protection high-tech pour votre bureau à domicile, ou une serrure secrète pour votre « atelier » (ok, vous m'avez compris, c'est en fait un donjon/salle de jeux) que les enfants ne pourront pas comprendre? Nous avons ce qu'il vous faut. Construisons une serrure intelligente DIY qui détecte automatiquement quand vous êtes là et se verrouille quand vous n'y êtes pas.

Comment ça marche? PERSONNE NE SAIT! Ou plus précisément, Bluetooth.

Le concept

Votre smartphone est un appareil puissant qui révèle constamment des informations sur lui-même au monde extérieur; une façon de le faire est Bluetooth.

En mode découverte, il diffuse un numéro d'identification unique - mais même lorsqu'il ne se permet pas spécifiquement d'être découvert, tout ce qui connaît cette adresse peut essayer de la pinger. Si une réponse est entendue, cela indiquera si elle est à portée ou non.

Nous allons configurer un Raspberry Pi avec un adaptateur Bluetooth pour être constamment à l'affût lorsque votre smartphone est hors de portée, et quand c'est le cas, le relais se mettra en action et verrouillera la porte.

Vous aurez besoin

Travailler avec Bluetooth

Bluetooth est au cœur de ce projet, commençons donc par installer un support Bluetooth et testons notre adaptateur. Vous pouvez le faire directement à partir du Pi ou SSH à distance (comment configurer Windows en SSH dans votre Pi).

sudo apt-get install bluez python-bluez 

Insérez votre dongle si vous ne l'avez pas déjà fait et examinons ce qu'il signale.

hcitool dev 

Si vous avez quelque chose répertorié dans la sortie, vous êtes prêt à partir. Ensuite, nous utiliserons un script Python pour rechercher les appareils Bluetooth à proximité et saisir l'adresse unique de l'appareil. Nous n'avons besoin de le faire qu'une seule fois pour chaque appareil.

wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py python survey.py 

Si vous voyez « 0 appareils trouvés », vous n'avez pas de clé USB Bluetooth compatible ou votre smartphone n'est pas détectable. Ne désespérez pas cependant :j'ai découvert que je devais ouvrir la page des paramètres Bluetooth sur mon iPhone pour le lancer en mode découverte, puis c'est arrivé :

Super, créons maintenant la première étape de notre logiciel qui effectue la détection. Créez une application Python appelée detect.py , et ouvrez-le avec Nano.

nano detect.py 

Collez cet exemple de code :

#!/usr/bin/python import bluetooth import time while True :print "Checking " + time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime()) result =bluetooth.lookup_name('78:7F:70:38:51:1B', timeout=5) if (result !=None ):print "User present" else:print "User out of range" time.sleep(10)  

et ajustez la ligne suivante avec l'adresse de votre appareil Bluetooth :

result =bluetooth.lookup_name('78:7F:70:38:51:1B', timeout=5) 

Appuyez sur CTRL-X et Oui pour fermer et enregistrer. Exécutez le même code, et vous voyez quelque chose comme ceci :

Le code doit être très simple à comprendre même si vous n'avez jamais touché Python auparavant :il recherche un appareil Bluetooth particulier toutes les 10 secondes et imprime un message différent selon qu'il est trouvé ou non. Basculez le Bluetooth sur votre téléphone pour simuler un déplacement dans et hors de portée (probablement environ 4 m en réalité). Vous pouvez réduire ou augmenter le temps entre les scans, mais j'ai pensé que 10 secondes était un temps raisonnable pour potentiellement devoir attendre que la porte se déverrouille, c'est là où nous allons avec tout ce projet après tout.

Je dois ajouter que je ne connais pas la consommation d'énergie de cette opération, mais je suppose que le fait de faire un ping plus souvent sur un appareil consommerait nécessairement plus d'énergie. Je n'ai pas vu de problèmes de performances évidents lors des tests, mais si la durée de vie de la batterie est une préoccupation sérieuse pour vous, envisagez d'avoir un interrupteur à l'intérieur de votre bureau qui active et désactive la boucle d'analyse, donc une fois que vous êtes à l'intérieur, vous pouvez suspendre le verrouillage système, puis réactivez le scan lorsque vous partez.

Félicitations, vous avez maintenant une application Python qui sait quand vous êtes à portée, nous pouvons donc commencer à agir en conséquence.

Modes de carte GPIO

Avant de continuer, vous devez déterminer quel mode de carte vous allez utiliser. Il n'y a pas de bonne ou de mauvaise réponse, cela affecte simplement si vous spécifiez le numéro de broche littéral ou le numéro de broche GPIO virtuel.

La valeur par défaut consiste à utiliser le numéro de broche littéral ("mode carte"), en commençant par la broche 1 en bas à gauche (si vous regardez le Pi avec des ports USB sur la droite). La broche 2 est juste au-dessus.

Cependant, si vous avez une carte de dérivation GPIO (« cobbler »), les étiquettes que vous avez proviennent d'un mode alternatif, appelé « BCM » (canal Broadcom SOC), et sont généralement écrites avec GPIO ou P comme préfixe du numéro. Vous n'avez pas strictement besoin d'une évasion GPIO - cela facilite simplement les choses. Si vous n'avez pas de tableau de bord et que vous ne voulez pas en acheter un, utilisez ce schéma :

Notez que le modèle B d'origine révision 1, révision 2 et les modèles B+ et Pi2 ont tous des brochages différents. Reportez-vous à cette question StackExchange pour un diagramme correct pour votre tableau.

Dans ce code de projet, j'utilise le système de numérotation BCM GPIO qui correspond à la carte de dérivation Adafruit que j'ai. Des modifications mineures sont nécessaires si vous souhaitez utiliser le mode pin littéral.

Câbler dans un relais

Fixez la carte de dérivation, en vous assurant que le fil des broches 1 et 2 (celles dans le coin de votre Pi) se fixe à 3v3 et 5V0 sur la dérivation. Vous voudrez peut-être sortir un testeur de tension pour vérifier cela.

Avant de continuer, vérifiez si quelqu'un d'autre a utilisé votre relais particulier avec le Raspberry Pi (ou trouvez-en un à l'avance qui fonctionne). Certains peuvent nécessiter 5 V pour s'activer, mais le RPi ne peut fournir que 3,3 V sur les broches de sortie GPIO. Par chance, celui que j'utilise est content de 3.3V, donc je n'ai pas eu besoin de circuits supplémentaires, juste le 5V0 à VCC , GND à GND , et la broche GPIO 23 pour la première entrée de relais .

Mon précédent tutoriel sur GPIO montrait comment câbler un circuit à transistor pour augmenter de 3,3 V à 5 V complet si vous en avez besoin (en fait, j'ai utilisé la même carte de relais pour ce tutoriel, mais il s'avère que je n'avais pas besoin de 5 V après tout).

Pas besoin de câbler l'électro-aimant pour le moment, car vous pourrez entendre un clic audible lorsque le relais se déclenche.

Ensuite, récupérons du code pour interagir avec les ports GPIO.

Nous commencerons par tester en dehors de Python pour confirmer que tout fonctionne sur les ports eux-mêmes. Installez câblagePi, qui vous donne quelques outils de ligne de commande utiles.

git clone git://git.drogon.net/wiringPi cd câblagePi ./build 

Une fois installé, configurez la broche GPIO 23 pour être une sortie.

gpio -g mode 23 out 

Maintenant, faites une analyse rapide de tous les ports pour confirmer

gpio -g readall 

Vous aurez quelque chose de similaire à cela, bien que le vôtre puisse être plus long sur un modèle B+ ou Pi2 car il a plus de broches GPIO :

Pour plus de détails :créez une porte de bureau à verrouillage automatique avec un capteur de proximité pour smartphone


Processus de fabrication

  1. Coffre bancaire
  2. Circuit de capteur de proximité simple et fonctionnement avec les applications
  3. Considérez le problème n°1 avec les réseaux de capteurs intelligents basés sur Bluetooth
  4. Cypress :les microcontrôleurs Bluetooth offrent un réseau maillé avec une connectivité omniprésente pour les smartphones
  5. Capteur de suivi de ligne avec RPi
  6. API de capteur environnemental avec un RPi
  7. Un capteur de proximité analogique simple avec interface numérique (pour Raspberry Pi) [dernière mise à jour :7 février 2014]
  8. Capteur Portenta et thermocouple (avec MAX6675)
  9. Surveillance du CO2 avec le capteur K30