Faire un bureau à verrouillage automatique de porte avec capteur de proximité Smartphone
Comment ça marche? PERSONNE NE SAIT! Ou plus précisément, Bluetooth.
Le concept
En mode découverte, il diffuse un numéro d'identification unique - mais même lorsqu'ils ne sont pas spécifiquement se laisser découvrir, tout ce qui sait que l'adresse peut essayer de le ping. Si une réponse est entendu, qui indiquerait que ce soit dans la gamme ou non.
Tu auras besoin de
Travailler avec Bluetooth
Insérez votre clé si vous avez pas déjà, et nous allons jeter un coup d'œil à ce qu'il rapport.
Si vous avez quelque chose répertorié dans la sortie, vous êtes bon d'aller. Ensuite, nous allons utiliser un script Python au sondage pour les appareils Bluetooth à proximité, et de saisir l'adresse unique. Nous avons seulement besoin de le faire une fois pour chaque appareil.

Grand, maintenant nous allons créer la première étape de notre logiciel qui font la détection. Créer une application Python appelé detect.py. et ouvrez-le avec Nano.
et d'ajuster la ligne suivante avec votre adresse de périphérique Bluetooth:
Appuyez sur CTRL-X et Y pour fermer et enregistrer. Exécutez le même code, et vous voyez quelque chose comme ceci:

Je dois ajouter, je ne sais pas au sujet de la consommation d'énergie de le faire, mais je suppose pinger un dispositif plus souvent serait nécessairement consommer plus de puissance. Je ne l'ai pas vu des problèmes de performances évidentes dans les tests, mais si la vie de la batterie est un problème sérieux pour vous, envisager d'avoir un interrupteur dans votre bureau qui active et désactive la boucle de balayage, donc une fois que vous êtes à l'intérieur, vous pouvez mettre en pause le verrou système, puis réactiver le balayage lorsque vous quittez.
Félicitations, vous avez maintenant une application Python qui sait quand vous êtes à portée, afin que nous puissions commencer à agir sur ce point.
Modes GPIO Conseil
Avant de continuer, vous devez déterminer quel mode carte que vous allez utiliser. Il n'y a pas de bonne ou mauvaise, il affecte simplement si vous spécifiez le nombre de broches littéral ou le numéro de broche GPIO virtuel.
La valeur par défaut est d'utiliser le numéro d'identification littéral ( « mode board »), en commençant par la broche 1 à la partie inférieure gauche (si regardant vers le bas à l'Pi avec les ports USB sur la droite). Pin 2 est juste au-dessus.
Toutefois, si vous avez une carte en petits groupes GPIO ( « cordonnerie »), les étiquettes que vous avez sont d'un autre mode, appelé « BCM » (canal Broadcom SOC), et sont généralement écrits avec GPIO ou P préfixer le nombre. Vous ne strictement pas besoin d'une évasion GPIO - il rend les choses plus faciles. Si vous ne disposez pas d'un conseil d'administration en petits groupes et ne veulent pas acheter un, utilisez ce schéma:
Notez que la révision du modèle d'origine B 1, révision 2, et le modèle B + et Pi2 ont tous brochage différentes. Reportez-vous à cette question StackExchange pour un diagramme correct à votre conseil d'administration.
Dans ce code de projet, j'utilise le système de numérotation BCM GPIO qui correspond à la carte en petits groupes Adafruit je. Des modifications mineures sont nécessaires si vous souhaitez utiliser le mode pin littéral.
Fil dans un relais
Fixez la carte en petits groupes, assurant que le fil des broches 1 et 2 (ceux dans le coin de votre Pi) attacher à 3c3 et 5V0 sur l'évasion. Vous pouvez retirer un testeur de tension pour vérifier.

Pas besoin de fil dans l'électro-aimant encore, que vous serez en mesure d'entendre un clic audible lorsque les feux de relais.
La prochaine étape, nous allons saisir un code pour interagir avec les ports GPIO.
Nous allons commencer par tester en dehors de Python pour confirmer tout fonctionne sur les ports eux-mêmes. Installer wiringPi. ce qui vous donne des outils de ligne de commande utiles.
Une fois installé, configurez la broche GPIO 23 être une sortie.
Maintenant, faire une analyse rapide de tous les ports pour confirmer

Cela peut être un peu déroutant au début, mais la table est divisée par le milieu et l'ordre des colonnes est inversée sur chaque côté. A droite extrême gauche et est de loin le numéro d'identification du BCM. Comme nous utilisons 23, vous devriez voir le mode désormais répertorié comme OUT. Ceci est un peu utile commande juste pour obtenir une bonne idée de ce qui se passe avec toutes vos épingles à tout moment.
Pour écrire la broche haute ou basse, il suffit d'utiliser
Une fois que vous avez confirmé le relais et GPIO travaille, ajoutez les modules Python pour GPIO.
Maintenant, nous allons modifier notre application Python pour déclencher le relais ou quand est détecté le téléphone. Vous trouverez le code final à ce Contenu essentiel. Copiez le detect.py existant vers un nouveau lock.py. et ajoutez les commandes d'importation et d'installation suivantes:
Pour exécuter cette nouvelle version, préfixe de commande sudo - l'accès aux GPIO requiert les privilèges root.
Accrocher It Up
Une fois que vous avez confirmé le relais est mise à feu avec votre capteur de proximité, ajoutez dans votre serrure électro-aimant. Du côté du relais, amener le positif dans la borne marquée COM 12V (commune), l'entrée de puissance positive de l'électro-aimant à la borne NO (normalement ouvert, ie. Ce qui est normalement pas connecté à la borne commune, mais sera quand vous activer le relais).
Joignez-vous à la terre de l'alimentation et l'électro-aimant sur la borne GND.


améliorations
Ce fut une preuve de concept pour moi de construire avec d'autres projets, et vraiment juste pour garder les regards indiscrets sur mon bureau quand je ne suis pas là - ce n'est pas conçu pour être un système de sécurité à toute épreuve. Pour cela, vous auriez besoin d'une batterie de secours pour la disponibilité d'énergie en cas d'être coupé.
Bien sûr, si quelqu'un pénètre par effraction dans votre maison et va à la peine de couper votre puissance, vous avez probablement le plus gros problème d'entre eux étant un psychopathe qui est à vous tuer, plutôt qu'un cambrioleur occasionnel. Vous souhaitez également voulez une serrure à pêne dormant physique en plus d'un système électronique, et un bâton vraiment grand.
Bien sûr, cette technique de détection de proximité via Bluetooth ne se limite pas à une serrure de porte automatique - vous pouvez aussi l'utiliser quand vous rentrez à la maison déclencher l'ouverture de votre porte de garage, ou allumez votre home cinéma avant de vous promener dans la porte.
Est-il également possible de détecter 2 ou 3 i-téléphones / téléphones pour ce projet. Donc, je peux ajouter plusieurs utilisateurs pour ce projet.