- Componentes requeridos:
- Explicación de trabajo y creación de la página web:
- Explicación del circuito:
- Explicación de programación y matraz:
Todos estamos familiarizados con el Tablón de anuncios inalámbrico, ya que ya lo hemos construido utilizando GSM y Arduino. Pero hoy vamos un paso adelante y en lugar de usar GSM como medio inalámbrico, esta vez estamos usando Internet para enviar de forma inalámbrica el mensaje desde el navegador web a la pantalla LCD que está conectada a la Raspberry Pi. A medida que el mensaje se envía a través del navegador web, se puede enviar mediante computadora, teléfono inteligente o tableta, por lo que agregará un proyecto más en nuestra colección de proyectos de IoT.
En este tablón de anuncios controlado por la web, hemos creado un servidor web local para la demostración, que puede ser un servidor global a través de Internet. En Raspberry Pi, hemos utilizado LCD de 16x2 para mostrar el mensaje y Flask para recibir el mensaje a través de la red. Siempre que Raspberry recibe un mensaje inalámbrico del navegador web, se muestra en la pantalla LCD. Discutiremos sobre estas cosas en detalle en este artículo.
Componentes requeridos:
- Raspberry Pi 3 (cualquier modelo)
- Adaptador USB Wi-Fi (si no usa Raspberry Pi 3)
- LCD de 16x2
- Tabla de pan
- Cable de alimentación para Raspberry Pi
- Cables de conexión
- Maceta 10K
Explicación de trabajo y creación de la página web:
En este proyecto, el componente principal es Raspberry Pi, que es el corazón de este proyecto y se utiliza para controlar los procesos relacionados con este proyecto. Como: LCD de conducción, recepción de "mensajes de aviso" del servidor, etc.
Aquí, hemos creado un servidor web, que proporciona una forma de enviar "Mensaje de aviso" a Raspberry Pi usando Flask en un navegador web. The Flask es un microframework para Python. Esta herramienta está basada en Unicode y tiene un servidor de desarrollo y un depurador integrados, soporte para pruebas unitarias integradas, soporte para cookies seguras y es fácil de usar, estas cosas la hacen útil para los aficionados .
Hemos creado una página web con un TextBox y un botón Enviar, donde podemos ingresar nuestro "Mensaje de aviso" en TextBox y luego enviarlo al servidor haciendo clic en el botón Enviar. Esta aplicación web está desarrollada utilizando lenguaje HTML. El código de esta página web se proporciona a continuación y es muy fácil de entender.
Tablón de anuncios de control web (resumen de circuitos)
Aviso enviado con éxito: {{value}}
{% terminara si %}El usuario debe copiar y pegar el código HTML dado anteriormente en algún editor de texto (bloc de notas) y guardar el archivo con la extensión.HTML. Luego, coloque este archivo HTML en la misma carpeta donde ha colocado su archivo de código Python (que se encuentra al final) para este tablón de anuncios controlado por la web. Ahora puede ejecutar el código Python en Raspberry Pi, abrir IP_address_of_your_Pi: 8080 en el navegador web (como 192.168.1.14:8080) e ingresar el mensaje y hacer clic en enviar, tan pronto como envíe el mensaje, recibirá el mensaje en LCD conectado a Raspberry Pi. Consulte todo el proceso en el video de demostración al final.
La página web se crea en lenguaje HTML, que contiene un formulario que tiene un cuadro de texto y un botón de envío , con un encabezado (etiqueta h1) Web Control Notice Board . El formulario tiene "cambiar" es la acción que se realizará en el código usando el método de publicación , cuando hacemos clic en el botón Enviar. El control deslizante es un bloque con la etiqueta "Mensaje de aviso".
Después, podemos agregar una línea opcional para mostrar el texto que hemos enviado a la Raspberry Pi a través del servidor.
{% if value%}
Aviso enviado con éxito: {{value}}
{% terminara si %}Verifica el valor en el cuadro de texto y si hay algún valor en el cuadro de texto, imprime el texto en la página web, para que el usuario también pueda ver el mensaje enviado. Aquí "valor" es "texto de entrada o mensaje de aviso" que escribiremos en el cuadro de control deslizante o en el cuadro de texto.
Explicación del circuito:
Las conexiones para este tablero de mensajes inalámbrico son muy fáciles; solo necesitamos conectar la pantalla LCD con la placa Raspberry Pi usando algunos conectores sobre la placa de pan. El usuario puede utilizar PCB cero para las conexiones. Los pines RS, RW y EN del LCD están conectados directamente al pin 18, GND y 23. Y los pines de datos del LCD D4, D5, D6, D7 están conectados directamente al GPIO 24, 16, 20, 21 de Raspberry Pi. Un potenciómetro de 10K es se utiliza para controlar el brillo de la pantalla LCD.
También recuerde, si no tiene Raspberry Pi 3, debe usar el adaptador USB Wi-Fi para la versión inferior de Raspberry Pi, ya que no tienen Wi-Fi incorporado como Raspberry Pi 3.
Explicación de programación y matraz:
Estamos usando el lenguaje Python aquí para el Programa. Antes de codificar, el usuario debe configurar Raspberry Pi. Puede consultar nuestros tutoriales anteriores para Comenzar con Raspberry Pi e Instalar y configurar Raspbian Jessie OS en Pi.
Antes de programar Raspberry Pi, el usuario debe instalar un paquete de soporte de matraz en Raspberry Pi utilizando los comandos dados:
$ pip instalar Frasco
Después, puede ejecutar el programa Python en el editor de Python de Raspberry Pi, pero antes de esto, debe reemplazar la dirección IP en el Programa con la dirección IP de su Raspberry Pi. Puede verificar la dirección IP de su placa RPi usando el comando ifconfig:
Ifconfig
La parte de programación de este proyecto juega un papel muy importante para realizar todas las operaciones. En primer lugar, incluimos las bibliotecas necesarias para Flask, inicializamos variables y definimos pines para LCD.
from flask import Flask from flask import render_template, request import RPi.GPIO as gpio import os, time app = Flask (__ name__) RS = 18 EN = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21………………..
Para LCD, la función def lcd_init () se usa para inicializar LCD en modo de cuatro bits, la función def lcdcmd (ch) se usa para enviar comandos a LCD, la función def lcddata (ch) se usa para enviar datos a LCD y def lcdstring (Str) se utiliza para enviar una cadena de datos a la pantalla LCD. Puede verificar todas estas funciones en el Código que se proporciona a continuación.
A continuación, parte del Programa se utiliza para enviar el mensaje desde el navegador web a Raspberry Pi usando Flask. Puede obtener más información sobre la programación usando Flask aquí.
@ app.route ("/") def index (): return render_template ('web.html') @ app.route ("/ change", métodos =) def change (): if request.method == 'POST': # Obteniendo el valor de la página web data1 = request.form lcdcmd (0x01) lcdprint (data1) return render_template ('web.html', value = data1) if __name__ == "__main__": app.debug = True app.run ('192.168.1.14', puerto = 8080, debug = True)
Así es como podemos enviar el mensaje desde nuestra computadora o teléfono inteligente a la Raspberry Pi LCD y podemos hacer un Tablón de anuncios inalámbrico basado en IoT controlado a través de la Web. Consulte el código Python completo y el video de demostración a continuación.