- Componentes necessários:
- Explicação de trabalho e criação da página da web:
- Explicação do circuito:
- Explicação de programação e frasco:
Todos nós estamos familiarizados com o Wireless Notice Board, pois já construímos o Wireless Notice Board usando GSM e Arduino. Mas hoje estamos dando um passo à frente e em vez de usar o GSM como meio sem fio, desta vez estamos usando a Internet para enviar sem fio a mensagem do navegador da Web para o LCD que está conectado ao Raspberry Pi. Uma vez que a mensagem é enviada através do navegador da web, ela pode ser enviada usando o computador, smartphone ou tablet, então adicionará mais um projeto em nossa coleção de projetos IoT.
Neste Quadro de Avisos Controlado pela Web, criamos um servidor Web local para demonstração, que pode ser um servidor global pela Internet. No Raspberry Pi, usamos o LCD 16x2 para exibir a mensagem e o Flask para receber a mensagem pela rede. Sempre que o Raspberry recebe qualquer mensagem sem fio do navegador da Web, ela é exibida no LCD. Discutiremos sobre essas coisas em detalhes neste artigo.
Componentes necessários:
- Raspberry Pi 3 (qualquer modelo)
- Adaptador USB Wi-Fi (se não estiver usando Raspberry Pi 3)
- LCD 16x2
- Tábua de pão
- Cabo de alimentação para Raspberry Pi
- Fios de conexão
- 10K Pot
Explicação de trabalho e criação da página da web:
Neste projeto, o componente principal é o Raspberry Pi, que é o coração deste projeto e usado para controlar os processos relacionados a este projeto. Como: LCD de condução, recebimento de “mensagens de aviso” do servidor etc.
Aqui, criamos um servidor da web, que fornece uma maneira de enviar “Mensagem de aviso” para Raspberry Pi usando o Flask em um navegador da web. O Flask é um microframework para Python. Esta ferramenta é baseada em Unicode com servidor de desenvolvimento e depurador embutidos, suporte para teste de unidade integrado, suporte para cookies seguros e é fácil de usar, o que a torna útil para o amador .
Criamos uma página da web com um TextBox e um botão Enviar, onde podemos inserir nossa “Mensagem de Aviso” no TextBox e depois enviá-la ao servidor clicando no botão Enviar. Este aplicativo da web é desenvolvido em linguagem HTML. O código desta página web é fornecido abaixo e é muito fácil de entender.
Quadro de avisos de controle da web (resumo do circuito)
Aviso enviado com sucesso: {{value}}
{% fim se %}O usuário precisa copiar e colar o código HTML fornecido acima em algum editor de texto (bloco de notas) e salvar o arquivo com a extensão.HTML. Em seguida, coloque esse arquivo HTML na mesma pasta onde colocou o arquivo de código Python (fornecido no final) para este Quadro de avisos controlado pela web. Agora você pode apenas executar o código Python no Raspberry Pi, abrir o IP_address_of_your_Pi: 8080 no navegador da web (como 192.168.1.14:8080) e inserir a mensagem e clicar em enviar, assim que enviar a mensagem, você receberá a mensagem LCD conectado ao Raspberry Pi. Confira todo o processo no Vídeo de Demonstração ao final.
A página da web é criada em linguagem HTML, que contém um formulário com caixa de texto e botão de envio , com Heading (h1 tag) Web Control Notice Board . O formulário tem “mudança” é a ação que será realizada no código através do método post , quando clicarmos no botão Enviar. O controle deslizante é bloqueado com o rótulo “Mensagem de aviso”.
Depois disso, podemos adicionar uma linha opcional para mostrar o texto que enviamos para o Raspberry Pi através do servidor.
{% if value%}
Aviso enviado com sucesso: {{value}}
{% fim se %}Ele verifica o valor na caixa de texto e se houver algum valor na caixa de texto, ele imprime o texto na própria página da web, para que o usuário também possa ver a mensagem enviada. Aqui, 'valor' é “texto de entrada ou mensagem de aviso” que digitaremos na caixa do controle deslizante ou caixa de texto.
Explicação do circuito:
As conexões para este quadro de mensagens sem fio são muito fáceis; só precisamos conectar o LCD à placa Raspberry Pi usando alguns conectores na placa de pão. O usuário pode usar zero PCB para conexões. Os pinos RS, RW e EN do LCD são conectados diretamente ao pino 18, GND e 23. E os pinos de dados do LCD D4, D5, D6, D7 são conectados diretamente ao GPIO 24, 16, 20, 21 do Raspberry Pi. Um potenciômetro de 10K é usado para controlar o brilho do LCD.
Lembre-se também, se você não tiver o Raspberry Pi 3, precisará usar o adaptador USB Wi-Fi para a versão anterior do Raspberry Pi, pois eles não têm um Wi-Fi embutido como o Raspberry Pi 3.
Explicação de programação e frasco:
Estamos usando a linguagem Python aqui para o Programa. Antes de codificar, o usuário precisa configurar o Raspberry Pi. Você pode verificar nossos tutoriais anteriores de Introdução ao Raspberry Pi e Instalação e configuração do Raspbian Jessie OS no Pi.
Antes do programa Raspberry Pi, o usuário precisa instalar um pacote de suporte de frasco no Raspberry Pi usando os comandos fornecidos:
$ pip install Flask
Depois disso, você pode executar o programa Python no editor python do Raspberry Pi, mas antes disso, você precisa substituir o endereço IP no Programa pelo endereço IP do seu Raspberry Pi. Você pode verificar o endereço IP da sua placa RPi usando o comando ifconfig:
Ifconfig
A parte de programação deste projeto desempenha um papel muito importante para realizar todas as operações. Em primeiro lugar, incluímos bibliotecas necessárias para Flask, inicializamos variáveis e definimos pinos para LCD.
from flask importar Flask from flask importar render_template, solicitar importação RPi.GPIO as gpio importar os, time app = Flask (__ name__) RS = 18 EN = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21………………..
Para LCD, a função def lcd_init () é usada para inicializar LCD no modo de quatro bits, a função def lcdcmd (ch) é usada para enviar comandos para LCD, a função def lcddata (ch) é usada para enviar dados para LCD e def lcdstring (Str) A função é usada para enviar string de dados ao LCD. Você pode verificar todas essas funções em Código fornecido a seguir.
A parte abaixo do Programa é usada para enviar a mensagem do navegador da web para o Raspberry Pi usando o Flask. Você pode aprender mais sobre a programação usando Flask aqui.
@ app.route ("/") def index (): return render_template ('web.html') @ app.route ("/ change", methods =) def change (): if request.method == 'POST': # Obtendo o valor da página da 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', porta = 8080, debug = True)
Portanto, é assim que podemos enviar a mensagem do nosso computador ou smartphone para o LCD do Raspberry Pi e criar um quadro de avisos sem fio baseado em IoT controlado pela web. Confira o código Python completo e o vídeo de demonstração abaixo.