[go: up one dir, main page]

0% encontró este documento útil (0 votos)
83 vistas12 páginas

Lamp y MQTT

Este documento describe el proceso de instalación de LAMP server y MQTT en Raspberry Pi. Explica las características de Raspberry Pi y sus componentes. Luego describe cada parte de LAMP (Linux, Apache, MySQL y PHP) y MQTT. Finalmente, detalla los pasos para instalar estos sistemas en Raspberry Pi, incluyendo conocer sus características e interpretar el proceso de instalación.

Cargado por

Henry Pastuña
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
83 vistas12 páginas

Lamp y MQTT

Este documento describe el proceso de instalación de LAMP server y MQTT en Raspberry Pi. Explica las características de Raspberry Pi y sus componentes. Luego describe cada parte de LAMP (Linux, Apache, MySQL y PHP) y MQTT. Finalmente, detalla los pasos para instalar estos sistemas en Raspberry Pi, incluyendo conocer sus características e interpretar el proceso de instalación.

Cargado por

Henry Pastuña
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA


E INDUSTRIAL
CARRERA DE INGENIERÍA EN ELECTRÓNICA Y
COMUNICACIONES

VLSI

Octavo” A”

Consulta N°

“Proceso de instalación de LAMP server y MQTT”

Integrante:
Miguel Bautista
Henry Pastuña
Karina Toaquiza

Fecha de Envío: Jueves, 07 de noviembre del 2019

Fecha de Entrega: Viernes, 08 de noviembre del 2019

Docente: Ing. Edgar Patricio Córdova Córdova

SEPTIEMBRE 2019 - ENERO 2020


AMBATO - ECUADOR
2019

1. TEMA
Proceso de instalación de LAMP server y MQTT

2. OBJETIVOS
a. Objetivo General

 Investigar sobre LAMP Y MQTT

b. Objetivos Específicos

 Conocer las características de Raspberry pi.


 Analizar las versiones de LAMP.
 Describir sobre MQTT.
 Interpretar los procesos de instalación de LAMP y MQTT en Raspberry pi.

3. FUNDAMENTACIÓN TEÓRICA

Raspberry PI

Figure 1. Raspberry PI

Raspberry PI es una mini computadora que funciona a 5VDC/2.5A, se trata de una diminuta placa
base de 85 x 54 milímetros en el que se aloja un chip Broadcom BCM2835 con procesador ARM
hasta a 1 GHz de velocidad, GPU VideoCore IV y hasta 512 Mbytes de memoria RAM.

Sus principales características son su tamaño reducido y gran capacidad de procesamiento. Por este
motivo es una de las tarjetas más usadas por desarrolladores de sistemas embebidos.
Una Raspberry es también un sistema digital de procesamiento y que funciona gracias a un sistema
operativo. Para empezar, se pueden elegir entre distintos tipos de sistemas operativos para
instalarlos en la Raspberry:

 NOOBS.
 RASPBIAN.
 UBUNTU MATE.
 WINDOWS 10 IOT MATE.
 OSMC, etc.

Accesorios indispensables para una Raspberry:

 Cargador de 5V/1A con salida a conector micro USB. Es importante señalar que si
requerirás de mucha capacidad de procesamiento (por ejemplo, usar opencv y una cámara),
es recomendable un cargador de 5V/2.5V.
 Cargador 5V/2.5A
 Cargador 5v/2A.
 Memoria microSD. Primero y para este apartado, es muy importante que sea categoría 10
(CLASS10). Esto significa, que requiere de una memoria veloz. Mínimo recomiendo una
memoria de 16Gb, pero si pueden conseguir una de 32Gb es mejor. Todo dependerá de la
aplicación que quieren realizar.
 Teclado y Mouse. Por lo tanto y al menos en la primera configuración siempre tengo que
conectar un mouse y un teclado para poder configurar a la raspberry PI para poder
controlarla remotamente vía algún VNC Viewer.

Accesorios opcionales pero recomendables.

 Disipadores. Para la raspberry PI 3 se requieren 3 disipadores. No son indispensables, pero


tu raspberry se puede sobre-calentar, entonces si los recomiendo.
 Carcasa protectora. Hay de muchos tipos, sabores y colores

Puertos de comunicación en una Raspberry

Raspberry tiene la capacidad de conexión con un monitor vía un puerto HDMI. Se puede conectar
nuestro monitor, televisor o incluso pantallas táctiles. De acuerdo al modelo de raspberry PI tendrás
distintas conexiones disponibles. Por ejemplo:[ CITATION Inv1 \l 12298 ]

 HDMI
 Jack de 3.5mm para salida de audio.
 Puertos USB.
 Puertos para cámara.
 I2C.
 SPI.
 Serial TTL.
 Pines entra/salida.
 Wifi.
 Bluetooth

SERVIDOR WEB

Servidor Web. Es un programa que gestiona cualquier aplicación en el lado del servidor realizando
conexiones bidireccionales y/o unidireccionales y síncronas o asíncronas con el cliente generando
una respuesta en cualquier lenguaje o aplicación en el lado del cliente. El código recibido por el
cliente suele ser compilado y ejecutado por un Navegador Web. Para la transmisión de todos estos
datos se utiliza algún protocolo. Generalmente se utiliza el protocolo HTTP para estas
comunicaciones, perteneciente a la capa de aplicación del Modelo OSI. El término también se
emplea para referirse al ordenador que ejecuta el programa.
Servidor LAMP

Figure 2. Logotipo Servidor Lamp

Se trata de una combinación muy popular en los servidores de Linux, que obedece al acrónimo de
Linux, Apache, MySQL y PHP.
Para los que tengáis dudas al respecto:

 Linux es el sistema operativo sobre el que trabaja.


 Apache 2 es el servidor web.
 MySQL es un gestor de bases de datos.
 PHP es un lenguaje de programación de webs dinámicas.

Si quieres crear una página web utilizando algún CMS (sistema de gestión de contenidos) como
WordPress y te planteas utilizar tu propio ordenador como servidor, necesitas sin duda que estén
disponibles todos estos elementos

Algunas de las ventajas que se obtienen de utilizar LAMP son:

 Soporte a gran cantidad de arquitecturas, como son Intel y compatibles, SPARC, Mips y PPC
(Macintosh).
 Código relativamente sencillo y con pocos cambios de una plataforma a otra.

 Parches generados en poco tiempo después de encontrarse un agujero de seguridad.

 Actualizaciones del software vía Internet.

 Posibilidad de incrementar los servicios y funciones desde el código fuente

LINUX

LINUX (o GNU/LINUX, más correctamente) es un Sistema Operativo como MacOS, DOS o


Windows. Es decir, Linux es el software necesario para que tu ordenador te permita utilizar programas
como: editores de texto, juegos, navegadores de Internet, etc. Linux puede usarse mediante un interfaz
gráfico al igual que Windows o MacOS, pero también puede usarse mediante línea de comandos como
DOS.

Linux tiene su origen en Unix. Éste apareció en los años sesenta, desarrollado por los investigadores
Dennis Ritchie y Ken Thompson, de los Laboratorios Telefónicos Bell.

Andrew Tanenbaum desarrolló un sistema operativo parecido a Unix (llamado Minix) para enseñar a
sus alumnos el diseño de un sistema operativo. Debido al enfoque docente de Minix, Tanenbaum nunca
permitió que éste fuera modificado, ya que podrían introducirse complicaciones en el sistema para sus
alumnos.

Un estudiante finlandés llamado Linus Torvalds, constatando que no era posible extender Minix,
decidió escribir su propio sistema operativo compatible con Unix.

En aquellos momentos el proyecto GNU (GNU's Not Unix), que Richard Stallman había iniciado hacía
ya casi diez años, comprendía un sistema básico casi completo. La excepción más importante era el
kernel o núcleo, que controla el hardware.

Torvalds decidió aprovechar el sistema GNU y completarlo con su propio núcleo, que bautizó como
Linux (Linux Is Not UniX). El sistema conjunto (herramientas GNU y núcleo Linux) forma lo que
llamamos GNU/Linux.

APACHE
Figure 3. Logotipo de Apache

Apache es un poderoso servidor web, cuyo nombre proviene de la frase inglesa “a patchy server” y es
completamente libre, ya que es un software Open Source y con licencia GPL. Una de las ventajas más
grandes de Apache, es que es un servidor web multiplataforma, es decir, puede trabajar con diferentes
sistemas operativos y mantener su excelente rendimiento.

Principales características de Apache

Entre las principales características de Apache, se encuentran las siguientes:


 Soporte de seguridad SSL y TLS.
 Puede realizar autentificación de datos utilizando SGDB.
 Puede dar soporte a diferentes lenguajes, como Perl, PHP, Python y tcl.

Usos de Apache

Apache es utilizado principalmente, para realizar servicio a páginas web, ya sean estáticas o dinámicas.
Este estupendo servidor se integra a la perfección con otras aplicaciones, creando el famoso paquete
XAMP con Perl, Python, MySQL y PHP, junto a cualquier sistema operativo, que por lo general es
Linux, Windows o Mac OS.

MySQL

Figure 4. Logotipo MySQL

MySQL es un sistema de administración de bases de datos (Database Management System, DBMS)


para bases de datos relacionales. Así, MySQL no es más que una aplicación que permite gestionar
archivos llamados de bases de datos.
Existen muchos tipos de bases de datos, desde un simple archivo hasta sistemas relacionales orientados
a objetos. MySQL, como base de datos relacional, utiliza multiples tablas para almacenar y organizar la
información. MySQL fue escrito en C y C++ y destaca por su gran adaptación a diferentes entornos de
desarrollo, permitiendo su interactuación con los lenguajes de programación más utilizados como PHP,
Perl y Java y su integración en distintos sistemas operativos.

También es muy destacable, la condición de open source de MySQL, que hace que su utilización sea
gratuita e incluso se pueda modificar con total libertad, pudiendo descargar su código fuente. Esto ha
favorecido muy positivamente en su desarrollo y continuas actualizaciones, para hacer de MySQL una
de las herramientas más utilizadas por los programadores orientados a Internet.[ CITATION Wak \l
12298 ]

PHP

Figure 5. Logotipo php

PHP es un lenguaje de código abierto muy popular, adecuado para desarrollo web y que puede ser
incrustado en HTML. Es popular porque un gran número de páginas y portales web están creadas con
PHP. Código abierto significa que es de uso libre y gratuito para todos los programadores que quieran
usarlo. Incrustado en HTML significa que en un mismo archivo vamos a poder combinar código PHP
con código HTML, siguiendo unas reglas.El lenguaje PHP se procesa en servidores, que son potentes
ordenadores con un software y hardware especial.[ CITATION Per1 \l 12298 ]

3.- Describir MQTT

MQTT fue creado por el Dr. Andy Stanford-Clark de IBM y Arlen Nipper de Arcom (ahora Eurotech)
en 1999 como un mecanismo para conectar dispositivos empleados en la industria petrolera.
MQTT son las siglas MQ Telemetry Transport, aunque en primer lugar fue conocido como Message
Queing Telemetry Transport. Es un protocolo de comunicación M2M (machine-to-machine) de tipo
message queue. En el caso de MQTT cada conexión se mantiene abierta y se "reutiliza" en cada
comunicación. [ CITATION Lui19 \l 3082 ]
Figure 6. Logotipo MQTT

ARQUITECTURA

MQTT básicamente está basado en un protocolo de mensajería publicación/suscripción, al contrario


que HTTP que es petición/respuesta.

Sigue una topología de estrella, teniendo un nodo central que hace de servidor o “broker” con una
capacidad de hasta 10000 clientes. El broker es el encargado de gestionar la red y de transmitir los
mensajes, para mantener activo el canal.[ CITATION Lui19 \l 3082 ]

ESTRUCTURA

Es de gran importancia destacar los mensajes del protocolo MQTT. Puesto que se envían de forma
asíncrona, es decir, no hay que esperar respuesta una vez que se envía un mensaje. [ CITATION
Lui19 \l 3082 ]

Cada mensaje consta de 3 partes:

 Encabezado fijo. Ocupa sólo 2 bytes y es obligatorio enviar esta parte en todos los mensajes.
 Encabezado variable. Ocupa 4 bits y no es obligatorio que esté en todos los mensajes.
 Mensaje o carga útil (del inglés payload). Puede tener un máximo de 256 Mb aunque en
implementaciones reales el máximo es de 2 a 4 kB.

Figure 7. Trama MQTT

4.- Proceso de instalación MQTT y LAMP en Raspberry


Paso 1: Instalar Broker MQTT [ CITATION Lui19 \l 3082 ]
 La Raspberry Pi tiene que estar conectada a Internet para poder instalar el Broker MQTT
Mosquitto.
 Abre una terminal en tu Raspberry Pi.
 Lo primero es descargar la signing key o clave de firma utilizando el comando wget.
sudo wget http://repo.mosquitto.org/debian/mosquitto-
repo.gpg.key
 Añadimos la clave para a una lista para autenticar el paquete.
sudo apt-key add mosquitto-repo.gpg.key
 Luego tienes que ir a la siguiente carpeta utilizando el comando cd.
cd /etc/apt/sources.list.d/
 Después descargamos la lista de repositorios de Mosquitto con wget.
 Si tu versión de Raspbian es Jessie, ejecuta el siguiente comando.
sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list
 Si tu versión de Raspbian es Stretch, ejecuta el siguiente comando.
sudo wget http://repo.mosquitto.org/debian/mosquitto-
stretch.list
 Ahora para no tener que estar constantemente poniendo la palabra sudo, escribimos lo siguiente
en la terminal para ser usuario root.
sudo –i
 si no lo haces tendrás que poner sudo en los comandos que van a continuación.
 Actualizamos la lista de paquetes disponibles y sus versiones.
apt-get update
 Instalar el Broker Mosquitto.
apt-get install mosquitto
 Ya está instalado

Paso 2: Instalar cliente MQTT en Raspberry Pi


 Escribir el siguiente comando
apt-get install mosquitto-clients
 «Do you want to continue? (¿Quieres continuar?)». Tienes que dar a la tecla «y» y al Enter.
 Con esto ya tendríamos todo lo necesario.

Como instalar LAMP en Raspberry pi [ CITATION Ped19 \l 3082 ]


 Lo primero de todo vamos a actualizar nuestra Raspberry pi.
sudo apt-get update
sudo apt-get upgrade

Instalar el servidor web Apache


 Lo primero que tenemos que hacer es crear y dar permisos al grupo de usuarios que utiliza por
defecto Apache.
sudo groupadd www-data
sudo usermod -a -G www-data www-data
 Instalar el servidor web
sudo apt-get install apache2 -y
 Cuando nos pregunte si deseamos continuar, simplemente escribimos la letra ‘s ’
 Abra Navegador web. Utilizando la dirección IP de su Raspberry Pi.
Instalación de PHP
 Instale el paquete PHP
/var/www/html $ sudo apt install php –y
 Puede eliminar index.html y crear un script PHP para probar la instalación.
/var/www/html $ sudo rm index.html
/var/www/html $ sudo nano index.php
 En archivo index.php agregue el siguiente código para hacer eco del mensaje " hello world "
<?php echo "hello world"; ?>
 Finalmente, reinicie Apache2
/var/www/html $ sudo service apache2 restart
 Si todo funciona, puede eliminar el archivo index.php del directorio
/var/www/html $ sudo rm index.php

Instalar MySQL
 Instale el servidor MySQL y los paquetes PHP-MySQL
sudo apt-get install mysql-server php-mysql –y
 Ahora reinicie Apache:
sudo service apache2 restart

Instale phpMyAdmin
 Para instalar phpMyAdmin
/var/www/html $ sudo apt install phpmyadmin -y
 Habilite la extensión PHP MySQLi
/var/www/html $ sudo phpenmod mysqli
 Abra un navegador http://direccion/phpmyadmin
 Página de error. Mover la carpeta phpmyadmin a / var / www / html
/var/www/html $ sudo ln -s /usr/share/phpmyadmin
/var/www/html/phpmyadmin
 Abra un navegador http://direccion/phpmyadmin

4. DIAGRAMA
que funciona
gracias a un
sistema
operativo

es también un
tamaño Una sistema digital
reducido Raspberry de
procesamiento

S e rv id o r L A M P
gran capacidad
de
procesamiento.

Apache

PHP

MySQL y
phpMyAdmin
5. CONCLUSIONES

 La Raspberry Pi, con su tamaño y coste reducidos, abre perspectivas inmensas para realizar
aplicaciones.
 Un servidor LAMP se refiere a una mezcla de subsistemas de software con fines de configurar
Sitios Web o Servidores Dinámicos de una manera más eficiente.
 El protocolo MQTT se ha convertido en uno de los principales pilares del IoT por su sencillez y
ligereza. Ambos son condicionantes importantes dado que los dispositivos de IoT, a menudo,
tienen limitaciones de potencia, consumo, y ancho de banda.
 Por último, hemos puesto los conocimientos adquiridos para el montando de LAMP y MQTT
Mosquitto en una Raspberry Pi. Utilizando como cliente tanto la Raspberry Pi como un
NodeMCU hemos visto cómo comunicar estos dos dispositivos y enviar mensajes entre ellos.

6. BIBLIOGRAFÍA

[1] «. 1. A. 2. [. l. A. h.-s.-e.-r. [. a. 3. M. 2. InvenSense Inc., «InvenSense Inc., «InvenSense,» 19


Agosto 2013. [En línea]. Available: https://hetpro-store.com/TUTORIALES/que-es-raspberry/
[Último acceso: 3 Mayo 2018].».
[2] D. D. P. y. P. T. e. J. T. P. B. E. M. P. E. 2. Wakerly, «Wakerly, Diseño Digital Principios y
Prácticas, Tercera ed., J. T. P. Bonilla, Ed., Mexico: Pearson Education, 2001.».
[3] E. M. (. S. E. D. B. E. M. Perez, «Perez, E. M. (2008). Sistemas Elctrónicos Digitales. Barcelona,
España: Marcombo.».
[4] L. d. V. Hernández, «Guía de introducción a MQTT con ESP8266 y Raspberry Pi,» [En línea].
Available: https://programarfacil.com/esp8266/mqtt-esp8266-raspberry-pi/. [Último acceso: 08 11
2019].
[5] P. Castro, «Cree un servidor web LAMP con WordPress,» [En línea]. Available:
https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress. [Último acceso: 08
11 2019].

También podría gustarte