SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
CATEDRATICO:
Ing. Octavio Morales Domínguez
MATERIAS:
Sistemas Programables Y Diseño De Interfaces
CARRERA:
Ingeniería en Sistemas Computacionales
NOMBRE DEL PROYECTO:
InfoDT
NOMBRE DEL ALUMNO:
Arguello Pulido Yaneth Del Rosario 12700168
Jiménez Navarro Juana Gabriela 12700177
Vera Martínez Ana Laura 12700199
Guzmán Jiménez Celia 12700175
COMITÁN DE DOMÍNGUEZ, CHIAPAS, 05 de junio de 2015
TECNOLÓGICO NACIONAL DE MÉXICO
Instituto Tecnológico de Comitán
INDICE
Introducción --------------------------------------------------------------------------------------- 3
Descripción y justificación ------------------------------------------------------------------- 3
Objetivo general ---------------------------------------------------------------------------------- 3
Objetivos específicos --------------------------------------------------------------------------- 4
Capítulo 1 lenguajes de programación, Raspberry, pantallas y sensores
capacitivos
1.1 Pantallas led -------------------------------------------------------------------------- 5
1.2 Raspberry Pi -------------------------------------------------------------------------- 7
1.3 Python ---------------------------------------------------------------------------------- 8
1.4 Php -------------------------------------------------------------------------------------- 10
1.5 MySQL --------------------------------------------------------------------------------- 11
1.6 Sensores capacitivos --------------------------------------------------------------- 13
Capítulo 2 conexión entre lenguajes de programación
2.1 Cuadro comparativo Raspberry vs Arduino ---------------------------------- 15
2.2 Raspberry – phyton ----------------------------------------------------------------- 16
2.3 Conexión Phyton- MySQL -------------------------------------------------------- 18
2.4 Conexión PHP-MySQL ------------------------------------------------------------- 19
2.5 Conexión Raspberry – Pantallas led -------------------------------------------- 20
Anexos ---------------------------------------------------------------------------------------------- 23
3
INTRODUCCION.
InfoDT tiene la finalidad de interconectar a los alumnos con una tecnología aun no
implementada en el Instituto Tecnológico de Comitán por medio de una interfaz de
usuario, de manera que la información que maneja el instituto en su página web
(avisos, convocatorias, eventos, etc.) se refleje en una pantalla con tecnología
touchscreen. La cual estará conectada a la red de la institución, de esta manera lo
que las diferentes interfaces contengan se actualizarán en el momento que se
requiera publicar un tipo de acontecimiento importante sucedido en el transcurso de
esa semana. InfoDT será una forma de utilización en el uso de las tecnologías de
información y comunicación, cuyo desarrollo estará realizada por alumnos del
Tecnológico.
DESCRIPCION Y JUSTIFICACION.
InfoDT está conformada por una pantalla touchscreen que funciona con un
simulador de raspberry, su interface será programada en el lenguaje de python que
estará conectada con una base de datos referente a la información y actualización
que se le sea asignada desde una página web administrador, la conexión de este
será posible desde el servidor del instituto. Esto solución se realizó en base a una
de las necesidades que el Tecnológico presenta ya que si en algún momento el
director desea dar a conocer los eventos que se realizaron o realizaran, publicaran
una convocatoria o un aviso de un acontecimiento importante impreso en
documentos para que estos sean pegados en una “vitrina” o en las puertas de las
aulas, dejando al alumnado facilidad de que rompa, pinte o quite por completo el
documento, no obteniendo su propósito que trata de que la escuela este informanda
completamente, InfoDT facilita la publicación de dichos documentos de una forma
más interactiva, atractiva y porque no divertida. Se podrá observar la aplicación de
las tecnologías de la información y evitara el uso de la hoja de papel y aportando a
la no contaminación.
OBJETIVO GENERAL.
Diseñar una interfaz gráfica con la capacidad de actualizar sus contenido mediante
una base de datos, esta base estará contenida por la información de una página
web administrador en la cual se podrá subir archivos, editar y eliminar.
OBJETIVOS ESPECIFICOS.
4
Diseñar una interfaz programada en el lenguaje de Python.
Diseñar una página web administrador que contenga información del Instituto
Tecnológico de Comitán.
Realizar una base de datos que almacene información de la página web admin que
estará hospedada en un servidor.
Conectar la base de datos a la interfaz de Python con la página web para la
realización de actualizaciones.
Conectar a la red del instituto la interfaz gráfica para realizar la conexión a la base
de datos y este a su vez conectarla a la página web admin.
Evaluar la implementación del prototipo y analizar posibles fallos en el sistema.
Interfaz gráfica con la capacidad de interactuar con usuarios.
Capítulo 1 lenguajes de programación, Raspberry, pantallas y sensores
capacitivos
Lo que a continuación podremos observar son los lenguajes de programación que
necesitaremos para llevar a cabo nuestro proyecto, además de las cuestiones
físicas como son la pantalla, la placa Raspberry y los sensores para proyectar lo
que deseemos, estos lenguajes de programación aunque son diferentes son
capaces de conectarse unos con otros que es lo que requerimos
5
1.1 PANTALLA LED
Es un dispositivo de salida, que muestra datos o información al usuario, que se
caracteriza por estar compuesto por diodos emisores de luz o ledes
La pantalla se compone de paneles o módulos de ledes (diodos emisores de luz),
bien sea monocromáticos o policromáticos: estos últimos se conforman a su vez
con ledes RGB (los colores primarios de la luz), o configuraciones diversas
ajustadas a la aplicación. Dichos módulos en conjunto forman píxeles, lo que
permite formar caracteres, textos, imágenes y hasta vídeo, dependiendo de la
complejidad de la pantalla y el dispositivo de control. Los usos más frecuentes para
las pantallas LED son: paneles indicadores, informativos, publicitarios y de alta
resolución de vídeo a todo color (en conciertos, actos públicos), esto es debido a su
gran resistencia al aire libre, su fácil fabricación y mantenimiento y a su bajo
consumo.
Pantallas gigantes de LED
Las pantallas gigantes LED regularmente se montan de una forma modular, con
propósito de facilitar y abaratar su fabricación, transporte, montado y
mantenimiento. Un Módulo o Gabinete tiene ciertas características que se suman al
montar varios Módulos / Gabinetes. Las características principales son la distancia
entre módulos (pitch) (mm), el tipo y configuración de ledes (Led oval, SMD, Brillo),
la resolución (en función de la cantidad de píxeles y la tecnología usada), la potencia
máxima (vatios) y la protección (resistencia a las inclemencias atmosféricas). La
imagen 1.2 nos muestra una pantalla gigante de led.
(WIKIPEDIA, 2015)
1.2 Las Pantallas electrónicas de LED para exterior se leen perfectamente cuando la luz de
sol hace contacto con la pantalla
6
Pantallas Electrónicas de LED Gigantes con Píxeles Virtuales
¿Porque las pantallas electrónicas de LED gigantes usan Tecnología de Píxel
Virtual? ¿Y que es exactamente el Píxel Virtual? Estas son preguntas muy comunes
cuando usted aborda la industria de pantallas electrónicas de LED por primera vez.
La respuesta puede no apreciarse clara al principio pero en realidad es muy simple
una vez entendiendo unos pocos principios básicos.
¿Que es el Píxel Virtual?
El Píxel Virtual es una característica administra-video que permite un incremento
del 400% en la calidad de imágenes. Así es, 400%. Es obvio porque fabricantes lo
usan: lo usan para mostrar mejor calidad, imágenes más realistas. Pero, antes que
nada, ¿porque una pantalla electrónica de LED's requiere incrementar la calidad de
imagen por medio de una característica de administración?
Es muy sencillo: a pesar de su gran tamaño, una pantalla electrónica de LED
normalmente tiene menos píxeles que una pantalla de una compotadora o PC
ordinaria como la que esta viendo en este momento. ¿Como es esto posible?
Porque en una pantalla electrónica de LED, la distancia entre 2 píxeles puede ser
de hasta 30mm o incluso mas. Como consecuencia, en una pantalla ordinaria de
PC puede tener 1024 x 768 píxeles físicas o mas mientras que en una pantalla
gigante de LED de 4x3 puede tener 192 x 144 píxeles físicas. En la imagen 1.3
podremos observar una pantalla de led y la alta definición que esta tiene además
de ciertas características que posee.
(leds, 2011)
1.3 Opción para mostrar reloj y temperatura. Alta definición de imagen,
tecnología RGB (hasta 281 trillones de colores), corrección de color, ajuste de
brillantez, señal de entrada en video
7
1.2 RASPBERRY PI
El Raspberry Pi es una computadora completamente funcional. Tiene todas las
características de un ordenador, con un procesador dedicado, la memoria, y un
controlador de gráficos para la salida a través de HDMI. Incluso puede funcionar
una versión especialmente diseñada del sistema operativo Linux. Eso hace que sea
fácil de instalar más software de Linux y le permite utilizar el Pi como un streamer
de medios de funcionamiento o videojuego emulador con un poco de esfuerzo.
Aunque el Pi no ofrece almacenamiento interno, puede utilizar tarjetas SD como la
memoria flash para todo el sistema, lo que le permite cambiar rápidamente las
diferentes versiones de los sistemas operativos o actualizaciones de software de
depurar. Debido a la conectividad de red independiente del dispositivo, también
puede configurarlo para acceder a través de SSH, o transferir archivos a la misma
a través de FTP.
Raspberry Pi puede procesar varias tareas — éste puede ejecutar múltiples
programas en segundo plano mientras está activado. Por ejemplo, puede estar
funcionando como un servidor de impresión y un servidor VPN al mismo tiempo.
Diseño. El Raspberry pi cuenta con un diseño que incluye un System-on-a-chip
Broadcom BCM2835, que contiene un procesador central (CPU) ARM1176JZF-S a
700 MHz (el firmware incluye unos modos “Turbo” para que el usuario pueda hacerle
overclock de hasta 1 GHz sin perder la garantía) ,9 un procesador gráfico (GPU)
VideoCore IV, y 512 MB de memoria RAM (aunque originalmente al ser lanzado
eran 256 MB). El diseño no incluye un disco duro ni unidad de estado sólido, ya que
usa una tarjeta SD para el almacenamiento permanente; tampoco incluye fuente de
alimentación ni carcasa. El 29 de febrero de 2012 la fundación empezó a aceptar
órdenes de compra del modelo B, y el 4 de febrero de 2013 del modelo A.1 10 11.
La fundación da soporte para las descargas de las distribuciones para arquitectura
ARM, Raspbian (derivada de Debian), RISC OS 5, Arch Linux ARM (derivado de
Arch Linux) y Pidora (derivado de Fedora);2 y promueve principalmente el
aprendizaje dellenguaje de programación Python.5 Otros lenguajes también
soportados son Tiny BASIC,12 C, Perl5 y Ruby.13. en la imagen 1.4 podemos
observar el raspberry y sus inicios.
1.4 En 2006, los primeros diseños de Raspberry Pi se
basaban en el microcontrolador Atmel ATmega644
8
1.3 PYTHON
Python es un lenguaje de programación creado por Guido van Rossum a principios
de los años 90 cuyo nombre está inspirado en el grupo de cómicos ingleses “Monty
Python”. Es un lenguaje de programación multipropósito de alto nivel Su filosofía de
diseño enfatiza la productividad del programador y la legibilidad del código. Tiene
un núcleo sintáctico minimalista con unos pocos comandos básicos y simple
semántica, pero además tiene una enorme y variada librería estándar, que incluye
una Interfaz de Programación de Aplicaciones (API) para muchas de las funciones
en el nivel del sistema operativo (OS). El código Python, aunque minimalista, define
objetos incorporados como listas enlazadas, tuplas, tablas hash, y enteros de
longitud arbitraria, es un lenguaje interpretado o de script, con tipado dinámico,
fuertemente tipado, multiplataforma y orientado a objetos.
Es un lenguaje que todo el mundo debería conocer. Su sintaxis simple, clara y
sencilla; el tipado dinámico, el gestor de memoria, la gran cantidad de librerías
disponibles y la potencia del lenguaje, entre otros, hacen que desarrollar una
aplicación en Python sea sencillo, muy rápido y, lo que es más importante, divertido.
La sintaxis de Python es tan sencilla y cercana al lenguaje natural que los programas
elaborados en Python parecen pseudocódigo. Por este motivo se trata además de
uno de los mejores lenguajes para comenzar a programar.
Lenguaje interpretado o de script
Un lenguaje interpretado o de script es aquel que se ejecuta utilizando un programa
intermedio llamado intérprete, en lugar de compilar el código a lenguaje máquina
que pueda comprender y ejecutar directa- mente una computadora (lenguajes
compilados). La ventaja de los lenguajes compilados es que su ejecución es más
rápida. Sin embargo los lenguajes interpretados son más flexibles y más portables.
En la imagen 1.5 podremos observar una de las ventajas que este nos ofrece es
decir probar porciones de código en el modo interactivo antes de integrarlo como
parte del programa
1.5 Las expresiones pueden ser introducidas una a una,
pudiendo verse el resultado de su evaluación inmediatamente.
9
Tipado dinámico
La característica de tipado dinámico se refiere a que no es necesario declarar el tipo
de dato que va a contener una determinada variable, sino que su tipo se
determinará en tiempo de ejecución según el tipo del valor al que se asigne, y el tipo
de esta variable puede cambiar si se le asigna un valor de otro tipo.
Fuertemente tipado
No se permite tratar a una variable como si fuera de un tipo distinto al que tiene, es
necesario convertir de forma explícita dicha variable al nuevo tipo previamente. Por
ejemplo, si tenemos una variable que contiene un texto (variable de tipo cadena o
string) no podremos tratarla como un número (sumar la cadena “9” y el número 8).
En otros lenguajes el tipo de la variable cambiaría para adaptarse al comporta-
miento esperado, aunque esto es más propenso a errores.
Multiplataforma.
El intérprete de Python está disponible en multitud de plataformas (UNIX, Solaris,
Linux, DOS, Windows, OS/2, Mac OS, etc.) por lo que si no utilizamos librerías
específicas de cada plataforma nuestro programa podrá correr en todos estos
sistemas sin grandes cambios.
Orientado a objetos.
La orientación a objetos es un paradigma de programación en el que los conceptos
del mundo real relevantes para nuestro problema se trasladan a clases y objetos en
nuestro programa. La ejecución del programa consiste en una serie de interacciones
entre los objetos. Python también permite la programación imperativa,
programación funcional y programación orientada a aspectos.
Herramientas básicas
Existen dos formas de ejecutar código Python. Podemos escribir líneas de código
en el intérprete y obtener una respuesta del intérprete para cada línea (sesión
interactiva) o bien podemos escribir el código de un programa en un archivo de texto
y ejecutarlo. La función de autocompletado se lanza pulsando el tabulador. Si
escribimos fi y pulsamos Tab nos mostrará una lista de los objetos que comienzan
con fi (file, filter y finally). Si escribimos file. Y pulsamos Tab nos mostrará una lista
de los métodos y propiedades del objeto file. En la imagen 1.5 observamos el logo
y su filosofía que los desarrolladores de Python han creado.
1.6 El código que sigue los principios de Python de legibilidad
y transparencia se dice que es "pythonico"
10
1.4 PHP
PHP es un lenguaje de programación de uso
general de código del lado del servidor
originalmente diseñado para el desarrollo web de
contenido dinámico. Fue uno de los primeros
lenguajes de programación del lado del servidor
que se podían incorporar directamente en el documento HTML en lugar de llamar a
un archivo externo que procese los datos. El código es interpretado por un servidor
web con un módulo de procesador de PHP que genera la página Web resultante,
Puede ser usado en la mayoría de los servidores web al igual que en casi todos los
sistemas operativos y plataformas sin ningún costo
Características
Es considerado un lenguaje fácil de aprender, ya que en su desarrollo se
simplificaron distintas especificaciones, como es el caso de la definición de las
variables primitivas, ejemplo que se hace evidente en el uso de php arrays.
El código fuente escrito en PHP es invisible al navegador web y al cliente, ya que
es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML
al navegador. Esto hace que la programación en PHP sea segura y confiable.
Capacidad de conexión con la mayoría de los motores de base de datos que se
utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.
Capacidad de expandir su potencial utilizando módulos (llamados ext's o
extensiones).
Posee una amplia documentación en su sitio web oficial, entre la cual se destaca
que todas las funciones del sistema están explicadas y ejemplificadas en un único
archivo de ayuda.
Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
Permite aplicar técnicas de programación orientada a objetos.
No requiere definición de tipos de variables aunque sus variables se pueden evaluar
también por el tipo que estén manejando en tiempo de ejecución.
Tiene manejo de excepciones (desde PHP5).
1.7 PHP puede ser desplegado en la mayoría
de los servidores web y en casi todos los
sistemas operativos y plataformas sin costo
alguno
11
Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la
hora de programar, aun haciéndolo, el programador puede aplicar en su trabajo
cualquier técnica de programación o de desarrollo que le permita escribir código
ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en
PHP se han hecho del patrón de diseño Modelo Vista Controlador (MVC), que
permiten separar el tratamiento y acceso a los datos, la lógica de control y la interfaz
de usuario en tres componentes independientes.
Debido a su flexibilidad ha tenido una gran acogida como lenguaje base para las
aplicaciones WEB de manejo de contenido, y es su uso principal.
(wikipedia, 2015)
PHP ofrece tres APIs diferentes para conectarse a MySQL. Cada trozo de código
crea una conexión al servidor de MySQL que se está ejecutando en "ejemplo.com"
usando el nombre de usuario "usuario" y la contraseña "contraseña". Y se ejecuta
una consulta para saludar al usuario. En la imagen 1. 7 podemos encontrar una de
las características muy importantes de php.
(php, 2001-2015)
1.5 MYSQL
Es un sistema de administración de bases de datos. Una base de datos es una
colección estructurada de tablas que contienen datos ofrece una variedad de
funciones; su conectividad, velocidad y seguridad lo hacen altamente satisfactorio
para accesar bases de datos en Internet.
Permite realizar tareas administrativas
 administración de usuarios
 monitorización del estado del servidor, incluyendo estadísticas de uso
 visualización de los logs de servidor
 gestión de copias de seguridad y recuperaciones
 visualización de catálogos de datos.
1.8 Orientado al desarrollo de aplicaciones web dinámicas
con acceso a información almacenada en una base de datos.
12
Se aplicará los elementos básicos de MySQL para la creación y explotación de
bases de datos; asimismo, se implementará mecanismos de seguridad para realizar
la administración y mantenimiento. En la imagen 1.9 vemos una de las ventajas que
tiene MySQL con aplicaciones web.
Características adicionales
Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas
igualmente.
Disponibilidad en gran cantidad de plataformas y sistemas.
Posibilidad de selección de mecanismos de almacenamiento que ofrecen diferentes
velocidades de operación, soporte físico, capacidad, distribución geográfica,
transacciones...
Transacciones y claves foráneas.
Conectividad segura.
Replicación.
Búsqueda e indexación de campos de texto.
Completo soporte para operadores y funciones en cláusulas select y where.
Completo soporte para cláusulas group by y order by, soporte de funciones de
agrupación
Seguridad: ofrece un sistema de contraseñas y privilegios seguro mediante
verificación basada en el host y el tráfico de contraseñas está cifrado al conectarse
a un servidor.
1.9 En aplicaciones web hay baja concurrencia en la
modificación de datos y en cambio el entorno es intensivo
en lectura de datos, lo que hace a MySQL ideal para este
tipo de aplicaciones.
13
Soporta gran cantidad de datos. MySQL Server tiene bases de datos de hasta 50
millones de registros.
Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice
puede consistir desde 1 hasta 16 columnas o partes de columnas. El máximo ancho
de límite son 1000 bytes (500 antes de MySQL 4.1.2).
Los clientes se conectan al servidor MySQL usando sockets TCP/IP en cualquier
plataforma. En sistemas Windows se pueden conectar usando named pipes y en
sistemas Unix usando ficheros socket Unix.
En MySQL 5.0, los clientes y servidores Windows se pueden conectar usando
memoria compartida.
MySQL contiene su propio paquete de pruebas de rendimiento proporcionado con
el código fuente de la distribución de MySQL
1.6SENSORES CAPACITIVOS
Los sensores capacitivos (KAS) reaccionan ante metales y no metales que al
aproximarse a la superficie activa sobrepasan una determinada capacidad. La
distancia de conexión respecto a un determinado material es tanto mayor cuanto
más elevada sea su constante dieléctrica.
Funcionan a medida que el objetivo se va a acercando al sensor las oscilaciones
del mismo aumentan hasta que llega a un límite que activa el circuito que dispara
las alarmas. Los sensores capacitivos, debemos decir que en un principio éstos
constan de una sonda que se encuentra situada en la cara posterior en donde se
encuentra colocada una placa condensadora, y al aplicar una corriente al sensor
por más mínima que sea, se produce una especie de campo electroestático cuya
1.10 Permite escoger entre múltiples motores de
almacenamiento para cada tabla. En MySQL 5.0 éstos debían
añadirse en tiempo de compilación, a partir de MySQL 5.1 se
pueden añadir dinámicamente en tiempo de ejecución.
14
reacción se produce frente a los cambios de la capacitancia provocados por la
presencia de un objeto cualquiera.
Como el cuerpo humano es también un conductor eléctrico, tocando la superficie
de la pantalla resulta una distorsión del campo electrostático de la pantalla, la cual
es medida por el cambio de capacitancia (capacidad eléctrica)
En el caso de que el objeto se encuentre fuera del campo electroestático entonces
el oscilador de los sensores capacitivos se encontrará inactivo
Cualquier objeto que se aproxima
suficientemente a un sensor capacitivo,
este actúa como otro condensador. Esto es
debido a la naturaleza dieléctrica del
sensor, que varía la capacitancia del
sistema utilizado. La placa paralela está conectada a la entrada de sensor del chip
en tanto que el objeto actúa como otra placa paralela.
Un sistema de detección estándar se compone de tres bloques funcionales:
 Un bloque analógico para detección capacitiva
 Un controlador para procesar los datos
 Un bloque de interfaz para la comunicación con un procesador host
1.11 Este tipo de sensores tienen la ventaja de que detectan la
proximidad de objetos de cualquier naturaleza
1.12 la sensibilidad disminuye bastante cuando
la distancia es superior a algunos milímetros
15
Capítulo 2 conexión entre lenguajes de programación
1.13 Cuadro comparativo Raspberry vs Arduino
Características
Dispositivo
Arduino Raspberry Pi modelo B
Precio en dólares $30 $35
Tamaño 7.6 x 1.9 x 6.4 cm 8.6cm x 5.4cm x 1.7cm
Memoria 0.002MB 512MB
Velocidad de reloj 16 MHz 700 MHz
On Board Network Ninguna 10/100 wired Ethernet RJ45
Multitarea No Sí
Voltaje de entrada 7 a 12 V 5 V
Memoria Flash 32KB Tarjeta SD (2 a 16G)
Puertos USB Uno Dos
Sistema operativo Ninguno Distribuciones de Linux
Entorno de desarrollo
integrado (IDE)
Arduino Scratch, IDLE, cualquiera
con soporte Linux
16
2.2 Raspberry Pi-Python.
Para instalar la biblioteca del GPIO de Python es necesario introducir en la terminal
las siguientes instrucciones.
1
2
3
sudo apt-get update
sudo apt-get install python-dev
sudo apt-get install python-rpi.gpio
Una vez instalada la biblioteca ya podemos hacer uso de la misma para scripts en
Python.
Para comenzar con un script vamos a escribir en la terminal:
1 Sudo idle
Se abrirá una pestaña de IDLE para scripts en Python, damos clic en nuevo y es
ahí donde podemos comenzar a escribir nuestro script.
1 import RPi.GPIO as GPIO
Importa la biblioteca para poder hacer uso del GPIO, esta instrucción siempre tiene
que ir al inicio de nuestro script si haremos uso del GPIO.
1
2
<pre>GPIO.setmode(GPIO.BOARD)
GPIO.setmode(GPIO.BCM)
Una vez importada la biblioteca, el siguiente paso es seleccionar el tipo de etiquetas
que llevaran los pines, en este caso tenemos la opción “BOARD” la cual asigna las
etiquetas correspondientes a la numeración de los pines según el conector, siendo
del 1 al 26, y la opción “BCM” es la etiqueta del pin del procesador de la tarjeta, esta
suele tener los nombres como, 5V, 3.3V, GND, GPIO14 UART0_TXD, GPIO1
I2C0_SDA, etc… El inconventiente del BCM es que las etiquetas ya han cambiado
para la revisión B de la tarjeta. Es por eso que se debe tener siempre a la mano una
hoja impresa con el nombre de los pines de la tarjeta.
(Rossum, 2009)
En Python, el acceso a bases de datos se encuentra definido a modo de estándar
en las especificaciones de DB-API, que puedes leer en la PEP 249. Esto, significa
que independientemente de la base de datos que utilicemos, los métodos y
17
procesos de conexión, lectura y escritura de datos, desde Python, siempre serán
los mismos, más allá del conector.
En nuestro caso particular, utilizaremos MySQL, para lo cual, vamos a trabajar con
el módulo MySQLdb.
A diferencia de los módulos de la librería estándar de Python, MySQLdb debe ser
instalado manualmente
El estándar de Python para las interfaces de bases de datos es el Python DB-API.
La mayoría de las interfaces de bases de datos de Python se adhieren a este
estándar, por lo que dicho API es compatible con una amplia gama de servidores
de bases de datos, entre ellos:
Gadfly
MySQL
MySQL
PostgreSQL
Microsoft SQL Server 2000
Informix
Interbase
Oracle
Sybase
Structured Query Language (SQL)
SQL es el lenguaje de consulta estructurado utilizado para el acceso a bases de
datos relacionales. Si bien SQL como lenguaje, posee ciertos estándares, el
lenguaje de consulta en sí, varía para cada base de datos en particular, siendo el
tratado en este ejemplo, el correspondiente a MySQL.
MySQL es un sistema de gestión de bases de datos relacionales, libre y que puede
ser instalado en múltiples plataformas.
MySQLdb es una interfaz para trabajar con bases de datos MySQL desde Python.
(Bahit, 2011-2013)
18
2.3 CONEXIÓN PHYTON- MYSQL
Para conectarnos a la base de datos y ejecutar cualquier consulta, el procedimiento
consiste en:
1. Abrir la conexión y crear un puntero
2. Ejecutar la consulta
3. Traer los resultados (si de una selección se trata) o hacer efectiva la escritura
(cuando se inserta, actualiza o eliminan datos)
4. Cerrar el puntero y la conexión
import MySQLdb
DB_HOST = 'localhost'
DB_USER = 'root'
DB_PASS = 'mysqlroot'
DB_NAME = 'a'
def run_query(query=''):
datos = [DB_HOST, DB_USER, DB_PASS, DB_NAME]
conn = MySQLdb.connect(*datos) # Conectar a la base de datos
cursor = conn.cursor() # Crear un cursor
cursor.execute(query) # Ejecutar una consulta
if query.upper().startswith('SELECT'):
data = cursor.fetchall() # Traer los resultados de un select
else:
conn.commit() # Hacer efectiva la escritura de datos
19
data = None
cursor.close() # Cerrar el cursor
conn.close() # Cerrar la conexión
return data
(Bahit, LIBROSWEB, 2011-2013)
2.4 CONEXIÓN PHP-MYSQL
<?php
$enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mys
ql');
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';
mysql_close($enlace);
?>
Parámetros
server
El servidor MySQL. También se puede incluir un número de puerto. P.ej.
"nombre_anfitrión:puerto" o una ruta a un socket local, p.ej. ":/ruta/al/socket" para el
servidor local.
Si la directiva PHP mysql.default_host no está definida (por defecto), el valor por
defecto es 'localhost:3306'. En modo seguro de SQL, éste parámetro es ignorado y
siempre se usa el valor 'localhost:3306'.
username
El nombre de usuario. El valor por defecto está definido por mysql.default_user. En
modo seguro de SQL, éste parámetro es ignorado y se usa el nombre de usuario
que posee el proceso del servidor.
password
20
La contraseña. El valor por defecto está definido por mysql.default_password. En
modo seguro de SQL, éste parámetro es ignorado y se usa la contraseña vacía.
new_link
Si se realiza una segunda llamada a mysql_connect() con los mismos argumentos,
un nuevo enlace no será establecido, pero en su lugar, será devuelto el identificador
de enlace del enlace ya abierto. El parámetro new_link modifica éste
comportamiento y hace que mysql_connect() siempre abra un nuevo enlace, aun si
mysql_connect() fue llamada antes con los mismos parámetros. En modo seguro de
SQL, éste parámetro es ignorado.
client_flags
El parámetro client_flags puede ser una combinación de las siguientes constantes:
128 (habilita el manejo de LOAD DATA LOCAL), MYSQL_CLIENT_SSL,
MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE o
MYSQL_CLIENT_INTERACTIVE. Lea la sección sobre Constantes del cliente
MySQL para más información. En modo seguro de SQL, éste parámetro es
ignorado.
Valores devueltos
Devuelve un identificador de enlace de MySQL en caso de éxito o FALSE en caso
de error.
2.5 CONEXIÓN RASPBERRY- PANTALLA LED
2.5.1 Disponemos de:
· Dos buses USB.
· Puerto ethernet RJ-45.
· Salida analógica de audio estereo por jack de 3.5 mm.
· Salida digital de video + audio HDMI.
· Salida analógica de video RCA.
· Pines de entrada y salida de propósito general.
21
2.5.2 ¿Qué necesitamos?
Como mínimo para dejar la placa funcionando es necesario:
· Placa Raspberry Pi
· Tarjeta SD de al menos 4 Gb
· Adaptador de alimentación USB
· Cable micro-USB
2.5.3 Para instalar el sistema operativo además necesitamos:
· Ordenador
· Lector de tarjetas SD
2.5.4 Para poder conectar dispositivos USB (discos duros, teclado, ratón)
deberemos tener:
· Hub USB alimentado
2.5.5 Para poder conectar la placa a una pantalla hace falta:
· Cable HDMI o bien adaptador activo de HDMI a VGA
22
1.14 Tenemos dos formas de usar la placa: conectando una pantalla y los
periféricos de entrada o de forma remota con SSH
1.15 los cables adaptadores y los adaptadores pasivos no funcionarán debido a que
por la salida HDMI de la Raspberry Pi no hay componente analógica alguna
23
ANEXOS
1.16 deberá ir conectado a una fuente de 5 V como es cualquier salida USB
24
25
26
27
28
BIBLIOGRAFÍA
alfonso, c. o. (10 de 04 de 2005-2015). MOZILLA DEVELOPER NETWORK . Obtenido de
https://developer.mozilla.org/es/docs/HTML/HTML5
Bahit, E. (20 de diciembre de 2011-2013). LIBROSWEB. Obtenido de
https://librosweb.es/libro/python/capitulo_12.html
Bourque, B. (08 de marzo de 2015). ARDUINO VS. RASPBERRY PI. Obtenido de
http://www.digitaltrends.com/computing/arduino-vs-raspberry-pi/
Duque, R. G. (2012). python para todos. Obtenido de
http://www.ceibal.edu.uy/contenidos/areas_conocimiento/aportes/python_para_todos.p
df
Guiu, D. (10 de 08 de 2012). SOCIALETIC. Obtenido de http://www.socialetic.com/que-es-
html5.html
Karl Wright, R. C. (02 de diciembre de 2012). The Raspberry Pi Education Manua. EUA: BCS.
leds, p. p. (mayo de 2011). Usos y caracteristicas de las pantallas de LED. Recuperado el 20 de mayo
de 2015, de http://pantallasdeledspublicitarias.blogspot.mx/2011/05/usos-y-
caracteristicas-de-las-pantallas.html
php. (2001-2015). my php. Obtenido de http://php.net/manual/es/mysqlinfo.api.choosing.php
Rossum, G. v. (septiembre de 2009). EL TUTORIAL DE PYTHON. Obtenido de
http://docs.python.org.ar/tutorial/pdfs/TutorialPython2.pdf
Vega, J. V. (2014). virtualtec. Obtenido de http://virtualtec.cl/manual-de-html5-y-css3/
WIKIPEDIA. (25 de abril de 2015). Pantalla LED. Obtenido de
http://es.wikipedia.org/wiki/Pantalla_LED
wikipedia. (29 de abril de 2015). PHP. Obtenido de http://es.wikipedia.org/wiki/PHP
Torres, H. (23 de abril de 2014). HETPro. Recuperado el 20 de mayo de 2015, de http://hetpro-
store.com/TUTORIALES/python-gpio-led/

Más contenido relacionado

La actualidad más candente

La actualidad más candente (7)

MANUAL DE ENSAMBLE
MANUAL DE ENSAMBLEMANUAL DE ENSAMBLE
MANUAL DE ENSAMBLE
 
Manual windows 7
Manual windows 7Manual windows 7
Manual windows 7
 
Comparativa entre sistemas operativos
Comparativa entre sistemas operativosComparativa entre sistemas operativos
Comparativa entre sistemas operativos
 
Users+263 +issuu
Users+263 +issuuUsers+263 +issuu
Users+263 +issuu
 
Windows 7
Windows 7 Windows 7
Windows 7
 
Presentación VOA Systems
Presentación VOA SystemsPresentación VOA Systems
Presentación VOA Systems
 
Windows 8 conocelo un poco mas
Windows 8 conocelo un poco masWindows 8 conocelo un poco mas
Windows 8 conocelo un poco mas
 

Similar a InfoDT

TALLER DE ANALISIS SOLUCION PART 2 (1)(1).pdf
TALLER DE ANALISIS SOLUCION  PART 2 (1)(1).pdfTALLER DE ANALISIS SOLUCION  PART 2 (1)(1).pdf
TALLER DE ANALISIS SOLUCION PART 2 (1)(1).pdfjuanjose20102
 
TALLER DE ANALISIS SOLUCION PART 2 (1)(1).pdf
TALLER DE ANALISIS SOLUCION  PART 2 (1)(1).pdfTALLER DE ANALISIS SOLUCION  PART 2 (1)(1).pdf
TALLER DE ANALISIS SOLUCION PART 2 (1)(1).pdfjuanjose20102
 
TALLER DE ANALISIS SOLUCION PART 2 (1)(1).pdf
TALLER DE ANALISIS SOLUCION  PART 2 (1)(1).pdfTALLER DE ANALISIS SOLUCION  PART 2 (1)(1).pdf
TALLER DE ANALISIS SOLUCION PART 2 (1)(1).pdfMattJosu
 
TALLER DE ANALISIS SOLUCION PART 2 tecnologia
TALLER DE ANALISIS SOLUCION  PART 2 tecnologiaTALLER DE ANALISIS SOLUCION  PART 2 tecnologia
TALLER DE ANALISIS SOLUCION PART 2 tecnologialugosaldarriagasamue
 
Proyecto Grado Ingenieria
Proyecto Grado IngenieriaProyecto Grado Ingenieria
Proyecto Grado IngenieriaLuis Vasquez
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Manual de Uso Detallado de Proteus
Manual de Uso Detallado de ProteusManual de Uso Detallado de Proteus
Manual de Uso Detallado de ProteusPaolaPerez263
 
Computadores- otros dispositivos y accesorios
Computadores- otros dispositivos y accesoriosComputadores- otros dispositivos y accesorios
Computadores- otros dispositivos y accesoriosRonaldoForonda
 
Unidad 4 otros dispositivos y accesorios
Unidad 4   otros dispositivos y accesoriosUnidad 4   otros dispositivos y accesorios
Unidad 4 otros dispositivos y accesoriosSergeij Hernandez Prada
 
Proyecto 1 b. definición de dispositivos tecnológicos en las aulas.
Proyecto 1 b. definición de dispositivos tecnológicos en las aulas.Proyecto 1 b. definición de dispositivos tecnológicos en las aulas.
Proyecto 1 b. definición de dispositivos tecnológicos en las aulas.AlexandraTG
 
TALLER DE ANALISIS SOLUCION PART 2.docx
TALLER DE ANALISIS SOLUCION  PART 2.docxTALLER DE ANALISIS SOLUCION  PART 2.docx
TALLER DE ANALISIS SOLUCION PART 2.docxsamucrack115
 
Tendencias tecnologicas
Tendencias tecnologicasTendencias tecnologicas
Tendencias tecnologicasFabian Solis
 
Electrónica: Proteus primeros pasos con la pestana diseñador grafico parte 1
Electrónica: Proteus primeros pasos con la pestana diseñador grafico parte 1Electrónica: Proteus primeros pasos con la pestana diseñador grafico parte 1
Electrónica: Proteus primeros pasos con la pestana diseñador grafico parte 1SANTIAGO PABLO ALBERTO
 
dsi_tp_1515_1516_microcontroller_development_systems_es_screen.pdf
dsi_tp_1515_1516_microcontroller_development_systems_es_screen.pdfdsi_tp_1515_1516_microcontroller_development_systems_es_screen.pdf
dsi_tp_1515_1516_microcontroller_development_systems_es_screen.pdfEloyChoque1
 

Similar a InfoDT (20)

TALLER DE ANALISIS SOLUCION PART 2 (1)(1).pdf
TALLER DE ANALISIS SOLUCION  PART 2 (1)(1).pdfTALLER DE ANALISIS SOLUCION  PART 2 (1)(1).pdf
TALLER DE ANALISIS SOLUCION PART 2 (1)(1).pdf
 
TALLER DE ANALISIS SOLUCION PART 2 (1)(1).pdf
TALLER DE ANALISIS SOLUCION  PART 2 (1)(1).pdfTALLER DE ANALISIS SOLUCION  PART 2 (1)(1).pdf
TALLER DE ANALISIS SOLUCION PART 2 (1)(1).pdf
 
TALLER DE ANALISIS SOLUCION PART 2 (1)(1).pdf
TALLER DE ANALISIS SOLUCION  PART 2 (1)(1).pdfTALLER DE ANALISIS SOLUCION  PART 2 (1)(1).pdf
TALLER DE ANALISIS SOLUCION PART 2 (1)(1).pdf
 
TALLER DE ANALISIS SOLUCION PART 2 tecnologia
TALLER DE ANALISIS SOLUCION  PART 2 tecnologiaTALLER DE ANALISIS SOLUCION  PART 2 tecnologia
TALLER DE ANALISIS SOLUCION PART 2 tecnologia
 
Proyecto Grado Ingenieria
Proyecto Grado IngenieriaProyecto Grado Ingenieria
Proyecto Grado Ingenieria
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
2-CapaPercepción.pdf
2-CapaPercepción.pdf2-CapaPercepción.pdf
2-CapaPercepción.pdf
 
Portafolio 1
Portafolio 1Portafolio 1
Portafolio 1
 
Manual de Uso Detallado de Proteus
Manual de Uso Detallado de ProteusManual de Uso Detallado de Proteus
Manual de Uso Detallado de Proteus
 
Computadores- otros dispositivos y accesorios
Computadores- otros dispositivos y accesoriosComputadores- otros dispositivos y accesorios
Computadores- otros dispositivos y accesorios
 
Unidad 4 otros dispositivos y accesorios
Unidad 4   otros dispositivos y accesoriosUnidad 4   otros dispositivos y accesorios
Unidad 4 otros dispositivos y accesorios
 
Proyecto 1 b. definición de dispositivos tecnológicos en las aulas.
Proyecto 1 b. definición de dispositivos tecnológicos en las aulas.Proyecto 1 b. definición de dispositivos tecnológicos en las aulas.
Proyecto 1 b. definición de dispositivos tecnológicos en las aulas.
 
Compaq presario cq43 210
Compaq presario cq43 210 Compaq presario cq43 210
Compaq presario cq43 210
 
TALLER DE ANALISIS SOLUCION PART 2.docx
TALLER DE ANALISIS SOLUCION  PART 2.docxTALLER DE ANALISIS SOLUCION  PART 2.docx
TALLER DE ANALISIS SOLUCION PART 2.docx
 
Lección 2
Lección 2Lección 2
Lección 2
 
Proyecto final11111
Proyecto final11111Proyecto final11111
Proyecto final11111
 
Tendencias tecnologicas
Tendencias tecnologicasTendencias tecnologicas
Tendencias tecnologicas
 
Electrónica: Proteus primeros pasos con la pestana diseñador grafico parte 1
Electrónica: Proteus primeros pasos con la pestana diseñador grafico parte 1Electrónica: Proteus primeros pasos con la pestana diseñador grafico parte 1
Electrónica: Proteus primeros pasos con la pestana diseñador grafico parte 1
 
dsi_tp_1515_1516_microcontroller_development_systems_es_screen.pdf
dsi_tp_1515_1516_microcontroller_development_systems_es_screen.pdfdsi_tp_1515_1516_microcontroller_development_systems_es_screen.pdf
dsi_tp_1515_1516_microcontroller_development_systems_es_screen.pdf
 
Portafolio
PortafolioPortafolio
Portafolio
 

Último

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (16)

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

InfoDT

  • 1. CATEDRATICO: Ing. Octavio Morales Domínguez MATERIAS: Sistemas Programables Y Diseño De Interfaces CARRERA: Ingeniería en Sistemas Computacionales NOMBRE DEL PROYECTO: InfoDT NOMBRE DEL ALUMNO: Arguello Pulido Yaneth Del Rosario 12700168 Jiménez Navarro Juana Gabriela 12700177 Vera Martínez Ana Laura 12700199 Guzmán Jiménez Celia 12700175 COMITÁN DE DOMÍNGUEZ, CHIAPAS, 05 de junio de 2015 TECNOLÓGICO NACIONAL DE MÉXICO Instituto Tecnológico de Comitán
  • 2. INDICE Introducción --------------------------------------------------------------------------------------- 3 Descripción y justificación ------------------------------------------------------------------- 3 Objetivo general ---------------------------------------------------------------------------------- 3 Objetivos específicos --------------------------------------------------------------------------- 4 Capítulo 1 lenguajes de programación, Raspberry, pantallas y sensores capacitivos 1.1 Pantallas led -------------------------------------------------------------------------- 5 1.2 Raspberry Pi -------------------------------------------------------------------------- 7 1.3 Python ---------------------------------------------------------------------------------- 8 1.4 Php -------------------------------------------------------------------------------------- 10 1.5 MySQL --------------------------------------------------------------------------------- 11 1.6 Sensores capacitivos --------------------------------------------------------------- 13 Capítulo 2 conexión entre lenguajes de programación 2.1 Cuadro comparativo Raspberry vs Arduino ---------------------------------- 15 2.2 Raspberry – phyton ----------------------------------------------------------------- 16 2.3 Conexión Phyton- MySQL -------------------------------------------------------- 18 2.4 Conexión PHP-MySQL ------------------------------------------------------------- 19 2.5 Conexión Raspberry – Pantallas led -------------------------------------------- 20 Anexos ---------------------------------------------------------------------------------------------- 23
  • 3. 3 INTRODUCCION. InfoDT tiene la finalidad de interconectar a los alumnos con una tecnología aun no implementada en el Instituto Tecnológico de Comitán por medio de una interfaz de usuario, de manera que la información que maneja el instituto en su página web (avisos, convocatorias, eventos, etc.) se refleje en una pantalla con tecnología touchscreen. La cual estará conectada a la red de la institución, de esta manera lo que las diferentes interfaces contengan se actualizarán en el momento que se requiera publicar un tipo de acontecimiento importante sucedido en el transcurso de esa semana. InfoDT será una forma de utilización en el uso de las tecnologías de información y comunicación, cuyo desarrollo estará realizada por alumnos del Tecnológico. DESCRIPCION Y JUSTIFICACION. InfoDT está conformada por una pantalla touchscreen que funciona con un simulador de raspberry, su interface será programada en el lenguaje de python que estará conectada con una base de datos referente a la información y actualización que se le sea asignada desde una página web administrador, la conexión de este será posible desde el servidor del instituto. Esto solución se realizó en base a una de las necesidades que el Tecnológico presenta ya que si en algún momento el director desea dar a conocer los eventos que se realizaron o realizaran, publicaran una convocatoria o un aviso de un acontecimiento importante impreso en documentos para que estos sean pegados en una “vitrina” o en las puertas de las aulas, dejando al alumnado facilidad de que rompa, pinte o quite por completo el documento, no obteniendo su propósito que trata de que la escuela este informanda completamente, InfoDT facilita la publicación de dichos documentos de una forma más interactiva, atractiva y porque no divertida. Se podrá observar la aplicación de las tecnologías de la información y evitara el uso de la hoja de papel y aportando a la no contaminación. OBJETIVO GENERAL. Diseñar una interfaz gráfica con la capacidad de actualizar sus contenido mediante una base de datos, esta base estará contenida por la información de una página web administrador en la cual se podrá subir archivos, editar y eliminar. OBJETIVOS ESPECIFICOS.
  • 4. 4 Diseñar una interfaz programada en el lenguaje de Python. Diseñar una página web administrador que contenga información del Instituto Tecnológico de Comitán. Realizar una base de datos que almacene información de la página web admin que estará hospedada en un servidor. Conectar la base de datos a la interfaz de Python con la página web para la realización de actualizaciones. Conectar a la red del instituto la interfaz gráfica para realizar la conexión a la base de datos y este a su vez conectarla a la página web admin. Evaluar la implementación del prototipo y analizar posibles fallos en el sistema. Interfaz gráfica con la capacidad de interactuar con usuarios. Capítulo 1 lenguajes de programación, Raspberry, pantallas y sensores capacitivos Lo que a continuación podremos observar son los lenguajes de programación que necesitaremos para llevar a cabo nuestro proyecto, además de las cuestiones físicas como son la pantalla, la placa Raspberry y los sensores para proyectar lo que deseemos, estos lenguajes de programación aunque son diferentes son capaces de conectarse unos con otros que es lo que requerimos
  • 5. 5 1.1 PANTALLA LED Es un dispositivo de salida, que muestra datos o información al usuario, que se caracteriza por estar compuesto por diodos emisores de luz o ledes La pantalla se compone de paneles o módulos de ledes (diodos emisores de luz), bien sea monocromáticos o policromáticos: estos últimos se conforman a su vez con ledes RGB (los colores primarios de la luz), o configuraciones diversas ajustadas a la aplicación. Dichos módulos en conjunto forman píxeles, lo que permite formar caracteres, textos, imágenes y hasta vídeo, dependiendo de la complejidad de la pantalla y el dispositivo de control. Los usos más frecuentes para las pantallas LED son: paneles indicadores, informativos, publicitarios y de alta resolución de vídeo a todo color (en conciertos, actos públicos), esto es debido a su gran resistencia al aire libre, su fácil fabricación y mantenimiento y a su bajo consumo. Pantallas gigantes de LED Las pantallas gigantes LED regularmente se montan de una forma modular, con propósito de facilitar y abaratar su fabricación, transporte, montado y mantenimiento. Un Módulo o Gabinete tiene ciertas características que se suman al montar varios Módulos / Gabinetes. Las características principales son la distancia entre módulos (pitch) (mm), el tipo y configuración de ledes (Led oval, SMD, Brillo), la resolución (en función de la cantidad de píxeles y la tecnología usada), la potencia máxima (vatios) y la protección (resistencia a las inclemencias atmosféricas). La imagen 1.2 nos muestra una pantalla gigante de led. (WIKIPEDIA, 2015) 1.2 Las Pantallas electrónicas de LED para exterior se leen perfectamente cuando la luz de sol hace contacto con la pantalla
  • 6. 6 Pantallas Electrónicas de LED Gigantes con Píxeles Virtuales ¿Porque las pantallas electrónicas de LED gigantes usan Tecnología de Píxel Virtual? ¿Y que es exactamente el Píxel Virtual? Estas son preguntas muy comunes cuando usted aborda la industria de pantallas electrónicas de LED por primera vez. La respuesta puede no apreciarse clara al principio pero en realidad es muy simple una vez entendiendo unos pocos principios básicos. ¿Que es el Píxel Virtual? El Píxel Virtual es una característica administra-video que permite un incremento del 400% en la calidad de imágenes. Así es, 400%. Es obvio porque fabricantes lo usan: lo usan para mostrar mejor calidad, imágenes más realistas. Pero, antes que nada, ¿porque una pantalla electrónica de LED's requiere incrementar la calidad de imagen por medio de una característica de administración? Es muy sencillo: a pesar de su gran tamaño, una pantalla electrónica de LED normalmente tiene menos píxeles que una pantalla de una compotadora o PC ordinaria como la que esta viendo en este momento. ¿Como es esto posible? Porque en una pantalla electrónica de LED, la distancia entre 2 píxeles puede ser de hasta 30mm o incluso mas. Como consecuencia, en una pantalla ordinaria de PC puede tener 1024 x 768 píxeles físicas o mas mientras que en una pantalla gigante de LED de 4x3 puede tener 192 x 144 píxeles físicas. En la imagen 1.3 podremos observar una pantalla de led y la alta definición que esta tiene además de ciertas características que posee. (leds, 2011) 1.3 Opción para mostrar reloj y temperatura. Alta definición de imagen, tecnología RGB (hasta 281 trillones de colores), corrección de color, ajuste de brillantez, señal de entrada en video
  • 7. 7 1.2 RASPBERRY PI El Raspberry Pi es una computadora completamente funcional. Tiene todas las características de un ordenador, con un procesador dedicado, la memoria, y un controlador de gráficos para la salida a través de HDMI. Incluso puede funcionar una versión especialmente diseñada del sistema operativo Linux. Eso hace que sea fácil de instalar más software de Linux y le permite utilizar el Pi como un streamer de medios de funcionamiento o videojuego emulador con un poco de esfuerzo. Aunque el Pi no ofrece almacenamiento interno, puede utilizar tarjetas SD como la memoria flash para todo el sistema, lo que le permite cambiar rápidamente las diferentes versiones de los sistemas operativos o actualizaciones de software de depurar. Debido a la conectividad de red independiente del dispositivo, también puede configurarlo para acceder a través de SSH, o transferir archivos a la misma a través de FTP. Raspberry Pi puede procesar varias tareas — éste puede ejecutar múltiples programas en segundo plano mientras está activado. Por ejemplo, puede estar funcionando como un servidor de impresión y un servidor VPN al mismo tiempo. Diseño. El Raspberry pi cuenta con un diseño que incluye un System-on-a-chip Broadcom BCM2835, que contiene un procesador central (CPU) ARM1176JZF-S a 700 MHz (el firmware incluye unos modos “Turbo” para que el usuario pueda hacerle overclock de hasta 1 GHz sin perder la garantía) ,9 un procesador gráfico (GPU) VideoCore IV, y 512 MB de memoria RAM (aunque originalmente al ser lanzado eran 256 MB). El diseño no incluye un disco duro ni unidad de estado sólido, ya que usa una tarjeta SD para el almacenamiento permanente; tampoco incluye fuente de alimentación ni carcasa. El 29 de febrero de 2012 la fundación empezó a aceptar órdenes de compra del modelo B, y el 4 de febrero de 2013 del modelo A.1 10 11. La fundación da soporte para las descargas de las distribuciones para arquitectura ARM, Raspbian (derivada de Debian), RISC OS 5, Arch Linux ARM (derivado de Arch Linux) y Pidora (derivado de Fedora);2 y promueve principalmente el aprendizaje dellenguaje de programación Python.5 Otros lenguajes también soportados son Tiny BASIC,12 C, Perl5 y Ruby.13. en la imagen 1.4 podemos observar el raspberry y sus inicios. 1.4 En 2006, los primeros diseños de Raspberry Pi se basaban en el microcontrolador Atmel ATmega644
  • 8. 8 1.3 PYTHON Python es un lenguaje de programación creado por Guido van Rossum a principios de los años 90 cuyo nombre está inspirado en el grupo de cómicos ingleses “Monty Python”. Es un lenguaje de programación multipropósito de alto nivel Su filosofía de diseño enfatiza la productividad del programador y la legibilidad del código. Tiene un núcleo sintáctico minimalista con unos pocos comandos básicos y simple semántica, pero además tiene una enorme y variada librería estándar, que incluye una Interfaz de Programación de Aplicaciones (API) para muchas de las funciones en el nivel del sistema operativo (OS). El código Python, aunque minimalista, define objetos incorporados como listas enlazadas, tuplas, tablas hash, y enteros de longitud arbitraria, es un lenguaje interpretado o de script, con tipado dinámico, fuertemente tipado, multiplataforma y orientado a objetos. Es un lenguaje que todo el mundo debería conocer. Su sintaxis simple, clara y sencilla; el tipado dinámico, el gestor de memoria, la gran cantidad de librerías disponibles y la potencia del lenguaje, entre otros, hacen que desarrollar una aplicación en Python sea sencillo, muy rápido y, lo que es más importante, divertido. La sintaxis de Python es tan sencilla y cercana al lenguaje natural que los programas elaborados en Python parecen pseudocódigo. Por este motivo se trata además de uno de los mejores lenguajes para comenzar a programar. Lenguaje interpretado o de script Un lenguaje interpretado o de script es aquel que se ejecuta utilizando un programa intermedio llamado intérprete, en lugar de compilar el código a lenguaje máquina que pueda comprender y ejecutar directa- mente una computadora (lenguajes compilados). La ventaja de los lenguajes compilados es que su ejecución es más rápida. Sin embargo los lenguajes interpretados son más flexibles y más portables. En la imagen 1.5 podremos observar una de las ventajas que este nos ofrece es decir probar porciones de código en el modo interactivo antes de integrarlo como parte del programa 1.5 Las expresiones pueden ser introducidas una a una, pudiendo verse el resultado de su evaluación inmediatamente.
  • 9. 9 Tipado dinámico La característica de tipado dinámico se refiere a que no es necesario declarar el tipo de dato que va a contener una determinada variable, sino que su tipo se determinará en tiempo de ejecución según el tipo del valor al que se asigne, y el tipo de esta variable puede cambiar si se le asigna un valor de otro tipo. Fuertemente tipado No se permite tratar a una variable como si fuera de un tipo distinto al que tiene, es necesario convertir de forma explícita dicha variable al nuevo tipo previamente. Por ejemplo, si tenemos una variable que contiene un texto (variable de tipo cadena o string) no podremos tratarla como un número (sumar la cadena “9” y el número 8). En otros lenguajes el tipo de la variable cambiaría para adaptarse al comporta- miento esperado, aunque esto es más propenso a errores. Multiplataforma. El intérprete de Python está disponible en multitud de plataformas (UNIX, Solaris, Linux, DOS, Windows, OS/2, Mac OS, etc.) por lo que si no utilizamos librerías específicas de cada plataforma nuestro programa podrá correr en todos estos sistemas sin grandes cambios. Orientado a objetos. La orientación a objetos es un paradigma de programación en el que los conceptos del mundo real relevantes para nuestro problema se trasladan a clases y objetos en nuestro programa. La ejecución del programa consiste en una serie de interacciones entre los objetos. Python también permite la programación imperativa, programación funcional y programación orientada a aspectos. Herramientas básicas Existen dos formas de ejecutar código Python. Podemos escribir líneas de código en el intérprete y obtener una respuesta del intérprete para cada línea (sesión interactiva) o bien podemos escribir el código de un programa en un archivo de texto y ejecutarlo. La función de autocompletado se lanza pulsando el tabulador. Si escribimos fi y pulsamos Tab nos mostrará una lista de los objetos que comienzan con fi (file, filter y finally). Si escribimos file. Y pulsamos Tab nos mostrará una lista de los métodos y propiedades del objeto file. En la imagen 1.5 observamos el logo y su filosofía que los desarrolladores de Python han creado. 1.6 El código que sigue los principios de Python de legibilidad y transparencia se dice que es "pythonico"
  • 10. 10 1.4 PHP PHP es un lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los datos. El código es interpretado por un servidor web con un módulo de procesador de PHP que genera la página Web resultante, Puede ser usado en la mayoría de los servidores web al igual que en casi todos los sistemas operativos y plataformas sin ningún costo Características Es considerado un lenguaje fácil de aprender, ya que en su desarrollo se simplificaron distintas especificaciones, como es el caso de la definición de las variables primitivas, ejemplo que se hace evidente en el uso de php arrays. El código fuente escrito en PHP es invisible al navegador web y al cliente, ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura y confiable. Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL. Capacidad de expandir su potencial utilizando módulos (llamados ext's o extensiones). Posee una amplia documentación en su sitio web oficial, entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda. Es libre, por lo que se presenta como una alternativa de fácil acceso para todos. Permite aplicar técnicas de programación orientada a objetos. No requiere definición de tipos de variables aunque sus variables se pueden evaluar también por el tipo que estén manejando en tiempo de ejecución. Tiene manejo de excepciones (desde PHP5). 1.7 PHP puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno
  • 11. 11 Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar, aun haciéndolo, el programador puede aplicar en su trabajo cualquier técnica de programación o de desarrollo que le permita escribir código ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón de diseño Modelo Vista Controlador (MVC), que permiten separar el tratamiento y acceso a los datos, la lógica de control y la interfaz de usuario en tres componentes independientes. Debido a su flexibilidad ha tenido una gran acogida como lenguaje base para las aplicaciones WEB de manejo de contenido, y es su uso principal. (wikipedia, 2015) PHP ofrece tres APIs diferentes para conectarse a MySQL. Cada trozo de código crea una conexión al servidor de MySQL que se está ejecutando en "ejemplo.com" usando el nombre de usuario "usuario" y la contraseña "contraseña". Y se ejecuta una consulta para saludar al usuario. En la imagen 1. 7 podemos encontrar una de las características muy importantes de php. (php, 2001-2015) 1.5 MYSQL Es un sistema de administración de bases de datos. Una base de datos es una colección estructurada de tablas que contienen datos ofrece una variedad de funciones; su conectividad, velocidad y seguridad lo hacen altamente satisfactorio para accesar bases de datos en Internet. Permite realizar tareas administrativas  administración de usuarios  monitorización del estado del servidor, incluyendo estadísticas de uso  visualización de los logs de servidor  gestión de copias de seguridad y recuperaciones  visualización de catálogos de datos. 1.8 Orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una base de datos.
  • 12. 12 Se aplicará los elementos básicos de MySQL para la creación y explotación de bases de datos; asimismo, se implementará mecanismos de seguridad para realizar la administración y mantenimiento. En la imagen 1.9 vemos una de las ventajas que tiene MySQL con aplicaciones web. Características adicionales Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente. Disponibilidad en gran cantidad de plataformas y sistemas. Posibilidad de selección de mecanismos de almacenamiento que ofrecen diferentes velocidades de operación, soporte físico, capacidad, distribución geográfica, transacciones... Transacciones y claves foráneas. Conectividad segura. Replicación. Búsqueda e indexación de campos de texto. Completo soporte para operadores y funciones en cláusulas select y where. Completo soporte para cláusulas group by y order by, soporte de funciones de agrupación Seguridad: ofrece un sistema de contraseñas y privilegios seguro mediante verificación basada en el host y el tráfico de contraseñas está cifrado al conectarse a un servidor. 1.9 En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones.
  • 13. 13 Soporta gran cantidad de datos. MySQL Server tiene bases de datos de hasta 50 millones de registros. Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice puede consistir desde 1 hasta 16 columnas o partes de columnas. El máximo ancho de límite son 1000 bytes (500 antes de MySQL 4.1.2). Los clientes se conectan al servidor MySQL usando sockets TCP/IP en cualquier plataforma. En sistemas Windows se pueden conectar usando named pipes y en sistemas Unix usando ficheros socket Unix. En MySQL 5.0, los clientes y servidores Windows se pueden conectar usando memoria compartida. MySQL contiene su propio paquete de pruebas de rendimiento proporcionado con el código fuente de la distribución de MySQL 1.6SENSORES CAPACITIVOS Los sensores capacitivos (KAS) reaccionan ante metales y no metales que al aproximarse a la superficie activa sobrepasan una determinada capacidad. La distancia de conexión respecto a un determinado material es tanto mayor cuanto más elevada sea su constante dieléctrica. Funcionan a medida que el objetivo se va a acercando al sensor las oscilaciones del mismo aumentan hasta que llega a un límite que activa el circuito que dispara las alarmas. Los sensores capacitivos, debemos decir que en un principio éstos constan de una sonda que se encuentra situada en la cara posterior en donde se encuentra colocada una placa condensadora, y al aplicar una corriente al sensor por más mínima que sea, se produce una especie de campo electroestático cuya 1.10 Permite escoger entre múltiples motores de almacenamiento para cada tabla. En MySQL 5.0 éstos debían añadirse en tiempo de compilación, a partir de MySQL 5.1 se pueden añadir dinámicamente en tiempo de ejecución.
  • 14. 14 reacción se produce frente a los cambios de la capacitancia provocados por la presencia de un objeto cualquiera. Como el cuerpo humano es también un conductor eléctrico, tocando la superficie de la pantalla resulta una distorsión del campo electrostático de la pantalla, la cual es medida por el cambio de capacitancia (capacidad eléctrica) En el caso de que el objeto se encuentre fuera del campo electroestático entonces el oscilador de los sensores capacitivos se encontrará inactivo Cualquier objeto que se aproxima suficientemente a un sensor capacitivo, este actúa como otro condensador. Esto es debido a la naturaleza dieléctrica del sensor, que varía la capacitancia del sistema utilizado. La placa paralela está conectada a la entrada de sensor del chip en tanto que el objeto actúa como otra placa paralela. Un sistema de detección estándar se compone de tres bloques funcionales:  Un bloque analógico para detección capacitiva  Un controlador para procesar los datos  Un bloque de interfaz para la comunicación con un procesador host 1.11 Este tipo de sensores tienen la ventaja de que detectan la proximidad de objetos de cualquier naturaleza 1.12 la sensibilidad disminuye bastante cuando la distancia es superior a algunos milímetros
  • 15. 15 Capítulo 2 conexión entre lenguajes de programación 1.13 Cuadro comparativo Raspberry vs Arduino Características Dispositivo Arduino Raspberry Pi modelo B Precio en dólares $30 $35 Tamaño 7.6 x 1.9 x 6.4 cm 8.6cm x 5.4cm x 1.7cm Memoria 0.002MB 512MB Velocidad de reloj 16 MHz 700 MHz On Board Network Ninguna 10/100 wired Ethernet RJ45 Multitarea No Sí Voltaje de entrada 7 a 12 V 5 V Memoria Flash 32KB Tarjeta SD (2 a 16G) Puertos USB Uno Dos Sistema operativo Ninguno Distribuciones de Linux Entorno de desarrollo integrado (IDE) Arduino Scratch, IDLE, cualquiera con soporte Linux
  • 16. 16 2.2 Raspberry Pi-Python. Para instalar la biblioteca del GPIO de Python es necesario introducir en la terminal las siguientes instrucciones. 1 2 3 sudo apt-get update sudo apt-get install python-dev sudo apt-get install python-rpi.gpio Una vez instalada la biblioteca ya podemos hacer uso de la misma para scripts en Python. Para comenzar con un script vamos a escribir en la terminal: 1 Sudo idle Se abrirá una pestaña de IDLE para scripts en Python, damos clic en nuevo y es ahí donde podemos comenzar a escribir nuestro script. 1 import RPi.GPIO as GPIO Importa la biblioteca para poder hacer uso del GPIO, esta instrucción siempre tiene que ir al inicio de nuestro script si haremos uso del GPIO. 1 2 <pre>GPIO.setmode(GPIO.BOARD) GPIO.setmode(GPIO.BCM) Una vez importada la biblioteca, el siguiente paso es seleccionar el tipo de etiquetas que llevaran los pines, en este caso tenemos la opción “BOARD” la cual asigna las etiquetas correspondientes a la numeración de los pines según el conector, siendo del 1 al 26, y la opción “BCM” es la etiqueta del pin del procesador de la tarjeta, esta suele tener los nombres como, 5V, 3.3V, GND, GPIO14 UART0_TXD, GPIO1 I2C0_SDA, etc… El inconventiente del BCM es que las etiquetas ya han cambiado para la revisión B de la tarjeta. Es por eso que se debe tener siempre a la mano una hoja impresa con el nombre de los pines de la tarjeta. (Rossum, 2009) En Python, el acceso a bases de datos se encuentra definido a modo de estándar en las especificaciones de DB-API, que puedes leer en la PEP 249. Esto, significa que independientemente de la base de datos que utilicemos, los métodos y
  • 17. 17 procesos de conexión, lectura y escritura de datos, desde Python, siempre serán los mismos, más allá del conector. En nuestro caso particular, utilizaremos MySQL, para lo cual, vamos a trabajar con el módulo MySQLdb. A diferencia de los módulos de la librería estándar de Python, MySQLdb debe ser instalado manualmente El estándar de Python para las interfaces de bases de datos es el Python DB-API. La mayoría de las interfaces de bases de datos de Python se adhieren a este estándar, por lo que dicho API es compatible con una amplia gama de servidores de bases de datos, entre ellos: Gadfly MySQL MySQL PostgreSQL Microsoft SQL Server 2000 Informix Interbase Oracle Sybase Structured Query Language (SQL) SQL es el lenguaje de consulta estructurado utilizado para el acceso a bases de datos relacionales. Si bien SQL como lenguaje, posee ciertos estándares, el lenguaje de consulta en sí, varía para cada base de datos en particular, siendo el tratado en este ejemplo, el correspondiente a MySQL. MySQL es un sistema de gestión de bases de datos relacionales, libre y que puede ser instalado en múltiples plataformas. MySQLdb es una interfaz para trabajar con bases de datos MySQL desde Python. (Bahit, 2011-2013)
  • 18. 18 2.3 CONEXIÓN PHYTON- MYSQL Para conectarnos a la base de datos y ejecutar cualquier consulta, el procedimiento consiste en: 1. Abrir la conexión y crear un puntero 2. Ejecutar la consulta 3. Traer los resultados (si de una selección se trata) o hacer efectiva la escritura (cuando se inserta, actualiza o eliminan datos) 4. Cerrar el puntero y la conexión import MySQLdb DB_HOST = 'localhost' DB_USER = 'root' DB_PASS = 'mysqlroot' DB_NAME = 'a' def run_query(query=''): datos = [DB_HOST, DB_USER, DB_PASS, DB_NAME] conn = MySQLdb.connect(*datos) # Conectar a la base de datos cursor = conn.cursor() # Crear un cursor cursor.execute(query) # Ejecutar una consulta if query.upper().startswith('SELECT'): data = cursor.fetchall() # Traer los resultados de un select else: conn.commit() # Hacer efectiva la escritura de datos
  • 19. 19 data = None cursor.close() # Cerrar el cursor conn.close() # Cerrar la conexión return data (Bahit, LIBROSWEB, 2011-2013) 2.4 CONEXIÓN PHP-MYSQL <?php $enlace = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mys ql'); if (!$enlace) { die('No pudo conectarse: ' . mysql_error()); } echo 'Conectado satisfactoriamente'; mysql_close($enlace); ?> Parámetros server El servidor MySQL. También se puede incluir un número de puerto. P.ej. "nombre_anfitrión:puerto" o una ruta a un socket local, p.ej. ":/ruta/al/socket" para el servidor local. Si la directiva PHP mysql.default_host no está definida (por defecto), el valor por defecto es 'localhost:3306'. En modo seguro de SQL, éste parámetro es ignorado y siempre se usa el valor 'localhost:3306'. username El nombre de usuario. El valor por defecto está definido por mysql.default_user. En modo seguro de SQL, éste parámetro es ignorado y se usa el nombre de usuario que posee el proceso del servidor. password
  • 20. 20 La contraseña. El valor por defecto está definido por mysql.default_password. En modo seguro de SQL, éste parámetro es ignorado y se usa la contraseña vacía. new_link Si se realiza una segunda llamada a mysql_connect() con los mismos argumentos, un nuevo enlace no será establecido, pero en su lugar, será devuelto el identificador de enlace del enlace ya abierto. El parámetro new_link modifica éste comportamiento y hace que mysql_connect() siempre abra un nuevo enlace, aun si mysql_connect() fue llamada antes con los mismos parámetros. En modo seguro de SQL, éste parámetro es ignorado. client_flags El parámetro client_flags puede ser una combinación de las siguientes constantes: 128 (habilita el manejo de LOAD DATA LOCAL), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE o MYSQL_CLIENT_INTERACTIVE. Lea la sección sobre Constantes del cliente MySQL para más información. En modo seguro de SQL, éste parámetro es ignorado. Valores devueltos Devuelve un identificador de enlace de MySQL en caso de éxito o FALSE en caso de error. 2.5 CONEXIÓN RASPBERRY- PANTALLA LED 2.5.1 Disponemos de: · Dos buses USB. · Puerto ethernet RJ-45. · Salida analógica de audio estereo por jack de 3.5 mm. · Salida digital de video + audio HDMI. · Salida analógica de video RCA. · Pines de entrada y salida de propósito general.
  • 21. 21 2.5.2 ¿Qué necesitamos? Como mínimo para dejar la placa funcionando es necesario: · Placa Raspberry Pi · Tarjeta SD de al menos 4 Gb · Adaptador de alimentación USB · Cable micro-USB 2.5.3 Para instalar el sistema operativo además necesitamos: · Ordenador · Lector de tarjetas SD 2.5.4 Para poder conectar dispositivos USB (discos duros, teclado, ratón) deberemos tener: · Hub USB alimentado 2.5.5 Para poder conectar la placa a una pantalla hace falta: · Cable HDMI o bien adaptador activo de HDMI a VGA
  • 22. 22 1.14 Tenemos dos formas de usar la placa: conectando una pantalla y los periféricos de entrada o de forma remota con SSH 1.15 los cables adaptadores y los adaptadores pasivos no funcionarán debido a que por la salida HDMI de la Raspberry Pi no hay componente analógica alguna
  • 23. 23 ANEXOS 1.16 deberá ir conectado a una fuente de 5 V como es cualquier salida USB
  • 24. 24
  • 25. 25
  • 26. 26
  • 27. 27
  • 28. 28 BIBLIOGRAFÍA alfonso, c. o. (10 de 04 de 2005-2015). MOZILLA DEVELOPER NETWORK . Obtenido de https://developer.mozilla.org/es/docs/HTML/HTML5 Bahit, E. (20 de diciembre de 2011-2013). LIBROSWEB. Obtenido de https://librosweb.es/libro/python/capitulo_12.html Bourque, B. (08 de marzo de 2015). ARDUINO VS. RASPBERRY PI. Obtenido de http://www.digitaltrends.com/computing/arduino-vs-raspberry-pi/ Duque, R. G. (2012). python para todos. Obtenido de http://www.ceibal.edu.uy/contenidos/areas_conocimiento/aportes/python_para_todos.p df Guiu, D. (10 de 08 de 2012). SOCIALETIC. Obtenido de http://www.socialetic.com/que-es- html5.html Karl Wright, R. C. (02 de diciembre de 2012). The Raspberry Pi Education Manua. EUA: BCS. leds, p. p. (mayo de 2011). Usos y caracteristicas de las pantallas de LED. Recuperado el 20 de mayo de 2015, de http://pantallasdeledspublicitarias.blogspot.mx/2011/05/usos-y- caracteristicas-de-las-pantallas.html php. (2001-2015). my php. Obtenido de http://php.net/manual/es/mysqlinfo.api.choosing.php Rossum, G. v. (septiembre de 2009). EL TUTORIAL DE PYTHON. Obtenido de http://docs.python.org.ar/tutorial/pdfs/TutorialPython2.pdf Vega, J. V. (2014). virtualtec. Obtenido de http://virtualtec.cl/manual-de-html5-y-css3/ WIKIPEDIA. (25 de abril de 2015). Pantalla LED. Obtenido de http://es.wikipedia.org/wiki/Pantalla_LED wikipedia. (29 de abril de 2015). PHP. Obtenido de http://es.wikipedia.org/wiki/PHP Torres, H. (23 de abril de 2014). HETPro. Recuperado el 20 de mayo de 2015, de http://hetpro- store.com/TUTORIALES/python-gpio-led/