Sunteți pe pagina 1din 11

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: [1]

 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. [2]

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. [3]
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. [4]

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. [4]

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. [4]

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 [4]
 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 [5]


 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 wor
ld "
<?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

gran capacidad
de
procesamiento.
Servidor LAMP

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].

S-ar putea să vă placă și