Índice:
- Suprimentos
- Etapa 1: Configurando o Raspberry Pi
- Etapa 2: Configurando Seu Enviro PHAT
- Etapa 3: Definir sua conta / conexão IFTTT
- Etapa 4: Editando o Script
- Etapa 5: usando o script
- Etapa 6: Concluído
Vídeo: Mantendo seu bebê fresco neste verão - controlando fãs idiotas com coisas inteligentes !: 6 etapas (com fotos)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Duas semanas atrás, no momento em que escrevi isto, tornei-me pai de um menino incrível!
Com a mudança das estações, os dias cada vez mais longos e as temperaturas cada vez mais quentes, pensei que seria bom ter uma espécie de monitor no viveiro para ver como estava a ficar quente lá em cima!
Não mexi muito com píton ao longo dos anos, mas queria voltar a ela desde meu primeiro ano na universidade, há quase 5 anos! Por isso achei melhor documentar o que fiz, para me ajudar depois, ajudar também quem quiser fazer o mesmo!
Usando um Raspberry pi, Enviro pHAT e um plugue kasa TP-link inteligente, você pode controlar os plugues usando a estrutura IFTTT! é muito simples de fazer e você pode até mesmo modificar este passo a passo para controlar qualquer coisa por meio de diferentes sensores e diferentes dispositivos! Espero que isso seja útil. Se você gostar disso instrutível, por favor, não se esqueça de votar no meu envio no concurso de sensores!: D (desculpe a pergunta), é minha primeira vez fazendo isso e gostaria de ter uma possível chance de ganhar algo por todo o tempo que dediquei a isso
** EDITAR ** Nos próximos dias, irei analisar como enviar esses dados para uma placa Grafana, se você acha que isso seria bom, avise!: D
Vamos direto ao ponto …
Suprimentos
- Qualquer Raspberry pi serve, mas eu escolhi o Zero W porque era o que eu tinha na mão no meu desenho, ele também tem o menor formato com WiFi habilitado por padrão! - Framboesa PI Zero w
- Cartão SD, todo mundo tem preferências diferentes nesses, mas eu usei um desses! - Cartão Micro SD
- Se você tiver dúvidas, aqui está a documentação oficial com suporte para cartões SD - cartões SD oficiais com suporte
- Fios de jumpers (explicarei mais tarde) - Fios de jumpers
- Enviro pHAT para todos os sensores gloriosos! - Envrio-pHAT
- Um plugue inteligente, eu escolhi o TP-Link porque você não precisa de hubs sofisticados para colocá-lo em funcionamento! - Smart Plug!
- Um ventilador idiota para controlar, você pode usar qualquer ventilador, acabei de encontrar um ventilador na Amazon, mas qualquer ventilador de tomada de parede funcionará bem - Ventilador mudo
- Um ferro de solda, mas se você não deseja usar um ferro de solda, você pode obter um clique nos cabeçalhos para o seu PI e pHAT - GPIO-hammer-header
Para que uma conexão entre TP-links kasa e IFTTT funcione, você precisará ter uma conta TP-link kasa e IFTTT configurada antes de iniciar este instrutível. Quando você receber seu plugue inteligente TP-link, as instruções fornecidas com o plugue inteligente irão guiá-lo através do processo de configuração, incluindo como nomear seu plugue e suas funções básicas
Assim que tiver toda a sua lista de compras, é hora de montá-la!
Etapa 1: Configurando o Raspberry Pi
Imagem do seu cartão micro-SD Obtenha a melhor e mais recente imagem Raspbian, a versão lite vai funcionar bem, se não melhor para o zero w! -
Escreva esta imagem no cartão SD, você vai precisar de um leitor para isso e um imager, eu uso etcher -
Configurar Wifi (opcional) Se o seu PI tem um WIFI integrado, por que não configurá-lo agora para evitar problemas com os consoles mais tarde!
Depois que a imagem do seu pi foi criada, a unidade foi ejetada. Desconecte e conecte o cartão SD para que ele seja detectado pela máquina novamente. Uma partição de inicialização deve aparecer.
Crie um arquivo em branco chamado wpa_supplicant.conf dentro da partição de inicialização do seu pi, aqui coloque o seguinte neste novo arquivo:
rede = {
ssid = "YOUR_SSID" psk = "YOUR_WIFI_PASSWORD" key_mgmt = WPA-PSK}
Habilitando SSH em seu PI de escolha (opcional)
Por padrão, uma imagem Raspbian limpa terá seu ssh desabilitado. Você precisaria inicializar o sistema, conectar um teclado e um monitor ao Pi e habilitar o ssh. Esta etapa habilitará o ssh na primeira inicialização. Na partição de inicialização, crie um novo arquivo chamado ssh. Um arquivo vazio com exatamente esse nome.
Depois de concluir as duas etapas opcionais, seu PI se conectará automaticamente ao seu WIFI e terá o SSH ativado por padrão.
Depois de criar a imagem e configurar o cartão micro-SD, você pode inseri-lo em seu PI ou escolha e ligá-lo!
Atualizando seu PIOUma vez que você inicializou seu PI, você pode encontrar o endereço IP de seu PI nas configurações de roteadores sem fio. A maioria dos roteadores são diferentes, portanto, seria difícil escrever um guia para isso, infelizmente!
Assim que tiver o IP do seu PI, conecte-se por SSH e faça o login com o seguinte:
Nome de usuário: pi
Senha: framboesa
Depois de ter uma sessão SSH ativa com o seu PI, você vai querer atualizá-lo, basta executar o seguinte com o Y ou N correspondente ao atualizá-lo:
sudo apt-get update
sudo apt-get upgrade
é sempre bom reiniciar um PI após qualquer nova atualização ter sido instalada para garantir que ele seja executado novamente com as atualizações mais recentes, isso pode ser feito com
sudo reboot -n
Agora que o IP está pronto, é hora de passar para a próxima etapa!
Etapa 2: Configurando Seu Enviro PHAT
Ligando seu Enviro pHAT
Depois de ter seu pi totalmente atualizado, você pode conectar seu Enviro pHAT ao PI de sua escolha!
*** Para ter certeza de não danificar seu PI ou pHAT, certifique-se de desligá-lo primeiro ***
Aqui eu usei os cabos de jumper porque você consegue lavagem térmica da CPU ficando quente sob o pHAT do Enviro. Esse calor extra pode alterar as leituras de temperatura que você obteria mais tarde. Por causa disso, usei 5 cabos de jumper nos pinos abaixo:
- Pino 3 - GPIO2 (SDA I2C)
- Pino 5 - GPIO3 (SCL I2C)
- Pino 7 - GPIO4
- Pino 6 - Terra
- Pino 4 - 5V
Por favor, verifique o diagrama de fiação no topo desta etapa para referência visual ou o link abaixo:
pinout.xyz/pinout/enviro_phat
(desculpe pela pintura de má qualidade)
Ao instalar o pHAT, certifique-se de configurá-lo da maneira certa ou poderá danificá-lo !!! Para fazer isso, eu configurei o meu de forma que os cabeçalhos ANALOG IN fiquem voltados para o slot de cartão SD, isso mais tarde foi revertido em minhas fotos para caber melhor no meu "portador".
Instalando as dependências
Ligue seu PI de volta e SSH de volta
De volta ao seu PI, execute o seguinte para instalar os pacotes e software necessários para o seu Enviro pHAT:
curl https://get.pimoroni.com/envirophat | bash
Certifique-se de pressionar S ou N quando necessário.
Depois que a instalação for concluída, certifique-se de reiniciar seu PI …
sudo reboot -n
Testando o pHAT
Para certificar-se de que seu pHAT está conectado corretamente, você pode entrar em um módulo python e executar alguns comandos colocando de volta em seu PI e digitando python, uma vez em um módulo python, digite o seguinte:
do clima de importação do envirophat
imprimir (weather.temerpature ())
Isso deve mostrar a você uma leitura como abaixo:
>> do clima de importação do envirophat
>> print (weather.temperature ()) 24.0806166987
Solução de problemas
Se você obtiver algo semelhante a um erro abaixo:
Traceback (última chamada mais recente): Arquivo "", linha 1, em Arquivo "/usr/lib/python2.7/dist-packages/envirophat/bmp280.py", linha 134, em temperatura self.update () Arquivo " /usr/lib/python2.7/dist-packages/envirophat/bmp280.py ", linha 169, em atualização se self._read_byte (REGISTER_CHIPID) == 0x58: # verificar id do sensor 0x58 = Arquivo BMP280" / usr / lib / python2.7 / dist-packages / envirophat / bmp280.py ", linha 116, em _read_byte return self.i2c_bus.read_byte_data (self.addr, register) IOError: [Errno 121] Erro de E / S remota
Você pode então executar:
sudo i2cdetect -y 1
Isso executará uma verificação de diagnóstico em suas conexões / fiação e você estará procurando por algo como abaixo:
pi @ raspberrypi: ~ $ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 abcdef 00: - - - - - - - - - - - - - - 10: - - - - - - - - - - - - - - 1d - - 20: - - - - - - - - - - 29 - - - - - - 30: - - - - - - - - - - - - - - - - - 40: - - - - - - - - - 49 - - - - - - 50: - - - - - - - - - - - - - - - - - 60: - - - - - - - - - - - - - - - - - - 70: - - - - - - - 77
Caso contrário, você precisará voltar e verificar sua fiação novamente, por favor, verifique o diagrama de fiação e tente novamente!
Instalando o script pi-baby-cooler.py
Se tudo estiver bem e você obtiver a leitura da temperatura, podemos prosseguir e instalar o pacote baby-cooler.py!
Devido à forma como instructables manipulam links, anexei o script.py no cabeçalho da etapa acima … Para copiar isso para o seu PI, recomendo usar algo como WinSCP:
winscp.net/eng/download.php
WinSCP é um cliente SFTP e cliente FTP popular para Microsoft Windows! Copie o arquivo entre um computador local e servidores remotos usando os protocolos de transferência de arquivos FTP, FTPS, SCP, SFTP, WebDAV ou S3.
WinSCP é simples de usar, simplesmente conecte-se ao seu PI usando o endereço IP do seu PI e arraste e solte o arquivo.py de onde você gostaria de executá-lo para mim, isto é, de / home / pi.
Agora que o script.py está em seu PI, é hora de passar para a configuração de sua conta / conexões IFTTT
Etapa 3: Definir sua conta / conexão IFTTT
A seguir, veremos como obter um token IFTTT, que será usado ao chamar a função quente / frio no script para conectar ao plugue kasa e ligar / desligar o ventilador.
Criação de webhooks
Vá para https://ifttt.com/ e crie uma conta se ainda não tiver uma.
Depois de fazer o login, na barra de pesquisa, pesquise: TP-link kasa
Depois de carregado, clique em serviços e depois em TP-link kasa. Em seguida, você precisará conectar sua conta kasa à sua conta IFTTT, faça login em sua conta kasa através do IFTTT para fazer uma conexão.
Depois de vincular sua conta, clique em "Meus miniaplicativos" e, em seguida, em novo miniaplicativo, clique em "+ this" e pesquise webhooks.
Clique em "Receber uma solicitação da web", no nome do evento digite hot (pode ser o que você quiser, mas você deve atualizar isso mais tarde no script pi-baby-coller.py ou isso não funcionará, usei o hot para ativar o ventilador ligado e frio para desligar o ventilador. Em seguida, clique em criar gatilho.
Em seguida, precisamos vincular seu novo acionador à sua conta Kasa, clicar em "+ isso" e pesquisar kasa, clicar no link TP-kasa e clicar em "ligar", após isso selecione o dispositivo que deseja ligar e clique em criar açao. Revise a ação e clique em Concluir se estiver correto.
**********
Lembre-se de que se você escolheu outro nome de evento diferente de "quente" e "frio", você precisará anotar isso para mais tarde e atualizar o script! Caso contrário, o script.py não funcionará
**********
Depois de criar nosso primeiro web hook, repita o processo para "frio", mas desta vez você está selecionando desligar em vez de ligar ao selecionar a ação +.
Assim que tivermos dois webhooks de eventos na seção de minha conta de miniaplicativos, clique em serviços e pesquise webhooks e clique nisso. Aqui você verá um botão de documentação (canto superior direito), clique nele. É aqui que você encontrará sua chave de token IFTTT. enquanto aqui anote sua chave (você precisará dela mais tarde), eu editei a minha dentro da imagem, caso contrário, qualquer pessoa seria capaz de ligar ou desligar meus plugues inteligentes.
Testando os webhooks
Agora que criamos dois webhooks que estão conectados à nossa conta kasa, podemos testar se eles funcionam ou não!
No seu PI, você pode inserir o seguinte:
curl -X POST
Onde diz "quente", você precisa adicionar o nome do seu evento; se você o deixou como "quente", deixe como está. Onde diz / você … você precisa substituí-lo por sua chave de token IFTTT. Pressione Enter e você deverá ouvir o clique do relé dos plugues inteligentes ligando o plugue. Se você não conseguiu ouvir, pode verificar o aplicativo Kasa para verificar o status dos seus plugues.
Agora temos as dependências do nosso Enviro pHAT instaladas e agora temos a configuração do IFTTT, hora de terminar com a modificação do código.
Etapa 4: Editando o Script
Nome do evento e IFTTT TOKENSBack em seu pi, escalar para a localização de seu script pi-baby-cooler.py, para mim em / home / pi (minha pasta de início) e editar o arquivo usando nano:
nano pi-baby-cooler.py
Dentro do localizador onde diz def turn_off ()
def turn_off ():
# Defina sua palavra de gatilho - por exemplo, "cold" - e o token IFTTT Webhook abaixo. TRIGGER_WORD = "cold" TOKEN = "SEU TOKEN IFTTT VAI AQUI" request.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Fan off!"):
Esta é a função de desligar o ventilador. Ele faz isso enviando um webhook para o IFTTT que aciona o tplink HS100 para desligar. Se você manteve o funcionamento do acionador em sua conta IFTTT da mesma forma que "frio", pode deixá-lo ativado e apenas substituir o token obtido anteriormente na documentação dos webhooks. Se você escolheu um nome de evento diferente, substitua esta palavra aqui.
Depois de colar seu token IFTTT, vá para a próxima seção onde diz def turn_on ()
def turn_on (): # Defina sua palavra de acionamento - por exemplo, "hot" - e o token IFTTT Webhook abaixo. TRIGGER_WORD = "hot" TOKEN = "SEU TOKEN IFTTT VAI AQUI" request.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Ventilador ligado!")
Esta função é o inverso de desligado, ela liga o plugue inteligente TP-link!
Se você manteve o funcionamento do acionador em sua conta IFTTT da mesma forma que "quente", pode deixá-lo ativado e apenas substituir o token obtido anteriormente na documentação dos webhooks. Se você escolheu um nome de evento diferente, substitua esta palavra aqui.
Todo o resto já está codificado, então você não deve ter que fazer nenhuma alteração no código, exceto TRIGGER_WORD, TOKEN e alguns ajustes de temperatura que estão a seguir!
Mudando as temperaturas
Em seguida, encontre onde diz # Variáveis locais.
tente: # Variáveis locais. state = 0 # Define o estado do switch low = 20 # Valor baixo para o nível de temperatura (celcius). alto = 24 # Valor alto para o nível de temperatura (graus celcius). período = 120 # Atraso, em segundos, entre chamadas.
A variável de estado é como o pi sabe se o plug está ligado ou não, isso é atualizado mais tarde se ficar muito quente (24 + * c então o estado é alterado mais tarde para 1), isso também dispararia para o webhook e ligaria o plugue inteligente!
A variável baixa é o quão legal eu quero que o ambiente fique antes que o plugue seja desligado. Se desejar um aquecedor de ambiente, basta alterá-lo para um valor mais alto. Se você quiser mais frio, diminua o valor.
A variável alta é a temperatura máxima que eu quero que a sala chegue antes que eu queira que o ventilador ligue e comece a esfriar a sala. Se quiser que o ventilador ligue antes disso, basta diminuir o valor ou se quiser que fique mais quente, então aumente o valor.
A variável de período é a duração em segundos entre as verificações de temperatura, se você quiser que o script pi verifique com menos frequência, então aumente o número, se você quiser encurtar o tempo, diminua o número.
Depois de fazer as alterações, salve e saia do nano
CTRL + x
Etapa 5: usando o script
Executando o script localmente
Existem algumas maneiras de executar este script, você pode se conectar via SSH e digitar o seguinte:
sudo python /pi-baby-cooler.py
Isso executará o script sob demanda e só funcionará enquanto houver uma sessão SSH ativa para o PI. A outra maneira é usar a tela, a tela não é instalada por padrão, eu não acho, então uma tela de instalação do sudo apt terá que ser usada.
Aqui está um ótimo tutorial sobre como usar a tela corretamente:
Screen ou GNU Screen é um multiplexador de terminal. Em outras palavras, significa que você pode iniciar uma sessão de tela e depois abrir qualquer número de janelas (terminais virtuais) dentro dessa sessão. Os processos em execução na Tela continuarão a ser executados quando a janela não estiver visível, mesmo que você seja desconectado.
Automatizando para rodar na inicialização
A outra maneira é editar o arquivo de inicialização em /etc/rc.local para fazer isso usando o nano.
sudo nano /etc/rc.local
A edição deste arquivo fará com que o script seja executado na inicialização. o que significa que ele sempre estará em execução quando o PI for ativado, é assim que executo 90% dos meus scripts em outros PIs.
Se você usou o rc.local, pode executar o comando abaixo para verificar o que está sendo executado atualmente no PI. Isso é útil para solucionar problemas posteriormente para ver se o script está funcionando ou não:
ps -aef | grep python
Etapa 6: Concluído
Bem… Obrigado se você ainda está aqui e chegou a este ponto!
Desculpe, faz muito tempo, este foi o meu primeiro instrutível e não tinha certeza do que escrever.
Como mencionei no início, este instructables tem muitas aplicações diferentes com ele usando calor para acionar um plugue inteligente! você pode resfriar qualquer cômodo da casa / apartamento / apartamento / garagem / galpão. Você pode até mesmo modificar o IFTTT para acionar qualquer dispositivo inteligente que seja controlável por meio do IFTTT, não precisa ser apenas dispositivos kasa TP-link.
Eu adoraria saber se você experimentou este instructables ou mesmo se você achou interessante, por favor, deixe-me um comentário abaixo!
Se você tiver alguma dúvida, deixe-a abaixo e eu tentarei o meu melhor para respondê-la!
Vice-campeão no concurso de sensores
Recomendado:
Talos, mantendo você seguro durante seu trajeto: 5 etapas
Talos, mantendo você seguro durante seu trajeto: Ser vítima de assédio durante o trajeto é algo bastante comum para muitas pessoas, especialmente mulheres. Seja qual for o país, usar transporte público geralmente significa saber que você pode ser assediado sexualmente ou mesmo seguido enquanto caminha para casa. Naqueles
Como fazer cortinas de rolo inteligentes DIY com interruptores SONOFF inteligentes ?: 14 etapas
Como fazer DIY Smart Roller Blinds com SONOFF Smart Switches ?: Utilize o modo Interlock em SONOFF smart switches para transformar suas cortinas / venezianas comuns em inteligentes. e puxar para baixo à noite? Enfim, eu sou
Faça com que os cegos reconheçam as coisas tocando as coisas ao seu redor usando o MakeyMakey: 3 etapas
Faça com que os cegos reconheçam as coisas tocando as coisas ao seu redor usando o MakeyMakey: introduçãoEste projeto visa facilitar a vida dos cegos identificando as coisas ao seu redor por meio do sentido do tato. Eu e meu filho Mustafa pensamos em encontrar uma ferramenta para ajudá-los e no período que usamos o hardware MakeyMakey t
Mantenha a calma neste verão: Ventilador para PC Mod: 4 etapas (com fotos)
Fique frio neste verão: PC Fan Mod: Quem não tem uma dúzia desses PC Fans por aí? Nesta compilação, mostrarei como usar esses ventiladores para produzir uma boa brisa ajustável durante os dias quentes de verão. E funciona por pelo menos 4 horas com uma bateria normal de 9V
Festa segura neste verão com uma xícara de LED reativa a álcool no sangue Arduino: 10 etapas
Festa segura neste verão com um copo de LED reativo a álcool no sangue Arduino: Nível do projeto Dificuldade: Intermediário Habilidades necessárias: - Ler e replicar um diagrama - Soldar se você optar por não comprar peças pré-soldadas Introdução do projeto Nos Estados Unidos e em todo o mundo, o álcool tem representou graves ameaças à saúde q