Subido por ramon soto

201510020106 Manual Tecnico -Video 3 y 4

Anuncio
Asignatura:
INTELIGENCIA ARTIFICIAL
Presentado por:
Ethan Ariel Diaz Hernández
Cuenta:
201510020106
Tarea:
Manual Técnico Vídeo 3 y 4
La Ceiba Atlántida 15 de Julio del 2019
Manual técnico del vídeo 3 y 4
Lenguajes a utilizar
1. PHP
2. Python
3. HTML
Paso 1
Nos dirigimos a las configuraciones de red y en esta parte buscamos la opción en donde
podamos colocar la IP de nuestra Rasperry, para poder hacer esto ingresamos a los
protocolos TCP/IP de nuestra PC
Paso 2
Al terminar esto verificamos la IP haciendo Ping 10.56.48.124 -t. Dependiendo cual sea
la IP en nuestro caso.
Paso 3
Nuestro siguiente paso seria instalar paquetes muy importantes para poder utilizar
nuestra aplicación.
#sudo apt-get install xrdp
¿Qué es XRDP?
Es una implementación de código abierto de RDP (Remote Desktop Protocol),
el protocolo utilizado por los Servicios de Terminal de Windows para la
conectividad nativa del escritorio Windows.
#sudo apt-get install php5
¿Qué es PHP5?
Primeramente tenemos que saber que el php5 es una versión de php, el cual es
un lenguaje de programación de propósito general de código del lado del
servidor originalmente diseñado para el preprocesado de texto plano en UTF-8.
#sudo apt-get install apache2
¿Qué es Apache2?
Es un servidor web HTTP de código abierto, este nos va a permitir usar y
configurar el servidor.
Una vez que instalamos los paquetes que vamos a utilizar accedemos a nuestro sistema
de forma gráfica utilizando nuestro Acceso Remoto.
Podemos usar dos formas para acceder remotamente una utilizando la conexión remota
de Windows o con un programa llamado PuTTY.
Colocar la dirección IP que tiene asignada la placa, esta placa puede cambiar ya que si
la conectamos con un router, este le puede asignar una IP dinámica mediante el servicio
de DHCP, ya sabiendo la IP solo debemos colocarla en el espacio designado, dar clic en
open o conectar.
El siguiente paso sería acceder al sistema de nuestra Rasperry como super usuario
utilizando el comando: SUDO SU
El servidor web que instalamos posee unos archivos, lo que necesitamos para verificar
los estados del GPO. Vamos a monitorear mediante un gestor web webIOPi. que
permite visualizar una entrada una salida, visualizar cuales son los pines denominados
para tierra o parte eléctrica, y toda la distribución, los 26 pines Rasperry b+ y 42 para
una Rasperry 2 o 3.
Para instalar el webIOPi 0.7.0:
Cd opt cd / opt
ls: para listar los archivos
Se descarga de forma gz y nos toca desempaquetar.
Luego cd webIOPi-0.7.0
ls: para listar los archivos
./setup.sh
Luego dentro de la carpeta hay un archivo que nos va a tocar ejecutar, es muy
importante tener internet en nuestra Rasperry y lo hacemos mediante Chrome con el
puerto 8000 que es con el que se ingresa.
Una vez en el navegador ingresamos a:
GPIO HEADER: y nos muestra lo que es todo el encabezado de nuestra página con sus
pines con sus estados.
Seguidamente nos mostrara la siguiente interface:
Crearemos una carpeta mediante consola usamos el comando 'mkdir (nombre de
carpeta)', debemos verificar de que nos localizamos en la dirección '/var/www' al
momento de hacer dicha carpeta, de lo contrario podemos tener ciertos problemas en un
futuro.
Después crear la carpeta debemos asignar y declarar ciertos permisos a la carpeta, ya
que nosotros vamos a insertar los archivos que descargamos, al ser archivos externos,
puede que no nos permita hacer ciertas acciones de pegar los archivos, para asignar
estos permisos, lo hacemos con el comando 'chmod -R 777 (Y el nombre de la carpeta
que acaban de crear)'.
Nuestro siguiente paso va a ser configurar al usuario que utilizara nuestro servidor web,
dicho perfil de usuario se llama 'www-data' debemos ejecutar en consola el comando
'visudo', ya que el perfil que acabamos de mencionar no cuenta con todos los permisos
para poder personalizar algunos documentos.
Entonces, para ello, debemos escribir lo siguiente:
'www-data ALL=(ALL) NOPASSWD: ALL'
Abrimos el documento prueba.php y vamos a ver un archivo en donde estará el llamado
de los procesos a ejecutarse para que nuestro proyecto funcione, tenemos los combos en
donde vamos a encender, entonces mandamos a llamar los script de cada uno utilizando
un if simple y agregándolo de la siguiente manera: exec("sudo Python
/var/www/app/encender1.py") y así vamos a ir agregando sucesivamente y al final
apagamos el foco exec(" /./var/www/foco1.sh") y después usamos el
header("location:inicio.html") para retornar al momento de ejecutar el programa.
Ahora procederemos al manual técnico para poder configurar lo que son los sensores en
nuestro proyecto.
Primeramente, accedemos a nuestra Rasperry remotamente, es importante
establecer la Ip solo que en este caso vamos a utilizar una herramienta llamada
Advanced IP Scanner.
¿Para qué sirve esta herramienta?
El programa escanea todos los dispositivos de red, le da acceso a las carpetas
compartidas y a los servidores FTP, le proporciona control remoto de las computadoras
(mediante RDP y Radmin) e incluso puede apagar las computadoras de manera remota.
Presionamos en función de Explorar para poder ver dispositivos conectados a la misma
red y así podemos ver la Ip con la cual vamos a conectarnos remotamente.
Herramientas a utilizar
1. Sensor PiR
Su componente principal son los sensores piroeléctricos. Se trata de un
componente electrónico diseñado para detectar cambios en la radiación
infrarroja recibida.
Vamos a utilizar el GPIO 17 y mandarle lo que son 5 voltios, accedemos a la Ip para
poder ver lo que son la disponibilidad de las GPIO de nuestra placa y ver si podemos
usar nuestro sensor PiR.
Sí ingresamos y vemos que sale en color negro significa que por defecto esta apagado.
Ingresamos como super usuario usando: SUDO SU.
Accedemos a la carpeta de proyecto y vamos a ver archivos con el nombre de




Alarm2.py
correo.sh
apagar_alarma2.py
foto.sh.
Ingresamos a documento de Alarm2.py utilizando el comando PICO que es para poder
editar, vamos a observar librerías como:
import subprocess
import time
import pygame
import RPI.GPIO as GPIO
Para poder utilizar lo que es el valor lógico de PIN 17 del GPIO, utilizaremos la
siguiente línea de código
GPIO_PIR=17 y configuramos este pin como Pin de entrada
GPIO.SETUP(GPIO_PIR, GPIO.IN)
Lo utilizaremos de esta manera ya que al momento que el sensor detecte movimiento
este lo va a agregar como 1 Lógico y se captura como entrada. Al terminar de realizar
esto guardamos los cambios dentro del documento presionando Ctrl+O.
Después ingresamos a nuestro documento de foto.sh, utilizando el comando pico
foto.sh ahí podemos observar el siguiente código el cual nos permite guardar las
imágenes al momento que el sensor se activa.
Al verificar que todo esté bien configurado nos dirigimos a la parte de Alarm2.py para
así poder ver la parte en que hacemos el llamado del process de tomar foto utilizando el
método subprocess. call () y a través de esto hacemos el llamado del documento en
donde tenemos la foto.sh
Análisis del archivo Alarma.py
Subprocess: es una las nuevas librerías que estamos explorando, esta nos permite ejecutar
programa.
Time: librería de tiempo
Pygame: esta librería que nos permite incorporar audios o videos a nuestros programas.
Rpi.GPIO as GPIO: con esta librería controlamos los GPIO y se le coloca un alias.
While True: mientras algo sea verdadero se puede realizar cierta acción con otros
comandos que es lo que se está haciendo en el código proporcionado por el ingeniero.
Para ejecutar un programa o mejor dicho un subprograma lo hacemos con el siguiente
código:
Subprocess.call("/./home/pi/proyecto/foto.sh") dentro de las comillas siempre
pondremos la ruta del programa que queramos ejecutar, es decir, primero tenemos que
estar seguros de la ubicación de dicho archivo para mandarlo a ejecutar a través de código.
Otra de las nuevas implementaciones de código que noté es que empezamos a utilizar las
excepciones en este archivo.
Código de la excepción:
Try:
Except KeyboardInterrupt: - Donde los dos puntos significan entonces. Este bloque try
será interrumpido por teclado. Cualquier tecla que presionemos interrumpirá la
ejecución.
Se utilizaron las banderas status0 y status1 para validar por medio de IFs y Whiles el
estado del GPIO17 y así mismo capturar el valor que este genera cuando el sensor detecta
radiación infrarroja de un objeto o persona. El valor que se genera es el de un 1 lógico.
GPIO.cleanup () – comando para limpiar los pines y poner su valor por defecto.
Vamos a ejecutar el programa seria de la siguiente manera:
Python alarma2.py
al ejecutarlo nos va a mostrar un mensaje listo, mientras el sensor no detecte
movimiento el GPIO va a salir 0, pero ya cuando lo detecte nos mostrara el mensaje de
Se ha detectado movimiento y se va a tomar las fotos, después nos dirigimos a la
carpeta proyecto para poder ver las fotos que se han tomado.
Es importante antes de conectar la cámara ejecutar un comando que se llama raspiconfig que en el menú nos mostrara una opción habilitar cámara ENABLE CAMERA
y en este habilitamos el soporte para Rasperry camera y habilitamos la conexión serial y
reiniciamos para poder habilitar los cambios y así nos va a funcionar nuestro proyecto.
Descargar