ELab de Hackerspace GSM sistema de Control de acceso (6 / 8 paso)

Paso 6: Programación PIC16F88

Todo el código fue escrito en C con Piklab y compilado con SDCC (ver aquí Cómo configurar un entorno de desarrollo de microcontrolador con Piklab y SDCC). Usted debe ser capaz de compilar con otros compiladores con algunas modificaciones menores. También puede utilizar el archivo .hex en caso de que usted no quiere cambiar nada. Al desarrollar el código hemos decidido que números de teléfono del miembro se almacenaría en la EEPROM del PIC. Así, si la conexión a Internet falla por alguna razón, la puerta todavía abriría de un miembro autorizado, aunque la entrada no se registrarían en el registro de entrada. El PIC16F88 tiene 256 bytes de EEPROM. Teniendo en cuenta que todos los números de teléfono celular en nuestro país tienen 9 dígitos y el primero es siempre un 9, tuvo que almacenar 8 dígitos para cada número de teléfono, que nos permite almacenar números de teléfono de 32 en la EEPROM del PIC. Puede parecer que 32 es un número pequeño pero eLab Hackerspace también es un Hackerspace pequeño y tiene sólo unos pocos miembros. Si el día viene cuando tenemos más de 32 miembros, estaremos encantados de sustituir el PIC con otro o incluso reemplazar la mayor parte del sistema de Control de acceso con un Pi de frambuesa u otra cosa: P con el almacenamiento de datos definido, era el momento de crear un protocolo de comandos AT que nos permitirá añadir, eliminar y ver números de teléfono almacenados en la EEPROM interna. Cada comando comienza con "ELAB +". Aquí está una lista de comandos que se ejecutaron:
- ELAB + P = < contraseña > -insertar contraseña de admin para entrar en modo administrador. El campo < contraseña > es reemplazar la contraseña real, duro en el firmware del PIC. En caso de que la contraseña es aceptada, el PIC emite una respuesta de "AUTH OK". De lo contrario, responde con "Sin autenticación".
- ELAB + A #XX = < número > -añadir un número a la posición XX (de 01 a 32) donde el campo < número > debe reemplazarse por el número de teléfono de 9 dígitos. Este comando sólo funciona después de que se ha activado el modo de administrador. De lo contrario recibirás un mensaje que dice "Sin autenticación". Si el comando es aceptado debe ser respondió con un "OK". En caso de que el comando no se ha introducido correctamente el PIC responderá con "ERROR";
- ELAB + D #XX - borrar el número situado en posición XX (de 01 a 32). Este comando sólo funciona después de que se ha activado el modo de administrador. De lo contrario recibirás un mensaje que dice "Sin autenticación". Si el comando es aceptado debe ser respondió con un "OK". En caso de que el comando no se ha introducido correctamente el PIC responderá con "ERROR";
- ELAB + V - ver la lista completa de números almacenados en la EEPROM interna. Este comando sólo funciona después de que se ha activado el modo de administrador. De lo contrario recibirás un mensaje que dice "Sin autenticación". Si el comando es aceptado debe ser respondió con un "OK". En caso de que el comando no se ha introducido correctamente el PIC responderá con "ERROR".

La contraseña por defecto se encuentra en el archivo password.txt contenido en el archivo "Firmware.zip de tablero de Control PIC16F88". Se puede cambiar en el código fuente y recompilar si desea cambiarlo.

Para utilizar la interfaz de comandos AT, el administrador del sistema sólo tiene que abrir la conexión en serie (9600bps en baudios) con el microcontrolador PIC y enviar los comandos anteriores para realizar añadir, borrar y ver las operaciones. Cuando se realizan todas las operaciones, el botón de Reset en la placa PIC debe ser presionado para reactivar el bloqueo de seguridad en el microcontrolador PIC. Todavía puede hacer mucho de mejora en el código, como agregar un comando para activar la cerradura de seguridad o agregar un comando para abrir la puerta, entre otras posibilidades.

Cada vez que el PIC recibe un mensaje CLIP desde el teléfono celular, comprueba si el número recibido existe en su EEPROM interna. En caso de existir, envía un "A: < 9_DIGIT_NUMBER >" a la computadora. En caso de que el número no existe, envía un "R: < 9_DIGIT_NUMBER >" a la computadora.

Con respecto al mecanismo de apertura de puerta, una vez que se recibe un mensaje con un número válido, el motor se activa hasta que se active un interruptor que se encuentra cerca del motor T veces (hacer caso omiso de los picos de tensión causados por el ruido del motor). Luego espera 3 segundos y el motor se activa otra vez hasta que se suelte el interruptor.

Puede descargar el firmware haciendo clic aquí.

Artículos Relacionados

Sistema de Control de acceso RFID

Sistema de Control de acceso RFID

Este Instructable es para un sistema de Control de Rasberry Pi acceso, que utiliza un sistema de etiqueta RFID para la entrada automática a través de una puerta. Utilizamos este sistema para miembros para acceder a nuestro makerspace y mantener acces
Lector de RFID – sistema de control de acceso

Lector de RFID – sistema de control de acceso

Este dispositivo es un sistema de control de acceso simple que utiliza tarjetas RFID. Está diseñado con microcontrolador PIC12F1822 correr el oscilador interno a 16MHz. Genera frecuencia 125 KHz y decodifica el stream de datos responde – formato de m
Cómo hacer un sistema de control de acceso RFID alimento de animal doméstico

Cómo hacer un sistema de control de acceso RFID alimento de animal doméstico

en este instructable voy a explicar cómo hacer un sencillo sistema de control de acceso RFID alimento de animal doméstico. Este sistema utiliza un sistema RFID independiente que puede adquirirse previamente armados o en kit forma si desea hacer la so
HACCSY - Control de acceso de Hackerspace y verificación en sistema

HACCSY - Control de acceso de Hackerspace y verificación en sistema

HACCSY abreviatura está parado para el Control de acceso de Hackerspace y verificar en el sistema y que es bastante lo que hace.HACCSY app está destinado a ejecutar en un RaspberryPi que está conectado a internet y la huelga eléctrica bloqueada la pu
Sistema de Control ambiental

Sistema de Control ambiental

En este proyecto os muestro la construcción de un sistema de Control de entorno que se controla con un Raspberry Pi.Esto era para mi proyecto de grado octavo STLP (tecnología liderazgo estudiantil). Más información acerca STLP programa de Kentucky es
Aerobox - un sistema de Control robótica suave

Aerobox - un sistema de Control robótica suave

Suave robótica es un nuevo campo de la robótica que ha sido realmente calentando últimamente. Muchos robots suaves son accionados neumáticamente, significa que se mueven cuando están llenos de aire. Para rellenar estos robots con aire, muchos proyect
Sistema de Control de hogar

Sistema de Control de hogar

Este instructable es controlar tus electrodomésticos utilizando un Control remoto. He hecho este sistema combinando mi anteriores 7 intructables.IncluyeUn mando a distancia ventilador.Controlador de nivel de agua con control automático o manual.Contr
Sistema de control de temperatura usando Labview (Atmega32)

Sistema de control de temperatura usando Labview (Atmega32)

RESUMENEste trabajo describe un marco de encendido, sistemas de control de temperatura proporcional y lineal. El diseño e implementación de este proceso se realiza utilizando LABVIEW, el software de banco de trabajo virtual. El proyecto incluye la ad
Sistema de seguridad y Control de acceso con Arduino y RFID

Sistema de seguridad y Control de acceso con Arduino y RFID

sistema de seguridad y Control de acceso con Arduino y RFIDEste proyecto es un evolotuin de mi primer proyecto llamado "Arduino – sistema de seguridad y acceso Control"Como se puede ver en el http://arduinobymyself.blogspot.com.br/2012/03/arduin
Impresos 3D, sistema de Control de movimiento de Time-lapse Modular ultraligero, 3 ejes

Impresos 3D, sistema de Control de movimiento de Time-lapse Modular ultraligero, 3 ejes

Esta es la historia de mi primer proyecto de impresión 3D y cómo ayudó a reducir drásticamente el peso total de mi sistema de Time-lapse dolly de control de movimiento 3-axis para fácil transporte en varios día de travesía, excursiones con mochila. N
Bases del sistema de control

Bases del sistema de control

en el primer concurso de robótica, el sistema de control del robot es único porque los equipos tienen una lista de las piezas que deben utilizar para alimentar y controlar su robot.  Hay variación en cómo equipos usan partes permitidas, pero en su nú
Con el Edison de Intel en un sistema de Control de reacción de Gas frío para un cohete de sondeo

Con el Edison de Intel en un sistema de Control de reacción de Gas frío para un cohete de sondeo

¿Cuál es el propósito de hacer un sistema de control de la reacción?Sistemas de control de la actitud convencional para cohetes amateurs utilizan aletas adjuntas, que ofrecen control de estabilidad pasiva. Para realizar maniobras y estabilización act
Basados en Arduino - sistema de Control para la PC del coche del RPi

Basados en Arduino - sistema de Control para la PC del coche del RPi

Hola a todos! Michalis Vasilakis de www.ardumotive.com y en esta guía de le mostrará cómo hacer un simple - basados en Arduino - sistema de Control para la PC del coche del RPi.Este sistema está diseñado para evitar el cierre abrupto del PRi coche si
Concepto de sistema de Control de casa de habitación

Concepto de sistema de Control de casa de habitación

mi proyecto se basa en el control automatizado de aparatos domésticos comunes, no solo creo que este sistema sería una gran ayuda en mi dormitorio pero también se podría ampliar a otras áreas de la casa. Así que la idea es que este sistema montado en