SERVIDOR WEB CON ARDUINO UNO
By Kevin Miguel Acho Condori.
Paralelo. – 6to “B”.
Materia. – Ingeniería
de Redes I.
Carrera. – Ingeniería
de Sistemas.
Universidad. –
Universidad Pública de El Alto.
Correo Electrónico. – kevinmigu0000@yahoo.com
kevinmigu0000@outlook.com
kevinmigu0000@gmail.com
Correo Electrónico. – kevinmigu0000@yahoo.com
kevinmigu0000@outlook.com
kevinmigu0000@gmail.com
OBJETIVO
GENERAL
- Demostrar que el arduino también puede ser usado como un servidor web, complementando con todo lo aprendido en ingeniería de redes, electrónica básica y poco conocimiento en arduino, aplicar dentro de las teorías en sí.
OBJETIVOS
ESPECIFICOS
·
Usar
conocimientos de electrónica básica y programación dentro del arduino.
·
Demostrar
la conexión de red y su forma de trabajo.
·
Analizar
y controlar los procedimientos dentro del arduino y el código de programación.
·
Aplicar
conocimiento básico del HTML.
JUSTIFICACION
·
Justificación
Técnica. – la aplicación del arduino además de la programación y los
complementos que tuvimos para hacer este servidor, dan a conocer que los
complementos que utilizaremos dentro de nuestro proyecto da a conocer que
necesitaremos material físico y lógico además de tener conocimientos de
programación básica e intermedia (dentro del arduino), además de tener los
componentes necesarios como ser los componentes necesarios tal como el cable
rj45, el arduino uno y el ethernet shield, y un pc de conexión.
·
Justificación
Social. – el servidor arduino servirá de buen complemento en casos de necesitar
un servidor manual, además de ser un buen complemento de ser accesible y
económico puede ser muy útil en sectores de pocos recursos.
·
Justificación
Económica. – los complementos dentro del servidor son de precios accesibles,
además poder conseguir fácilmente dentro del mercado de arduinos y los
complementos de programación.
ALCANCES Y LIMITACIONES
- Alcance y limitación Técnica. – Para aplicar el servidor web con arduino se necesitas los complementos anteriores mencionados, que con ellas se prevé que nos ayude a aplicar e implantar el servidor. Algunos complementos pueden ser difíciles de conseguir ya que estos son muy requeridos dentro del servidor además de no poder tener más acceso a los servidores además de tener pocos accesos a usuarios.
- Alcances y limitación Social. – Los dispositivos modernos y digitales pueden ser de mayor ayuda dentro de los clientes, además de ser accesible dentro del cliente que lo necesite, pero puede ser rechazado por no ser muy adaptable a los usuarios.
- Alcance y limitación Económica. – el dispositivo no es en sí muy costoso pero los complementos en si además como llega a ser una primera fase de el uso del servidor.
INTRODUCCIÓN
El servidor web es un distribuidor de contenidos web que es parte de una red de
ordenadores, arduino es una placa de circuito que se encarga de procesos de
puertos digitales y analógicos de entrada y de salida y la programación de HTML
que se encarga del lenguaje de programación para páginas web.
Con todo el conocimiento de redes y de la programación
nos dedicamos a crear un servidor web que se encarga de enviar y recibir datos
que tuviese en sí las características mínimas de un servidor, la aplicación de
los componentes en si nos da a conocer que el servidor es en sí accesible y
económico.
También debe de aplicarse el conocimiento en HTML que
servirá para poner dentro de la programación del servidor, dentro del programa
HTML es la que determinara como está la página web.
Además de tener conocimiento básico de redes se deberá
de poner las redes que en si pueden ser directas o crossover, además este
servidor se puede añadir con un router o un switch, pero eso dependerá del
usuario porque también puede ser directa como ser de arduino a PC.
Con todos estos complementos se tendrá de manera
eficiente el servidor de arduino que aplicándose en si los complementos serán
de manera que cree una página web que se accede por el arduino.
MARCO TEORICO
Para aplicar los complementos y los conocimientos de
la programación del servidor que se encarga de hacer el servidor además de los
conocimientos se debe de tener los conceptos de los componentes siguiente las
cuales son:
SERVIDOR WEB
Un servidor web o servidor HTTP es un programa informático que procesa una aplicación del lado del servidor, realizando conexiones bidireccionales y/o unidireccionales y síncronas o asíncronas con el cliente y generando o cediendo una respuesta en cualquier lenguaje o Aplicación del 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 suele utilizarse algún protocolo. Generalmente se usa 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.
Un servidor web o servidor HTTP es un programa informático que procesa una aplicación del lado del servidor, realizando conexiones bidireccionales y/o unidireccionales y síncronas o asíncronas con el cliente y generando o cediendo una respuesta en cualquier lenguaje o Aplicación del 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 suele utilizarse algún protocolo. Generalmente se usa 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.
El término servidor es ampliamente utilizado en el
campo de las tecnologías de la información. A pesar de la amplia disponibilidad
de productos etiquetados como productos de servidores (tales como versiones de
hardware, software y OS diseñadas para servidores), en teoría, cualquier
proceso computacional que comparta un recurso con uno o más procesos clientes
es un servidor. Tomemos como ejemplo la acción de compartir ficheros. Mientras
la existencia de ficheros dentro de una computadora no la clasifica como un
servidor, el mecanismo del sistema operativo que comparte estos ficheros a los
clientes si es un servidor.
De manera similar consideremos una aplicación web
servidor (como por ejemplo el servidor multiplataforma "Apache").
Este servidor web puede ejecutarse en cualquier tipo de computadora que cumpla
con los requerimientos mínimos. Por ejemplo, mientras un ordenador portátil
(laptop) o computadora personal usualmente no son consideradas como servidores,
en ciertos casos (como el anterior) pueden cumplir el rol de uno y por lo tanto
ser denominadas servidores. En este caso es el rol de la computadora el que la
coloca en la categoría de servidor.
En el sentido del hardware, la palabra servidor
normalmente etiqueta modelos de computadora diseñados para hospedar un conjunto
de aplicaciones que tiene gran demanda dentro de una red. En esta configuración
cliente-servidor, uno o más equipos, lo mismo una computadora que una
aplicación informática, comparten información entre ellos de forma que uno
actúa como host de los otros.
Casi todas las computadoras personales pueden actuar
como un servidor, pero un servidor dedicado tendrá cualidades más adecuadas
para un ambiente de producción. Entre estas cualidades se pueden mencionar CPU
más rápidas, RAM mejoradas para alto desempeño, y mayores capacidades de
almacenamiento en forma de múltiples discos duros. Los servidores también
cuentan con otras cualidades como confiabilidad, disponibilidad y utilidad
(RAS) y tolerancia a fallos, esta última en forma de redundancia en el número
de fuentes, almacenamiento (RAID), y conexiones de red.
ARDUINO
ETHERNET SHIELD
El
Arduino Ethernet Shield permite a una placa Arduino conectarse a internet. Es
la parte física que implementa la pila de protocolos TCP/IP.
Está basada en el chip ethernet Wiznet W5100. El
Wiznet W5100 provee de una pila de red IP capaz de TCP y UDP. Usa la librería
Ethernet para leer y escribir los flujos de datos que pasan por el puerto
ethernet.
Es compatible con el Arduino UNO y Arduino Mega.
El shield provee un conector ethernet estándar RJ45 y
un conector lector de tarjeta Micro SD
El botón de reset en la shield resetea ambos, el W5100
y la placa Arduino.
El shield contiene un número de Leds para información:
- PWR: indica que la placa y la shield están alimentadas
- LINK: indica la presencia de un enlace de red y parpadea cuando la shield envía o recibe datos
- FULLD: indica que la conexión de red es full dúplex
- 100M: indica la presencia de una conexión de red de 100 Mb/s (de forma opuesta a una de 10Mb/s)
- RX: parpadea cuando la shield recibe datos
- TX: parpadea cuando la shield envía datos
- COLL: parpadea cuando se detectan colisiones en la red
ARDUINO UNO
Arduino (en EEUU, Genuino a nivel internacional) es
una compañía de hardware libre, y comunidad tecnológica, que diseña y
manufactura placas de desarrollo de hardware y software compuesta
respectivamente por circuitos impresos que integran un microcontrolador, y un
entorno de desarrollo (IDE) en donde se programa cada placa. Arduino se enfoca
en acercar y facilitar el uso de la electrónica y programación de sistemas
embebidos en proyectos multidisciplinarios. Toda la plataforma, tanto para sus
componentes de hardware como de software son liberados bajo licencia de código
abierto que permite libertad de acceso a los mismos.
El arduino Uno Es una forma más optimizada de una
placa ordinaria de arduino tradicional, además ella cuenta con menos pines
(pero están los más importantes), además de tener más óptimo el tamaño colabora
en si.
Arduino Uno es una placa de microcontrolador basada en
ATmega328P ( hoja de datos ). Tiene 14 pines digitales de entrada / salida (de
los cuales 6 se pueden usar como salidas PWM), 6 entradas analógicas, un
cristal de cuarzo de 16 MHz, una conexión USB, un conector de alimentación, un
encabezado ICSP y un botón de reinicio. Contiene todo lo necesario para
soportar el microcontrolador; simplemente conéctelo a una computadora con un cable
USB o con un adaptador de CA a CC o batería para comenzar. Puede jugar con su
ONU sin preocuparse demasiado por hacer algo incorrecto, en el peor de los
casos, puede reemplazar el chip por unos pocos dólares y comenzar de nuevo.
"Uno" significa uno en italiano y fue
elegido para marcar el lanzamiento del software Arduino (IDE) 1.0. La placa Uno
y la versión 1.0 de Arduino Software (IDE) fueron las versiones de referencia
de Arduino, ahora evolucionadas a versiones más recientes. El tablero Uno es el
primero de una serie de placas USB Arduino, y el modelo de referencia para la
plataforma Arduino; para una lista extensa de tableros actuales, pasados u
obsoletos, vea el índice de tableros Arduino.
CABLE DIRECTO UTP
El cable directo de red sirve para conectar
dispositivos desiguales, como un computador con un switch. En este caso ambos
extremos del cable deben tener la misma distribución distribuciones. No existe
diferencia alguna en la conectividad entre la distribución 568B y la
distribución 568A siempre y cuando en ambos extremos se use la misma, en caso
contrario hablamos de un cable cruzado.
ROUTER
También conocido como enrutador oencaminador de
paquetes, es un dispositivo que proporciona conectividad a nivel de red o nivel
tres en el modelo OSI. Su función principal consiste en enviar o encaminar
paquetes de datos de una red a otra, es decir, interconectar subredes,
entendiendo por subred un conjunto de máquinas IP que se pueden comunicar sin
la intervención de un encaminador (mediante puentes de red), y que por tanto
tienen prefijos de red distintos.
El primer dispositivo que tenía fundamentalmente la
misma funcionalidad que lo que el día de hoy entendemos por encaminador, era el
Interface Message Processor o IMP. Los IMP eran los dispositivos que formaban
la ARPANET, la primera red de conmutación de paquetes. La idea de un
encaminador (llamado por aquel entonces puerta de enlace) vino inicialmente de
un grupo internacional de investigadores en redes de computadoras llamado el
International Network Working Group (INWG). Creado en 1972 como un grupo
informal para considerar las cuestiones técnicas que abarcaban la interconexión
de redes diferentes, se convirtió ese mismo año en un subcomité del
International Federation for Information Processing.
Esos dispositivos se diferenciaban de los conmutadores
de paquetes que existían previamente en dos características. Por una parte,
conectaban tipos de redes diferentes, mientras que, por otra parte, eran
dispositivos sin conexión, que no aseguraban fiabilidad en la entrega de datos,
dejando este rol enteramente a los anfitriones. Esta última idea había sido ya
planteada en la red CYCLADES.
La idea fue investigada con más detalle, con la
intención de crear un sistema prototipo como parte de dos programas. Uno era el
promovido por DARPA, programa que creó la arquitectura TCP/IP que se usa
actualmente, y el otro era un programa en Xerox PARC para explorar nuevas
tecnologías de redes, que produjo el sistema llamado PARC Universal Packet.
Debido a la propiedad intelectual que concernía al proyecto, recibió poca
atención fuera de Xerox durante muchos años.
Un tiempo después de 1974, Xerox consiguió el primer
encaminador funcional, aunque el primer y verdadero enrutador IP fue
desarrollado por Virginia Stazisar en BBN, como parte de ese esfuerzo promovido
por DARPA, durante 1975-76. A finales de 1976, tres encaminadores basados en
PDP-11 entraron en servicio en el prototipo experimental de Internet.
El primer encaminador multiprotocolo fue desarrollado
simultáneamente por un grupo de investigadores del MIT y otro de Stanford en
1981. El encaminador de Stanford se le atribuye a William Yeager y el del MIT a
Noel Chiappa. Ambos estaban basados en PDP-11. Como ahora prácticamente todos
los trabajos en redes usan IP en la capa de red, los encaminadores
multiprotocolo son en gran medida obsoletos, a pesar de que fueron importantes
en las primeras etapas del crecimiento de las redes de ordenadores, cuando
varios protocolos distintos de TCP/IP eran de uso generalizado. Los encaminadores
que manejan IPv4 e IPv6 son multiprotocolo, pero en un sentido mucho menos
variable que un encaminador que procesaba AppleTalk, DECnet, IP, y protocolos
de XeroX. Desde mediados de los años 1970 y en los años 1980, los
miniordenadores de propósito general servían como enrutadores.
Actualmente, los encaminadores de alta velocidad están
altamente especializados, ya que se emplea un hardware específico para acelerar
las funciones de encaminamiento más específicas, como son el encaminamiento de
paquetes y funciones especiales como la encriptación IPsec.
SWITCH
Conmutador (switch) es el dispositivo digital lógico
de interconexión de equipos que opera en la capa de enlace de datos del modelo
OSI. Su función es interconectar dos o más segmentos de red, de manera similar
a los puentes de red, pasando datos de un segmento a otro de acuerdo con la
dirección MAC de destino de las tramas en la red y eliminando la conexión una
vez finalizada esta.
Los conmutadores se utilizan cuando se desea conectar
múltiples tramos de una red, fusionándolos en una sola red. Al igual que los
puentes, dado que funcionan como un filtro en la red y solo retransmiten la
información hacia los tramos en los que hay el destinatario de la trama de red,
mejoran el rendimiento y la seguridad de las redes de área local (LAN).
La aplicación de todos los complementos en si nos dará
el servidor además se aplicará de la siguiente manera:
Primera Fase. – en la aplicación en si el servidor se
tiene que tener conocimiento en las librerías las cuales son los SPI (Conexión
de arduino a través del puerto) el ethernet (código de la conexión web) será la
que se encargue de dar la programación y en él código se deberá de poner en la
cabecera debajo del include las direcciones a las que se deberá de conectar el
arduino además debe tener si será un servidor o un cliente además dentro del
setup void tendrá que tiene el ethernet y el servidor, con además se debe de
complementar en el void loop el código HTML pero dentro del código println
complementado por ethernet cliente, para así dar final al código con la línea
de código stop.
Después de la aplicación del código dentro del sistema
se deberá de conectar el arduino, en este caso el arduino será el Uno
complementando con el arduino ethernet shield (componente que se complementa
con cualquier arduino) se tuvo inconvenientes (que se mencionara en el
subtítulo errores), al unirse por conexión USB con el equipo y compilar el
programa, pero se tuvo inconvenientes, además el complemento de que debe de dar
de conexión es en la dirección IP 192.168.0.117 que nos dará la conexión con la
página web que en si nos dará la página HTMLque se encargara de mostrarnos la
información pero además de saber si estamos conectados nos encargaremos de
verificar nuestra conexión mediante el programa de comandos CMD donde pondremos
el código “Ping XXXX,XXXX,XXXX,XXXX” (X representa el rango dependiendo de la
dirección IP que designamos anteriormente), además de poner el siguiente código
esta nos dará una pequeña información como se muestra en la imagen.
ERRORES
Dentro del Servidor se llegó
a puntos que nos llenaba de dudas de acuerdo al código además del complemento
del Shield lo cual llegamos a retomar la idea de cambiar el código plasmado
dentro del programa del arduino, además para tener mayor efecto en la placa
cuando se compilaba los datos se debía de tener conectada el ethernet shield
con el Arduino Uno.
Después de los errores
cometidos, se prevé medir los errores de acuerdo a las imperfecciones que se
hizo con las placas y los códigos de acuerdo con la cantidad de necesidad y de
porcentaje de conclusión se tendrá lo siguiente:
Las necesidades del usuario
ante los pedidos dentro del servidor son el de una pequeña página que se
encarga de conectarse en sí, pero de manera clásica, la página no es muy
amigable ante la necesidad del usuario además de no poseer ciertas imágenes,
pero de esto hablaremos en las recomendaciones.
Incluyendo los componentes
que tuvimos y algunos no pudieron reconocer, pero el componente se llegó a
concluir que, dentro del sistema puesto además de poseer pocos errores, esta
página solo cuenta con una aprobación de 80% además de no contar en caso de
errores de 60% además de tener conflictos dentro de la programación que da de
perfección al programa de un 70% lo cual ocasiono de que el mismo servidor
llegase a tener un 70% de confianza además de no poder contar con ciertos datos
que colaboran a cargar de manera eficiente.
CONCLUSIONES Y
RECOMENDACIONES
Los componentes fueron de
ayuda además del conocimiento que se tenía en la programación, se aplicó dentro
de la programación del arduino además de la programación HTML que se encargara
de mostrar la página web, con el conocimiento básico de redes se aplicará para
la comunicación entre un servidor y un pc que dependerá de esto para que ellos
se comuniquen en sí, además de tener conocimiento entre un arduino y un shield
que se encargara de comunicarse entre sí.
Con estos componentes unidos
se prevé llegar a hacer un servidor arduino que además de aplicarse con los
códigos de programación dentro del arduino se logró tener un servidor web.
Dentro de las
recomendaciones se sugiere aplicarse dentro de un router o un switch que además
de aplicarse el arduino ethernet shield se tendrá que complementar con una
memoria Micro SD que servirá de complemento para hacer que la página web tenga
de complementos multimedia dentro de su sistema, además de poseer dentro del
código del arduino las librerías del Micro SD que se llama “SD” que nos servirá
de complemento en la página Web.
Servidor Web con Arduino Uno
BIBLIOGRAFIA.
·
Arduino + Ethernet Shield
José Manuel Luis Gutiérrez
·
Kiwix
Programa de Almacenamiento
de Wikipedia
·
Páginas de Referencias
-
Como crear una página web y su servidor con arduino
| Arduino Ethernet Shield como servidor Web.
-
El Shield Ethernet Conectando Arduino en una red
Ethernet
-
Arduino Ethernet Shield
-
Arduino Uno






Comentarios
Publicar un comentario