Índice:

Da lanterna ao sensor de movimento com ESP8266 e MQTT: 5 etapas (com imagens)
Da lanterna ao sensor de movimento com ESP8266 e MQTT: 5 etapas (com imagens)

Vídeo: Da lanterna ao sensor de movimento com ESP8266 e MQTT: 5 etapas (com imagens)

Vídeo: Da lanterna ao sensor de movimento com ESP8266 e MQTT: 5 etapas (com imagens)
Vídeo: Alarme de Segurança com Sensor PIR e ESP8266 - Sensor de Movimento 2024, Novembro
Anonim
Image
Image
LEDs precisam de corrente para serem limitados
LEDs precisam de corrente para serem limitados

Nesta postagem, eu apresentaria os itens abaixo:

  • LEDs precisam de um circuito de limitação de corrente
  • como fazer uma lanterna
  • fazer uma luz alimentada por bateria portátil, e escurecer os LEDs por ESP8266 via MQTT

O vídeo é uma recapitulação e uma breve explicação de como isso funciona,

Eu planejava incluir o sensor PIR, mas o tutorial fica um pouco longo para que o sensor PIR seja apresentado na segunda parte deste tópico

Então vamos começar.

Etapa 1: LEDs precisam de corrente para serem limitados

Para os iniciantes, isso é estranho considerando como normalmente acender uma lâmpada incandescente ou fluorescente. Não se preocupe, as lâmpadas LED na prateleira já vêm com um adaptador de energia AC-DC e uma limitação de corrente. Mas seria bom fazer algo do zero.

Uma chave para girar um LED é um circuito de limitação de corrente. Funciona como uma válvula de corrente para que, uma vez que a tensão aplicada ao LED tornando-o condutiva, a corrente que flui pelos LEDs não possa ser maior do que a regulada pelo circuito. As falhas de LEDs geralmente resultam de superaquecimento. Nenhum circuito limitador de corrente instalado é uma maneira segura de queimar os LEDs em alguns segundos. Aliás, fixar os chips de LED, aqueles que vêm na moldura de alumínio, em um dissipador de calor reduzem o chip de LED e geralmente recomendado.

Eu estava coçando muito minha cabeça quando aprendi isso por volta de 2015, e ainda coçando minha cabeça (por diferentes motivos). Aprendi com este tutorial e sua explicação clara me salvou alguns cratches.

O circuito está conectado. As linhas em negrito significam a rota de carga principal, e as mais finas indicam o mecanismo de controle para controlar a corrente da rota principal que é cerca de 150 mA. A Wikipedia tem um pequeno artigo e algumas referências anexadas. A limitação de corrente pode ser construída com um transistor substituindo o MOSFET por transistores de carga de corrente média, como BD135, BD139.

Etapa 2: Faça uma lanterna

Faça uma lanterna
Faça uma lanterna
Faça uma lanterna
Faça uma lanterna
Faça uma lanterna
Faça uma lanterna
Faça uma lanterna
Faça uma lanterna

Peças necessárias:

  1. um MOSFET de canal N (IRF540N $ 1,62 / 10pcs, 30N06, $.1,75 / 10pcs)
  2. um transistor NPN (como S8085)
  3. 3,9 ohm - resistor de 2W, a corrente limitada em torno de 0,6 / 3,9 = 153mA
  4. Resistor 100kR (1 / 4W)
  5. Um interruptor push-lock
  6. Há 0,5 W 8mm LED, $ 3,18 / 100pcs aqui
  7. Uma bateria de lítio 18660. Eu salvei alguns deles de um banco de energia. Bateria do laptop (4, 6, 8 células) feita de 18.650 células, mas cuidado com isso.
  8. 1 placa de reforço de até 12V, como esta, $ 0,56
  9. 1 carregador de lítio como este, $ 0,30

A principal diferença para o circuito acima é o uso de uma bateria de lítio (18660) com placa de reforço em vez de um adaptador de força de 5V mock-up.

A última foto mostra a lanterna final e ela estava carregando de qualquer fonte micro USB (> 1A).

Etapa 3: Internet das coisas com esta lanterna?

Internet das coisas com esta lanterna?
Internet das coisas com esta lanterna?
Internet das coisas com esta lanterna?
Internet das coisas com esta lanterna?
Internet das coisas com esta lanterna?
Internet das coisas com esta lanterna?

Eu divido essa parte em três etapas:

  • Prepare um assinante (este)
  • Configure o servidor MQTT (próxima etapa)
  • e preparar um editor (o próximo)

Partes:

Primeiro, sim, usei aquele chavão, também conhecido como IOTs, mas este poderia fazer uma boa combinação de usar o circuito na Etapa 2 com um ESP8266 e, em seguida, controlar a intensidade da luz pelo método MQTT.

As peças do circuito são idênticas, exceto:

  1. Substitua 12V boost up por MT3608 boost up board, $ 1,92 / 5pcs, este pode aumentar a tensão de uma bateria 18650 (cerca de 3,7V) para 28 V, o suficiente para alimentar 8LEDs (em vez de 3).
  2. A posição un-push no switch está conectada ao GPIO 1 ou 2 no ESP8266 para o sinal PWM.
  3. ESP8266 01, $ 1,68 cada. Como este
  4. AMS1117 3,3 V, um regulador de tensão para ESP8266, alguns capacitores
  5. Um módulo USB para flash ESP8266, $ 0,78 / pcs como este

Por falar nisso. esses links são para sua conveniência.

Soldando e carregando:

  • Soldar as peças e usar os esquemas acima. Alguns circuitos de tensão 3.3 pré-fabricados podem economizar algum tempo ($ 1,38 / 5 unidades como este). Fiquei confuso ao lembrar do pino ao inverter a placa PCB e acabei por satisfazer algum regulador de tensão AMS1117.
  • Próximo. Faça uma pequena modificação como na terceira foto para manter o GPIO 0 pressionado para GND, toque rapidamente no pino RST com pino GND para colocar o ESP8266 no modo Flash.
  • Baixe o código aqui do meu GitHub e envie o código para ESP 8266 usando o IDE do Arduino.

Eu destaquei a linha para mostrar o tópico que o assinante assinou. Qualquer mensagem postada neste tópico será repassada para outros clientes (assinantes) deste tópico. O EPS8266 neste circuito ouvirá a mensagem JSON postada no tópico e disparará se uma alteração foi feita no canal Três

* Era uma vez, pensei que poderia colocar um resistor pull-down (100k) para aterrar o Gate do MOSFET quando o ESP8266 não era apresentado. Isso funciona na ausência de um ESP8266, mas com ESP8266, o resistor também puxa para baixo o GPIO0 ou 2 para GND, tornando-os em um modo Flash ou não inicializa (quando GPIO2 está BAIXO)). Você verá um verde sólido se isso acontecer.

Etapa 4: configurar o servidor MQTT

Configurar servidor MQTT
Configurar servidor MQTT
Configurar servidor MQTT
Configurar servidor MQTT
Configurar servidor MQTT
Configurar servidor MQTT
Configurar servidor MQTT
Configurar servidor MQTT

MQTT (Message Queuing Telemetry Transport) é um protocolo de mensagens baseado no método publicar-assinar. O dispositivo que hospeda a mensagem MQTT de entrada e saída é chamado de intermediário. Como um corretor real, ele hospeda a troca entre editores (vendedores) e assinantes (compradores). Nenhum dinheiro muda de mãos. Existem muitos tutoriais para isso.

Aqui está a recapitulação. Raspberry Pi é o dispositivo mais popular para isso. Primeiro, instale o MQTT por:

sudo apt-get install mosquitto mosquitto-clients

teste se o servidor MQTT está funcionando, abrindo dois terminais no Raspberry, um digite a primeira linha e o outro para a próxima:

mosquitto_sub -h localhost -t "yourtopic"

mosquitto_pub -t "yourtopic" -h localost -m "diga algo"

Você deverá ver o "diga algo" aparecer no primeiro terminal. Walah! Funciona.

O "#" pode ser usado para ouvir qualquer tópico, substitua "seu tópico" por "#"

Agora que você não quer que alguém publique ou assine o seu servidor MQTT, você deve configurar uma senha, fazendo isso:

cd ~

mosquitto_passwrd -c pwfile mqtt_user

mqtt_user podem ser outros nomes de usuário de sua preferência, digite a senha duas vezes e atualize o arquivo.conf:

sudo nano /etc/mosquitto/mosquitto.conf

adiciona estas duas linhas:

allow_anonymous false

password_file / home / pi / pwfile

em seguida, reinicie o mosquito ao:

sudo systemctl restart mosquitto

faça um teste incluindo o nome com uma senha como:

mosquitto_sub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456"

mosquitto_pub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456" -m "isso é seguro?"

Além disso, se o MQTT recusar a conexão, tente fazer isso para colocar o serviço MQTT em segundo plano do sistema Linux:

mosquitto -d

Achei que essas referências são boas para se dar uma olhada. Aprendi algo com esses dois hoje.

  1. Adafruit:
  2. Stees-internet-guide.com

Etapa 5: preparar um editor

Prepare um editor
Prepare um editor
Prepare um editor
Prepare um editor
Prepare um editor
Prepare um editor
Prepare um editor
Prepare um editor

Para este, faço um painel simples para enviar a mensagem para o servidor MQTT. No modo de espera, o LCD mostra o relógio.

Partes:

  1. SSD1306 Tela, $ 2,41 cada
  2. EPS8266 WEMOS D1 Mini, $ 2,53 cada
  3. Um potenciômetro
  4. Um interruptor deslizante de 4 pinos.
  5. dois LEDs de 3 mm,
  6. alguns resistores

De solda:

Aqui está o esquema deste terminal:

Faça upload do código:

A marca WEMOS ESP8266 é agradável de trabalhar. Você só precisa de um micro USB, pressione o botão de upload no IDE do Arduino flash do chip. O código está aqui (GitHub):

Para publicar uma mensagem, pressione o interruptor para ligar o LED verde (e desligar o vermelho), em seguida, deslize o pino para cima e ajuste e, finalmente, pressione o botão novamente para enviar a mensagem para o servidor MQTT. O painel pode publicar uma mensagem JSON para 4 canais.

Dê uma olhada no destaque no código (captura de tela). Esse é o tópico para o qual o painel envia a mensagem, e nossos LEDs estão muito ansiosos para ver qualquer novidade da mensagem JSON

Isso é tudo. Espero que o tutorial seja útil.

Recomendado: