Índice:

Faixa LED de 12v controlada por Wi-Fi usando Raspberry Pi com Tasker, Integração Ifttt: 15 etapas (com fotos)
Faixa LED de 12v controlada por Wi-Fi usando Raspberry Pi com Tasker, Integração Ifttt: 15 etapas (com fotos)

Vídeo: Faixa LED de 12v controlada por Wi-Fi usando Raspberry Pi com Tasker, Integração Ifttt: 15 etapas (com fotos)

Vídeo: Faixa LED de 12v controlada por Wi-Fi usando Raspberry Pi com Tasker, Integração Ifttt: 15 etapas (com fotos)
Vídeo: RGB LED (full-color LED) Controller Board with Wi-Fi Module (ESP32) 2024, Julho
Anonim
Faixa LED de 12v controlada por wi-fi usando Raspberry Pi com Tasker, integração Ifttt
Faixa LED de 12v controlada por wi-fi usando Raspberry Pi com Tasker, integração Ifttt
Faixa LED de 12v controlada por wi-fi usando Raspberry Pi com Tasker, integração Ifttt
Faixa LED de 12v controlada por wi-fi usando Raspberry Pi com Tasker, integração Ifttt

Neste projeto, vou mostrar como controlar uma faixa simples de led analógico de 12v em wi-fi usando um pi de framboesa.

Para este projeto, você precisará de:

  • 1x Raspberry Pi (estou usando um Raspberry Pi 1 Modelo B +)
  • 1x RGB 12v Led Strip [Ebay Austrália]
  • 3 Mosfet's IRFZ44N N-Channel [Ebay Austrália]
  • 1x adaptador de tomada de alimentação DC fêmea [Ebay Austrália]
  • Alguns fios
  • Tela, teclado (apenas para configuração)

Etapa 1: Instale o Raspbian OS usando o Windows

Instale o Raspbian OS usando o Windows
Instale o Raspbian OS usando o Windows
Instale o Raspbian OS usando o Windows
Instale o Raspbian OS usando o Windows
Instale o Raspbian OS usando o Windows
Instale o Raspbian OS usando o Windows

Para instalar o Raspbian com Windows, você precisará de:

  • Win32 Disk Imager: [Download]
  • Raspbian OS Lite: [Zip], [Torrent]

** IMPORTANTE se feito de forma errada, você pode perder todos os seus dados, faça backup de seus dados antes de continuar **

  1. Conecte seu cartão SD em um leitor de cartão e abra Meu computador
  2. Procure a letra da unidade
  3. Clique com o botão direito em Win32DiskImager e clique em "Executar como Administrador"
  4. Em seguida, clique na pequena pasta azul e navegue até a imagem do RaspbianOS
  5. Também clique na caixa suspensa em Dispositivo e altere para a letra da unidade do cartão SD
  6. Em seguida, clique em "Escrever"
  7. Uma caixa de diálogo será aberta ANTES de pressionar Sim, verifique se o dispositivo de destino está correto
  8. Em seguida, remova o cartão SD e insira-o no pi

Etapa 2: instale o Raspbian OS usando o Mac OS X

Instale o Raspbian OS usando Mac OS X
Instale o Raspbian OS usando Mac OS X
Instale o Raspbian OS usando Mac OS X
Instale o Raspbian OS usando Mac OS X
Instale o Raspbian OS usando Mac OS X
Instale o Raspbian OS usando Mac OS X
Instale o Raspbian OS usando Mac OS X
Instale o Raspbian OS usando Mac OS X

Para instalar o Raspbian com Mac, você precisará de:

  • ApplePi-Baker [download]
  • Raspbian OS Lite: [Zip], [Torrent]

** IMPORTANTE se feito de forma errada, você pode perder todos os seus dados, faça backup de seus dados antes de continuar **

  1. Abra o Utilitário de Disco e procure seu cartão SD no lado esquerdo e clique nele
  2. Procure por "Dispositivo" na parte inferior da janela; você deve ver algo como diskXsX onde x é um número
  3. Lembre-se do número do "Dispositivo" e abra ApplePi-Baker
  4. Ele irá pedir sua senha devido a ter que formatar seu cartão SD
  5. Clique no número do "Dispositivo" que está depois de / dev / no lado esquerdo
  6. Clique em "Restore-Backup" Navegue até a imagem do RaspbianOS.
  7. Ele vai começar a apagar o cartão SD e instalar o Raspbian nele
  8. Quando terminar, uma caixa de alerta aparecerá dizendo que você pode remover o SD-Card, remova-o e coloque-o em seu pi.

Etapa 3: Configurando o Pi

Antes de ligar o pi, você precisará conectar um monitor HDMI, teclado e um cabo ethernet ou wi-fi USB (vamos configurar isso na próxima etapa).

Ligue o pi, você verá um monte de texto preencher a tela. Isso é normal e faz parte da inicialização do kernel do linux. Espere um pouco até ver

login do raspberry:

Seu nome de usuário é pi e a senha é raspberry (você não verá nada digitando na tela, mas ainda está sendo digitado)

Então, quando você fizer o login, verá:

pi @ raspberrypi: ~ $

Então você tem que inserir:

sudo raspi-config

Sua tela será preenchida com uma tela azul com opções em uma caixa cinza no centro,

  1. Usando as teclas para cima e para baixo, destaque e pressione Enter na opção "Expandir sistema de arquivos" após alguns segundos você será levado a um alerta dizendo que "sistema de arquivos raiz foi redimensionado", clique em Enter
  2. Em seguida, pressione a seta para baixo e vá para Opções de inicialização e clique em Enter, a seguir clique em Enter quando 'Desktop / CLI' for selecionado, Em seguida, destaque 'Console Autologin' e clique em Enter
  3. Em seguida, selecione Opções avançadas e clique em entrar
  4. Em seguida, role para baixo até ssh e clique em Enter e selecione sim
  5. em seguida, pressione a seta para a direita até que Voltar seja destacado e pressione Enter
  6. Em seguida, vá para o fundo novamente e clique em Concluir e diga sim para reiniciar

Depois de reiniciar, se você estiver conectado via ethernet, você precisa inserir este comando para encontrar seu endereço IP para que possamos ssh no pi

Encontrar ip:

hostname -I

Etapa 4: Configurar Wifi

Para configurar o wi-fi no pi, precisamos editar um arquivo

1. entre na linha de comando

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

2. Vá para o final do arquivo e digite

rede = {

ssid = "Your_Wifi_Name" psk = "Your_wifi_password"}

3. Em seguida, reinicie seu pi com

sudo reboot

Depois que seu pi for reiniciado, obtenha seu endereço IP digitando

hostname -I

você deve obter seu endereço IP. Mas se o texto reajustado estiver em branco, isso significa que o pi não pôde se conectar à sua rede. verifique se você digitou o nome do wifi e a senha corretamente, pois diferencia maiúsculas de minúsculas.

Etapa 5: Conecte-se remotamente ao seu Pi usando o Windows

Conecte-se remotamente ao seu Pi usando o Windows
Conecte-se remotamente ao seu Pi usando o Windows
Conecte-se remotamente ao seu Pi usando o Windows
Conecte-se remotamente ao seu Pi usando o Windows
Conecte-se remotamente ao seu Pi usando o Windows
Conecte-se remotamente ao seu Pi usando o Windows
Conecte-se remotamente ao seu Pi usando o Windows
Conecte-se remotamente ao seu Pi usando o Windows

Agora que temos o pi conectado à internet, podemos remover o teclado do mouse e o monitor e conectar-se remotamente a ele usando "ssh"

Para fazer o ssh no pi com o Windows, você precisa fazer o download

massa: [download]

  1. Abra o putty, na caixa de endereço IP digite o ip ip raspberry e pressione abrir
  2. você obterá uma caixa de diálogo que se parece com a imagem 2 pressione sim
  3. você verá uma nova caixa de diálogo que diz "faça login como" digite "pi"
  4. então ele vai pedir uma senha digite "framboesa"

Você agora está conectado ao pi sobre ssh

Etapa 6: conecte-se remotamente ao seu Pi usando o Mac

Conecte-se remotamente ao seu Pi usando o Mac
Conecte-se remotamente ao seu Pi usando o Mac
Conecte-se remotamente ao seu Pi usando o Mac
Conecte-se remotamente ao seu Pi usando o Mac
Conecte-se remotamente ao seu Pi usando o Mac
Conecte-se remotamente ao seu Pi usando o Mac
Conecte-se remotamente ao seu Pi usando o Mac
Conecte-se remotamente ao seu Pi usando o Mac

Agora que temos o pi conectado à internet, podemos remover o teclado e o mouse e conectar remotamente a ele usando "ssh"

1. Abra o "Terminal"

2. Digite

ssh pi @ IP_ADDRESS

3. Em seguida, você pode receber uma mensagem dizendo que a chave do host não foi salva, basta digitar "sim"

4. Quando promovido, insira a senha raspberry pi, que é "Raspberry"

Você agora está conectado ao pi sobre ssh

Etapa 7: Instalando o software

Como agora temos acesso remoto ao pi, precisamos instalar algum software para controlar a faixa de led

Precisaremos instalar

  • pigpio (isso transforma todos os pinos GPIO de digitais em PWM)
  • flask (script do lado do servidor que fala com o pigpio e o servidor da web)
  • apache2 (servidor da Web)

Instale pigpio

1. Primeiro, precisamos baixar uma pasta zip que contém o software pigpio não compilado, usando este comando

wget

2. Em seguida, precisamos descompactar e ir para o diretório

descompacte pigpio.zip && cd PIGPIO

3. agora que estamos no diretório, precisamos compilar e instalar o software

make -j4 && sudo make install

4. Agora abra rc.local para que possamos dizer ao pi para executar pigpiod ao iniciar

sudo nano /etc/rc.local

então, pouco antes da linha de saída, entre

Sudo Pigpiod

Você já instalou o software pigpio

Instale o frasco

primeiro precisamos atualizar a lista de software para fazer isso entrar

sudo apt update && sudo apt upgrade -y

então instale o pip

sudo apt-get install python-pip

agora podemos instalar o frasco

frasco de instalação do sudo pip

Instale o Apache2

sudo apt-get install apache2 -y

sudo apt-get install libapache2-mod-wsgi -y

Instale o git

sudo apt install git -y

Depois que tudo terminar de instalar, desligue o pi com

sudo shutdown now

Etapa 8: conectando a energia

Fiação da energia
Fiação da energia
Fiação da energia
Fiação da energia
Fiação da energia
Fiação da energia

Primeiro, precisamos conectar o conector de alimentação à placa de pão

  1. Conecte o fio preto ao conector negativo na tomada de alimentação
  2. Conecte o fio vermelho ao conector positivo na tomada de alimentação
  3. Conecte a outra extremidade do fio vermelho ao lado positivo da placa de ensaio
  4. Conecte a outra extremidade do fio preto ao lado positivo da placa de ensaio
  5. Em seguida, conecte o pino de aterramento do pi (como visto na imagem) no pino negativo na placa de ensaio

Agora temos que conectar o maisfet.

Etapa 9: Fiação dos Mosfets e Conexão do Pi

Fiação dos Mosfets e Conexão do Pi
Fiação dos Mosfets e Conexão do Pi
Fiação dos Mosfets e Conexão do Pi
Fiação dos Mosfets e Conexão do Pi
Fiação dos Mosfets e Conexão do Pi
Fiação dos Mosfets e Conexão do Pi
Fiação dos Mosfets e Conexão do Pi
Fiação dos Mosfets e Conexão do Pi

Um Mosfet permite que você controle quanta energia pode viajar para as luzes LED, precisaremos de três mosfets, pois precisamos controlar as luzes vermelha, verde e azul separadamente.

O mosfet tem três pinos, à esquerda tem o pino "Gate" que será conectado ao pi para controlar quanta energia pode fluir para a luz led

O pino central é chamado de "Drain", que irá para a luz led e fornecerá a tensão que o portão permite passar

e o pino à direita é o pino "Fonte". Este pino vai para o solo na placa de ensaio.

Conectando o Led Vermelho

  1. Coloque um mosfet na placa de ensaio
  2. conecte um fio preto do GND na placa de ensaio à fonte (pino direito)
  3. em seguida, conecte um fio vermelho do pino central no mosfet ao pino vermelho na faixa de led
  4. em seguida, conecte um fio vermelho do pino esquerdo ao GPIO 17 no pi

Conectando o Led Verde

  1. Coloque o segundo mosfet na placa de ensaio
  2. em seguida, como antes, conecte um fio preto do GND na placa de ensaio à fonte (pino direito)
  3. em seguida, conecte um fio verde do pino central no mosfet ao pino verde na faixa de led.
  4. em seguida, conecte um fio verde do pino esquerdo ao GPIO 22 no pi

Conectando o Led Azul

  1. Coloque o último mosfet na placa de ensaio
  2. o conecte outro fio preto do GND na placa de ensaio à fonte (pino direito)
  3. em seguida, conecte um fio azul do pino central no mosfet ao pino azul na faixa de led.
  4. em seguida, conecte um fio azul do pino esquerdo ao GPIO 24 no pi

Então você terá mais um pino na tira de led que será branco ou preto, basta conectar um fio do pino positivo na placa de ensaio a esse pino extra na tira de led

Agora que terminamos, podemos começar a testá-lo.

Etapa 10: Baixar e testar o Led Strip

Para baixar o código fonte para controlar a tira de Led

git clone https://github.com/DavidMontesin/Raspberry-PI-Wifi-Led-Strip.git && cd Raspberry-PI-Wifi-Led-Strip /

Para testar a tira de led execute o arquivo test.py.

python Test.py

se por algum motivo alguma das cores não acender, verifique se tudo está conectado corretamente.

como funciona esse script?

se você abrir o script python, você pode se perguntar como ele funciona; na primeira linha, você verá:

tempo de importação

esta pequena biblioteca nos permite pausar o script para que possamos manter as luzes acesas mais rápido

importar pigpio

esta biblioteca nos permite comunicar com a faixa de led

pi = pigpio.pi ()

configurar uma variável para que possamos usar pi.set_pw … em vez de pigpio.pi (). set_pw …

RedPin = 17

GreenPin = 22

BluePin = 24

estas são apenas variáveis que nos permitem dizer ao script quais led estão conectados

imprimir ("testando para vermelho")

isto irá apenas imprimir o texto na linha de comando

pi.set_PWM_dutycycle (RedPin, 255)

este comando faz parte da biblioteca pigpio e diz para definir o "RedPin" que procura para o número que definimos antes e define o seu brilho para "255" que é o máximo

tempo.sono (2)

isso faz parte da biblioteca de tempo e apenas pausará o script por 2 segundos

estes comandos flexíveis serão repetidos para os outros leds até

pi.stop ()

que vai parar de falar com a faixa de led e desligar todas as cores.

Etapa 11: Programar o script do lado do servidor

** Antes de começar, recomendo que você leia sobre python e flask:

Aqui estão alguns guias:

www.pythonforbeginners.com

docs.python-guide.org/en/latest/intro/learn…

flask.pocoo.org

Como Main.py está diretamente no git, esta etapa é apenas uma explicação do código.

Primeiro temos as bibliotecas

from flask importar Flask, render_template, request

import pigpio from thread import start_new_thread

então precisamos definir algumas variáveis

app = Flask (_ name_)

CurrentColour = "Branco" RedColourCode = 0 BlueColourCode = 0 GreenColourCode = 0 RedBeforeEffect = 0 BlueBeforeEffect = 0 GreenBeforeEffect = 0 pi = pigpio.pi ()

a primeira variável é para flask, que é nosso servidor web, vamos chamá-lo de app para que seja mais fácil de chamar e executar. Então, existem 6 variáveis que as três primeiras conterão qual cor alterar duas e as outras três conterão a cor anterior.

@ app.route ('/', methods = ['GET'])

Esta linha diz que se alguém digitar o endereço IP do pi em um navegador da web, ele executará o script abaixo dele, também tem um método GET, o que significa que qualquer texto após? Color = será passado para o servidor da web e será usado para mudar a cor da faixa de led.

def Main ():

CurrentColour global

o texto def Main () significa que criará uma função chamada main que pode ser chamada de qualquer lugar no script. e a linha global significa que ele atualizará a variável em todo o script.

if request.args.get ('Color'):

CurrentColour = request.args.get ('Color') if CurrentColour == "White": FadeTORGB (255, 255, 255) elif CurrentColour == "Red": FadeTORGB (255, 0, 0) elif CurrentColour == "Green ": FadeTORGB (0, 255, 0) elif CurrentColour ==" DarkBlue ": FadeTORGB (0, 0, 255) elif CurrentColour ==" LightBlue ": FadeTORGB (0, 255, 255) elif CurrentColour ==" Orange ": FadeTORGB (255, 15, 0) elif CurrentColour == "Pink": FadeTORGB (255, 0, 192) elif CurrentColour == "Yellow": FadeTORGB (255, 157, 0) elif CurrentColour == "Purple": FadeTORGB (123, 0, 255) elif CurrentColour == "Black": FadeTORGB (0, 0, 0) return render_template ('index.html')

Este script obterá qualquer nome após o método GET "Cor" e o salvará. ele então verificará esse nome e chamará uma função que pode fazer três outras funções para alterar as luzes vermelha, verde e azul simultaneamente

def FadeTORGB (RedNum, BlueNum, GreenNum):

start_new_thread (FadeUpRed, (RedNum,)) start_new_thread (FadeUpBlue, (BlueNum,)) start_new_thread (FadeUpGreen, (GreenNum,))

Isso irá chamar três outras funções que irão alterar a quantidade de energia que vai para cada led com um efeito de fade.

def FadeUpRed (REDUpNum):

global RedColourCode if RedColourCode <REDUpNum: while RedColourCode REDUpNum: while RedColourCode> REDUpNum: RedColourCode - = 1 pi.set_PWM_dutycycle (RedPin, RedColourCode)

def FadeUpBlue (BlueUpNum):

global BlueColourCode if BlueColourCode <BlueUpNum: while BlueColourCode BlueUpNum: while BlueColourCode> BlueUpNum: BlueColourCode - = 1 pi.set_PWM_dutycycle (BluePin, BlueColourCode)

def FadeUpGreen (GreenUpNum):

global GreenColourCode if GreenColourCode <GreenUpNum: while GreenColourCode GreenUpNum: while GreenColourCode> GreenUpNum: GreenColourCode - = 1 pi.set_PWM_dutycycle (GreenPin, GreenColourCode)

if _name_ == "_main_":

app.run (host = "0.0.0.0")

Etapa 12: Programação do servidor da Web

Agora que temos o servidor, precisamos criar um site.

Como o servidor está diretamente nos templates e nas pastas estáticas do git, esta etapa é apenas uma explicação do código.

Também recomendo que você leia sobre html, css, javascript

HTML

Primeiro precisamos programar html, é aqui que vai todo o conteúdo que pode ser estilizado usando css

1. Criação do cabeçalho (título, arquivos de ligação)

Faixa led wi-fi

As primeiras duas tags informam ao navegador que se trata de uma página da web. Em seguida, a terceira linha informa ao navegador para ocultar qualquer texto dentro do bloco e abaixo dele está o título que aparecerá na guia

Tornando a página da web em tela inteira no iOS

Para tornar a página em tela inteira, insira este código sob a tag

A seguir iremos adicionar referências ao arquivo css que faremos posteriormente esta será uma maneira diferente do usual devido ao flask ser uma forma de gerenciamento de arquivos

Depois disso, você DEVE fechar a tag e criar uma tag de corpo

A tag body significa que qualquer tag dentro dela aparecerá na página da web

Agora vamos fazer os botões de cores que podem mudar a faixa de led.

Vamos criar um para cada cor e colocá-lo em uma mesa

Esta é a moldura externa da mesa

isto irá criar uma linha para a tabela

Agora vamos criar um botão laranja

a tag td cria uma célula, então a função "onClick" irá chamar uma função javascript que iremos criar posteriormente, então a função "class" é usada para estilizar o botão e o estilo é apenas para colori-lo.

Teremos apenas que alterar o texto sendColour e o estilo do botão um do outro, mas após cada segundo botão fecharemos a linha e criaremos uma nova linha

Etc …

Então, depois de colocar todas as cores, você precisa fechar a mesa

Javascript

Agora precisamos adicionar a função "SendColour" que mencionamos antes para fazer isso, primeiro precisamos adicionar uma tag informando ao navegador que há algum javascript

então crie uma função

function SendColour (ClickedColour) {

Esta função irá enviar um pedido Ajax para o raspberry pi que o dirá para mudar para a cor que você clicou

xhttp = new XMLHttpRequest ();

xhttp.open ("GET", "? Color =" + ClickedColour, false); xhttp.send (); }

Agora precisamos fechar o javascript e o html

CSS

Agora vamos desenhar o site

primeiro cd da pasta de modelos e vá para a pasta estática

cd.. && cd estático

agora crie o arquivo Style.css

nano Style.css

Primeiro vamos fazer a mesa preencher toda a tela.

. Colours {

largura: 100%; }

.botão {

preenchimento: 25px 35px; raio da borda: 4px; }

Testando o servidor

para testar o servidor vá para a pasta do servidor web

CD..

então entre

python Main.py

isso iniciará o servidor e, no seu computador, abra o navegador da web e navegue até

YOUR_PI_PI: 5000the: 5000 no final é importante por enquanto, pois é a porta na qual o servidor da web está sendo executado.

Se você for para a página da Web e receber um "Erro interno do servidor", olhe para o console (massa ou terminal) e você verá um monte de texto, basta olhar a última linha e deve. dizer o que está acontecendo, você pode pesquisar no Google para encontrar a resposta, mas se você vir as cores na tela você pode clicar em uma e você deve ver a faixa de led ir para aquela cor, se não então verifique se a energia está conectada e ligada ou se o código html foi digitado corretamente.

Etapa 13: Fazendo funcionar com o Apache2

Agora que o testamos, temos que fazer com que ele se comunique com o apache para que possa ser executado na inicialização e na porta 80 (porta da web padrão)

1. dentro de sua pasta WebServer, crie um arquivo wsgi

nano wifiled.wsgi

Então, no arquivo, digite

import sys

sys.path.insert (0, '/ home / pi / Webserver /') do aplicativo de importação principal como aplicativo

em seguida, adicione o usuário pi a um grupo chamado www-data, isso permitirá que o apache procure na pasta do servidor web

sudo usermod -a -G www-data pi

em seguida, remova a configuração padrão

sudo a2dissite 000-default

em seguida, crie um arquivo na pasta de configuração do Apache

sudo nano /etc/apache2/sites-available/wifiled.conf

e entrar

ServerName WifiLed ServerAdmin [email protected] WSGIScriptAlias / /home/pi/Webserver/wifiled.wsgi Pedir permissão, negar Permitir de todos Requer todos ErrorLog concedido $ {APACHE_LOG_DIR} /error.log LogLevel avisar CustomLog $ {APACHE_LOG_DIR} /access combinado

então diga ao apache para ler a configuração digitando

sudo a2ensite wifiled.conf

Agora reinicie o pi, quando ele reiniciar entre no seu navegador

YOUR_PI_IP

Etapa 14: Configurando Tasker e Ifttt e outros serviços

Antes de configurarmos esses programas, você deve configurar o fording da porta em seu roteador, pois cada roteador é diferente, você pode ler como fazer aqui

Tasker

no seu dispositivo Android aberto taker

em seguida, crie um novo perfil alinhavado em um evento, você pode escolher qualquer gatilho. Eu escolhi "Phone Ringing" e defini a cor para qualquer pessoa "C: ANY", então ele irá pedir para você selecionar uma tarefa, clicar em "New Task" e nomeá-la alinhada em sua ação. Vou chamá-lo de "Chamada telefônica", em seguida, pressione adicionar ação e procure "HTTP Head" e defina o Servidor: Porta para your_raspberry_pi_IP e, em caminho, você pode definir uma cor sólida com "/? Cor = Verde" ou pode criar um efeito, faremos isso na próxima etapa. Em seguida, clique em voltar e voltar novamente.

IFTTT

primeiro vá para ifttt e crie um novo miniaplicativo Escolha qualquer gatilho (eu escolhi Botão) e então para a ação escolha o canal do criador e disse para fazer uma solicitação, então para o url insira YOUR_PUBLIC_PI /? Color = LightBlue se você não conhece o seu público ip basta inserir "My Ip" no google. Então, para o método, insira HEAD e clique em "Criar Ação" agora, quando sua ação acontecer, se você fizer uma solicitação para que seu pi mude de cor.

Outros serviços

Você também pode conectar outros serviços que façam solicitação HTTP HEAD ou GET.

Etapa 15: Criando efeitos personalizados

Em Main.py adicione uma declaração de importação, em import os digite

tempo de importação

também antes de criar um efeito, precisamos adicionar uma variável logo abaixo de GreenBeforeEffect add

CanChangeColour = True

em seguida, altere se request.args.get ('Color'):

para

if request.args.get ('Color') e CanChangeColour:

seção logo abaixo de return render_template ('Main.html') add

@ app.route ('/ Effect', methods = ['GET'])

def Efeito ():

Em seguida, defina as variáveis como globais

x = 0

global RedColourCode global BlueColourCode global GreenColourCode global RedBeforeEffect global BlueBeforeEffect global GreenBeforeEffect

agora vamos criar nosso primeiro efeito

if request.args.get ('Call'):

RedBeforeEffect = RedColourCode BlueBeforeEffect = BlueColourCode GreenBeforeEffect = GreenColourCode FadeTORGB (0, 0, 0) time.sleep (2)

Esta ação será executada quando o pi receber um pedido como "/? Effect = Call" e salvará a cor atual para que possamos chamá-la de volta. Em seguida, deixamos a faixa de led preta e esperamos até que aconteça.

Agora vamos fazer com que o led desapareça de preto para verde e depois para preto novamente e quero fazer isso cinco vezes

enquanto x <= 5: FadeTORGB (0, 255, 0) x + = 1 time.sleep (1) FadeTORGB (0, 0, 0) time.sleep (1) CanChangeColour = True time.sleep (2) FadeTORGB (RedBeforeEffect, BlueBeforeEffect, GreenBeforeEffect)

Isso contará até cinco, mas todas as vezes ele desbotará para verde e, em seguida, esperará um segundo e ficará preto. Então o que termina mudará a cor de volta para a que você tinha antes de mudar.

Agora vamos apenas criar uma resposta.

Retorna ""

Também reinicie o raspberry pi

sudo reboot

Recomendado: