Paso 1: Prepara tu Software!
Por supuesto en la línea de desarrollo de software hay una cantidad infinita de maneras de ir sobre hacer un programa hacer su hacer una oferta, así que recomiendo entender todo en mi código y haciendo preguntas, como la mejor cosa a hacer es aprender! Es un componente muy complicado agregar fotos, ya que hay tantas fotos de cada paso pequeño. Sin embargo no te desanimes pues los proyectos más frescos vienen de teclado más ataques!
Descripción del software:
Para el usuario poder hacer todo en forma remota,
Hay dos cosas que deben ser atendidos: la aplicación de servidor y la aplicación de cliente de cara. Cara del servidor de aplicación se encarga de todo el detrás de las cosas de la escena, como la creación de acción basan en valores de entrada y base de datos de usuario, toda la gestión de lógica (por ejemplo si la puerta está en el estado bloqueado, golpear el botón de bloqueo será retroceso sólo una excepción como "La puerta ya está cerrada") y otras medidas de manejo tales como ejecutar un script que se ejecutará un motor. La aplicación del lado del cliente será utilizada por nuestro usuario. Incluye cualquier cosa, desde dando al usuario una opción de Unlock/Lock o incluso dándoles una agradable interfaz de usuario como un sitio web para trabajar con. En la mayoría y en nuestro caso, el servidor de aplicación cara será un desafío mucho más difícil. Va a ser muy difícil para mí para llevarle precisamente paso a paso por todo por lo ilimitado las implementaciones son! Pero siempre responder a sus preguntas y guiarlo a la terminación :)
Azure de Microsoft:
Una porción muy grande de esto es la capacidad de la computación en nube de Microsoft Azure. Tenemos que crear un puente entre el usuario y su frambuesa Pi cerradura, que será nuestro servidor dedicado de Microsoft Azure. Un servidor dedicado es básicamente un equipo que está sentado con racks de otras computadoras en un Hub de Microsoft, que podemos controlar mediante el protocolo de conexión a escritorio remoto que se puede utilizar en PC, Mac y sistemas operativos Linux. Usted puede inscribirse para una prueba de libre Microsoft Azure aquí para empezar: http://azure.microsoft.com/en-us/. Lo primero que va a hacer es configurar un servidor dedicado. Recoger cualquier paquete por favor, como nuestro servidor no estarán bajo fuerte presión hasta que se incorporan múltiples cerraduras! En su servidor dedicado, instale el MYSQL, que es de código abierto utilidad de base de datos de Oracle. (Lo siento Microsoft no SQLServer para este chico: D). Teniendo la documentación de Microsoft como ayuda, abrir correctamente el puerto 3306 y asegúrese de que ambos UDP y TCP se permite el tráfico saliente y entrante. En MYSQL que desea crear una base de datos y configurar sus tablas basadas en cómo implementar el programa de Java que se examinan a continuación. La idea clave es que nuestra base de datos se aloja en una dirección IP como 232.33.64.32:3306 y se puede acceder y Queryed usando nuestro programa Java! Una vez más no consigue abrumado, Microsoft ha proporcionado un montón de documentación del trabajo con sus servidores dedicados y es muy fácil de entender.
UN punto de asesoramiento: Al recoger lo del paquete de Microsoft Azure, asegúrese de que es un servidor de la ventana es mucho más fácil para el usuario común, pero si usted es un Dios de Linux hacer lo que quieras ^. ^
Servidor de cara aplicación:
Tenemos que crear un mecanismo de control del microordenador de la Raspberry Pi para que pueda controlar todos los aspectos de la cerradura. Lo lograremos mediante un programa de Java, el programa tendrá que ser capaz de realizar un seguimiento de estado de la lock(unlock/locked), ser capaces de ejecutar secuencias de comandos que la entrada del usuario motor, leer de la página web que el usuario va a utilizar. Antes de continuar, tenemos que configurar una base de datos que contendrá todas las entradas de usuario en la forma de un número. Así que cuando el usuario toca el botón de desbloqueo en su teléfono escribirá un 0 a la base de datos, y si pulsa el botón de bloqueo escribirá un 1 en la base de datos. El programa tendrá entonces comprobar el estado de la cerradura y comparar el valor de la base de datos, si son las mismas que no se han tomado medidas, sin embargo si son diferentes el programa sabe el usuario una pulsar y tomará la acción respectiva, después de las acciones se actualizará el estado de la cerradura y entonces el valor de la base de datos debe ser igual el valor de estado así. Esta es la idea básica del programa que se adjunta al final de este informe (delantal de SQL). Hay un componente más del servidor a un lado la aplicación que es el mecanismo por el cual el motor será móvil. Esto se logra usando dos diferentes scripts hechos en Python. Una secuencia de comandos moverá el motor paso a paso en la cantidad necesaria de los pasos, y el otro va a hacer exactamente lo mismo en la dirección opuesta. Estos scripts se ejecutarán por el programa de Java, cuando el valor de la base de datos y el valor de estado son diferentes como se explica anteriormente. Todos estos combinados creará el servidor a un lado el aspecto de este proyecto. Obviamente tendrás que instalar Java para esto a trabajar y configurar correctamente tu servidor dedicado de azul! También el Stepper.py a continuación es un esquema general, usted puede crear muy fácilmente en scripts separados 2 (abrir y cerrar).
Los archivos adjuntos llamado: Stepper.py y SmockSQL.java mostrar lo que hice!
Cliente a un lado la aplicación:
El usuario necesita un mecanismo por el que puede editar los valores de la base de datos, para que el programa Java sepa cuándo una acción es necesario para ser tomado. Muchas formas se puede lograr este objetivo final, uno se tiene el registro de usuario en el servidor que tiene la base de datos y cambiar el valor, pero esto es tedioso y no es práctico para nuestros usuarios. Así que vamos a crear un sitio web que puede iniciar sesión en su cuenta y control de la puerta con una cerradura muy familiar y botón de desbloqueo. Este botón de desbloqueo y bloqueo será dentro de una página JSP, que es básicamente una aplicación web basada en Java. El objetivo de esta página es para que cuando el usuario toca el botón de desbloqueo/bloqueo, se llevará a cabo la necesaria consulta a la base de datos y se actualizará el valor de la base de datos basada en el golpe de botón. Entonces nuestro servidor Java cara será leer este valor actualizado y realizar las acciones necesarias. La página JSP con el código de su aplicación Java utilizado para este proyecto al final de este informe así.
Los archivos adjuntos llamado: el resto de los archivos de Java son páginas JSP que muestra lo que hice! Puede implementar estos serverlets JSP en páginas web utilizando Netbeans y desplegando como un archivo WAR en nuestros VPS de Azure de Microsoft.
Esto concluye prácticamente todo el Software del proyecto. En la siguiente fase!