ELab Hackerspace GSM système de contrôle d’accès (6 / 8 étapes)

Étape 6: Programmation PIC16F88

Tout le code a été écrit en C en utilisant Piklab et compilé avec SDCC (voir ici Comment installer un environnement de développement Microcontrôleur avec Piklab et CCSD). Vous devriez être en mesure de le compiler avec d’autres compilateurs avec quelques modifications mineures. Vous pouvez également utiliser le fichier .hex inclus dans le cas où vous ne voulez pas changer quoi que ce soit. Lors de l’élaboration du code, nous avons décidé que les numéros de téléphone du participant seraient stockés en EEPROM du PIC. De cette façon, si la connexion a échoué pour une raison quelconque, la porte serait toujours ouverte pour un membre autorisé, même si l’entrée ne serait pas enregistrée dans le journal de l’entrée. Le PIC16F88 a 256 octets d’EEPROM. En tenant compte du fait que tous les numéros de téléphone cellulaire dans notre pays ont 9 chiffres et le premier est toujours un 9, nous avons dû ranger 8 chiffres pour chaque numéro de téléphone, qui permet de stocker 32 numéros de téléphone dans l’EEPROM du PIC. Il peut sembler que 32 est un petit nombre mais eLab Hackerspace est également un petit Hackerspace et n’a que quelques membres. Si le jour vient où nous obtenons plus de 32 membres, nous serons heureux de remplacer le PIC avec un autre ou même remplacer la plupart du système de contrôle d’accès avec un Pi de framboise ou autre chose: P vu le stockage de données définis, il était temps de créer un protocole de commande AT qui nous permettrait d’ajouter, de supprimer et d’afficher numéros enregistrés dans l’EEPROM interne. Chaque commande démarre avec « ELAB + ». Voici une liste de commandes qui ont été mises en œuvre :
- ELAB + P = < mot de passe > -Insert admin mot de passe pour accéder au mode admin. Le champ mot de passe < > doit être remplacer par le vrai mot de passe, dur codé dans le firmware de la PIC. Dans le cas où le mot de passe est accepté, le PIC émet une réponse « AUTH OK ». Dans le cas contraire, il renvoie « Non AUTH ».
- ELAB + A #XX = < nombre > -ajoutez un numéro de position XX (de 01 à 32) où le champ < nombre > doit être remplacé par le numéro de téléphone à 9 chiffres. Cette commande fonctionne uniquement après que l’admin a été activée. Dans le cas contraire, vous recevrez un message disant « Non AUTH ». Si la commande est acceptée, que vous devriez être a répondu par un « OK ». Dans le cas où la commande n’est pas correctement entrée le PIC répondra avec « Erreur » ;
- ELAB + D #XX - supprimer le numéro situé en position XX (de 01 à 32). Cette commande fonctionne uniquement après que l’admin a été activée. Dans le cas contraire, vous recevrez un message disant « Non AUTH ». Si la commande est acceptée, que vous devriez être a répondu par un « OK ». Dans le cas où la commande n’est pas correctement entrée le PIC répondra avec « Erreur » ;
- ELAB + V - Voir la liste complète des numéros mémorisés dans l’EEPROM interne. Cette commande fonctionne uniquement après que l’admin a été activée. Dans le cas contraire, vous recevrez un message disant « Non AUTH ». Si la commande est acceptée, que vous devriez être a répondu par un « OK ». Dans le cas où la commande n’est pas correctement entrée le PIC répondra avec « Erreur ».

Le mot de passe par défaut se trouve dans le fichier password.txt contenu dans le fichier « PIC16F88 Control Board Firmware.zip ». Vous pouvez le changer dans le code source et recompiler si vous voulez le changer.

Pour utiliser l’interface de commande AT, l’administrateur système doit juste ouvrir la connexion en série (vitesse de transmission 9600 bits/s) avec le microcontrôleur PIC et envoyer les commandes ci-dessus pour effectuer ajouter, les opérations de suppression et de vue. Lorsque toutes les opérations sont effectuées, le bouton Reset sur la carte PIC doit être pressé pour réactiver le verrouillage de sécurité dans le microcontrôleur PIC. Beaucoup d’amélioration peut encore être fait dans le code, telles que l’ajout d’une commande pour réactiver le verrouillage de sécurité ou en ajoutant une commande pour ouvrir la porte, entre autres possibilités.

Chaque fois que le commandant de bord reçoit un message CLIP de téléphone cellulaire, il vérifie si le numéro de reçu existe dans son EEPROM interne. Dans le cas où il existe, il envoie un « A: < 9_DIGIT_NUMBER > » à l’ordinateur. Dans le cas où le numéro n’existe pas, il envoie un « R: < 9_DIGIT_NUMBER >"à l’ordinateur.

Concernant le mécanisme d’ouverture de porte, une fois qu’un message est reçu avec un numéro valide, le moteur est inséré jusqu'à ce qu’une gâchette située près du moteur T fois (d’ignorer les pointes de tension causées par le bruit de moteur). Puis il attend 3 secondes et active le moteur à nouveau jusqu'à ce que l’interrupteur est relâché.

Vous pouvez télécharger le firmware en cliquant ici.

Articles Liés

Système de contrôle d’accès RFID

Système de contrôle d’accès RFID

Ce Instructable est pour un système de contrôle de l'accès de Pi des framboise, qui utilise un système de tag RFID pour la saisie automatique par une porte. Nous utilisons ce système aux membres d'accéder à nos makerspace et de maintenir un accès séc
Lecteur RFID – système de contrôle d’accès

Lecteur RFID – système de contrôle d’accès

Cet appareil est un système de contrôle d'accès simple qui utilise des cartes RFID. Il est conçu avec microcontrôleur PIC12F1822 en cours d'exécution sur l'oscillateur interne à 16MHz. Il génère la fréquence porteuse de 125 KHz et décode le flux de d
HACCSY - contrôle d’accès Hackerspace et vérifier dans le système

HACCSY - contrôle d’accès Hackerspace et vérifier dans le système

Abreviation HACCSY est synonyme de contrôle d'accès Hackerspace et vérifier dans le système et c'est à peu près ce qu'il fait.HACCSY app est destiné à être exécuté sur un RaspberryPi qui est connecté à internet et de la gâche électrique serrure de fr
Comment faire un système de contrôle de l’accès RFID Petfood

Comment faire un système de contrôle de l’accès RFID Petfood

dans ce instructable je vais vous expliquer comment faire un système de contrôle d'accès RFID Petfood simple. Ce système utilise un système RFID autonome qui peut être acheté soit préassemblés ou en kit formulaire si vous désirez faire de la soudure
Base d’Arduino - système de contrôle de puissance pour RPi voiture PC

Base d’Arduino - système de contrôle de puissance pour RPi voiture PC

Bonjour à tous ! Je suis Michalis Vasilakis du www.ardumotive.com et dans le présent guide je vais vous montrer comment faire un système de contrôle électrique simple - base d'Arduino - pour RPi Car PC.Ce système est conçu pour éviter l'arrêt brutal
Système de contrôle d’environnement

Système de contrôle d’environnement

Dans ce projet, je montre la construction d'un système de contrôle de Evironment qui est contrôlée avec un Pi de framboise.Ce fut pour mon projet STLP (programme de Leadership étudiant Technology) de huitième année. Plus d'informations sur le program
Système de sécurité et contrôle d’accès avec Arduino et RFID

Système de sécurité et contrôle d’accès avec Arduino et RFID

système de sécurité et contrôle d'accès avec Arduino et RFIDCe projet est un evolotuin de mon premier projet appelé « Arduino – sécurité et contrôle d'accès système »Comme vous pouvez voir à l'http://arduinobymyself.blogspot.com.br/2012/03/arduino-si
Concept de système de contrôle de Chambre/Maison

Concept de système de contrôle de Chambre/Maison

mon projet repose sur un contrôle automatisé des appareils électroménagers courants, non seulement je pense que ce système serait une grande aide dans ma chambre, mais il pourrait également être élargie à d'autres espaces de la maison. Si l'idée est
Aerobox - un système de contrôle robotique doux

Aerobox - un système de contrôle robotique doux

La robotique douce est un nouveau domaine de la robotique qui a été vraiment chauffer ces derniers temps. De nombreux robots mous sont commande pneumatique, ce qui signifie qu'ils se déplacent lorsqu'ils sont remplis avec de l'air. Pour remplir ces r
Système de contrôle de température à l’aide de Labview (Atmega32)

Système de contrôle de température à l’aide de Labview (Atmega32)

RÉSUMÉCet ouvrage décrit un cadre de ON/OFF, systèmes de contrôle de température proportionnelle et linéaire. La conception et la mise en œuvre de ce processus se fait à l'aide de LABVIEW, logiciel virtual workbench. Le projet comprend l'acquisition
Impression 3D, système de contrôle de mouvement de Time-lapse modulaire 3 axes, ultra-léger

Impression 3D, système de contrôle de mouvement de Time-lapse modulaire 3 axes, ultra-léger

Il s'agit de l'histoire de mon premier projet d'impression 3D et comment il a aidé à réduire considérablement le poids total de mon système de Time-lapse dolly de contrôle 3 axes pour faciliter le transport sur plusieurs jours dans l'arrière-pays, ra
Bases du système de contrôle

Bases du système de contrôle

dans la première compétition de robotique, le système de contrôle de robot est unique parce que les équipes ont une liste des pièces qu'ils doivent utiliser pour alimenter et contrôler leur robot.  Il y a variation dans Comment les équipes utilisent
Système de contrôle de cafard (via une manipulation psychologique)

Système de contrôle de cafard (via une manipulation psychologique)

permet à un micro-ordinateur (timbre à base par exemple) contrôler les sens de cafard du mouvement autonome. Vous pouvez aussi faire un système de contrôle à distance. Le timbre de base envoie des signaux TTL à un circuit uLN2803 qui amplifie le cour
Allumer le système de contrôle de luminosité de capteur LED avec ATMEGA328 UNO V3.0 R3 pour Arduino

Allumer le système de contrôle de luminosité de capteur LED avec ATMEGA328 UNO V3.0 R3 pour Arduino

L'équipe ICStation vous présenter ce capteur de lumière LED système de contrôle de luminosité avec notre produit self-developed ICStation V3.0 de UNO ATMEGA328 R3 Board Compatible Arduino. Il utilise DC5V pour travailler et qu'il peut changer la lumi