Índice:

Projeto Totoro - IoT e MQTT e ESP01: 7 etapas (com imagens)
Projeto Totoro - IoT e MQTT e ESP01: 7 etapas (com imagens)

Vídeo: Projeto Totoro - IoT e MQTT e ESP01: 7 etapas (com imagens)

Vídeo: Projeto Totoro - IoT e MQTT e ESP01: 7 etapas (com imagens)
Vídeo: Система позиционирования в помещении с использованием модуля ESP32 UWB (сверхширокополосный) 2024, Novembro
Anonim
Projeto Totoro - IoT e MQTT e ESP01
Projeto Totoro - IoT e MQTT e ESP01
Projeto Totoro - IoT e MQTT e ESP01
Projeto Totoro - IoT e MQTT e ESP01

O Projeto Totoro é um bom projeto IoT que você pode copiar em muitas outras formas diferentes.

Usando a placa ESP01, com o protocolo MQTT, você pode comunicar o status do botão ao MQTT Broker (no meu caso, AdafruitIO).

Um guia útil para MQTT e Adafruit:

Você pode usar cada MQTT Broker que desejar e o mesmo para a função do botão.

Como funciona?

Todos os dispositivos da rede são conectados ao MQTT Broker e leem o canal chamado "love_box".

Quando você pressiona o botão em um dispositivo, ele envia uma mensagem no canal e os outros dispositivos piscam o led. Até que você não pressione o botão, o dispositivo pisca.

Com este sistema você pode enviar um pequeno "blare" para outro dispositivo.

Etapa 1: os materiais

Os materiais
Os materiais
Os materiais
Os materiais
Os materiais
Os materiais

Para criar este projeto você precisa de alguns materiais:

  1. Placa ESP01

    Útil - O programador para ESP01 (DIY)

  2. Modelo 3D

    1. Totoro - https://goo.gl/n3mAsi -
    2. Meshmixer - https://goo.gl/qqMzh - para modelar qualquer modelo 3D
  3. Componentes eletrônicos

    1. Regulador de tensão LM317
    2. Resistores: 150ohm, 270ohm, 10K e 68ohm.
    3. Capacitores: 10uF
    4. Led - ou led interno -
    5. Mini interruptor de botão de pressão
  4. Solda
  5. Protoboard
  6. Cabeçalhos femininos
  7. Filamento 3D transparente
  8. Fonte de energia

    Conector BNC - https://goo.gl/DrD8k2 -

  9. Alguns fios

Etapa 2: Faça o protoboard

Faça o Protoboard
Faça o Protoboard
Faça o Protoboard
Faça o Protoboard
Faça o Protoboard
Faça o Protoboard
Faça o Protoboard
Faça o Protoboard

O poder da placa:

Pegue o protoboard e solde os componentes de acordo com a primeira foto.

Essa configuração permitiu que o LM317 - https://goo.gl/VtzNz - produzisse cerca de 3,4 volts para o ESP01.

Pergunta: por que não consigo usar o LM7805?

Resposta: a série LM780x não funciona com menos de 5 volts e não pode produzir 3,3 volts.

Ao terminar, verifique a tensão de saída com o multímetro. Deve ter cerca de 3,4 volt e 4,3 volt.

Como fonte de alimentação, você pode usar uma fonte de alimentação de 5 V ou maior. Eu recomendo que você não use mais de 9 volts, ele emite muito calor - perda de energia -!

O quadro:

A ESP01 é uma placa da série ESP, é pequena e prática, mas não muito amigável.

Lembre-se, você não pode usar os pinos do Arduino para se comunicar diretamente com o ESP01, porque ele é tolerante a pinos de 3,3 volts.

É um programador muito útil feito para programar o ESP01 com um FTDI:

Use a segunda imagem como um guia e lembre-se das funções especiais dos pinos, terceira imagem, vista no guia acima.

Para mais informações, leia os primeiros passos deste guia:

Se você é italiano, pode ler meu guia do ESP01 e FTDI DIY:

Conclua o Protoboard:

A quarta imagem é o final do projeto no protoboard.

Eu recomendo fortemente os conectores fêmeas para conectar a placa ao protoboard. Caso algo dê errado, você pode reconectar outra placa.

Não conecte o botão e o resistor dela, faremos isso depois.

Etapa 3: MQTT Broker - Adafruit IO

MQTT Broker - Adafruit IO
MQTT Broker - Adafruit IO
MQTT Broker - Adafruit IO
MQTT Broker - Adafruit IO

O MQTT Broker é um "servidor" para todas as suas mensagens, de e para os dispositivos. Dê uma olhada na primeira imagem.

Para obter mais informações, use este guia útil:

No meu caso, eu uso o Adafruit IO, mas você pode usar qualquer MQTT Broker que desejar.

Acesse o Adafruit IO e faça o cadastro.

Agora você precisa criar um novo painel e:

  • Adicionar feed - https://goo.gl/z2Npto -

    Pois meu código é "love_box"

  • Adicionar blocos - https://goo.gl/YJsCqX -

    • Botão momentâneo: link para "love_box" com Press Value = 1 e Release Value = 0
    • Gráfico de linha: link para "love_box" com Mínimo do eixo Y = 0 e Máximo do eixo Y = 2

No final, você terá algo parecido com a segunda imagem.

Pergunta: por que é tão importante o nome "love_box" no painel?

Resposta: no MQTT Broker - Ada IO - você criou o canal chamado "love_box", e se no código você usou um canal diferente, o MQTT não funcionará.

A última etapa no MQTT Broker - Ada IO - é a "CHAVE AIO". No painel, clique na pequena tecla superior direita.

Agora copie o "nome de usuário" e a "chave ativa" e escreva-os no código do Arduino.

Etapa 4: Código Arduino

Código Arduino
Código Arduino
Código Arduino
Código Arduino

Instale ESP Core para Arduino IDE:

O guia principal é este: https://goo.gl/yAqlU4 e siga o “Instalando com Gerenciador de Placas”.

Agora dê uma olhada na primeira imagem. A versão preta do ESP01 tem um tamanho de disco flash de 1 MB e a versão azul tem 512k. O que significa? Olhe para a segunda imagem, você precisa selecionar o "tamanho do Flash" correto.

O código do Arduino está neste repositório: Código muito claro para ler.

Lembre-se de editar:

  • AIO_USERNAME
  • AIO_KEY
  • Wifi_number

Se você decidiu editar o canal "Adafruit_MQTT_Publish" e "Adafruit_MQTT_Subscribe", você deve editar as mesmas linhas e as chamadas no código.

Etapa 5: Meshmixer e impressão 3D

Meshmixer e impressão 3D
Meshmixer e impressão 3D
Meshmixer e impressão 3D
Meshmixer e impressão 3D
Meshmixer e impressão 3D
Meshmixer e impressão 3D
Meshmixer e impressão 3D
Meshmixer e impressão 3D

Modelo 3D

Para o meu projeto, preciso de um modelo 3D do Totoro.

Eu o encontrei no thingiverse, neste link:

Você pode usar todos os modelos 3D que quiser, as próximas etapas são as mesmas.

Concha

É hora de instalar o Meshmixer. Com esta ferramenta poderosa, você pode fazer o shell para o seu projeto.

Importe no Meshmixer o Totoro STL, e use a ferramenta Hollow:

Na mesma ferramenta, lembre-se de fazer um Escape Holes nas costas.

Agora você precisa cortar o modelo pela metade usando a ferramenta Plane Cut:

Use o botão exportar para exportar a parte inferior.

No final, você deve cortar a orelha. Selecione a orelha e use a ferramenta Separar - cinco imagens -.

Use o botão de exportação para exportar a orelha.

Volte para a metade superior do modelo e use a ferramenta Apagar e Preencher: https://goo.gl/d4LR76 - seis imagens -.

Impressão 3D

Prefiro imprimir as peças uma de cada vez, lembre-se de usar o filamento 3D transparente!

Etapa 6: Montagem

conjunto
conjunto
conjunto
conjunto
conjunto
conjunto
conjunto
conjunto

Faça um furo no topo da cabeça. Este furo é necessário para colocar dentro do botão.

Bloqueie o botão com a cola quente, e teste a conexão com um multímetro em modo de continuidade.

Pegue a orelha e acrescente um pedacinho no fundo, usando hot blue ou super attack. Corte a peça se estiver muito alta.

Agora você pode conectar o botão e seu resistor de acordo com o esquema na etapa 2.

Primeiro teste

Lembre-se de não fechar o modelo 3D antes de testar o funcionamento correto!

Pressione o botão no Adafruit IO e o led interno deve piscar, até que você pressionou o botão na orelha.

Repita o teste com o botão na orelha.

Etapa 7: pronto para ir

Image
Image
Pronto para ir
Pronto para ir

Finalmente, este é o resultado final.

- Questão: você utilizou o led interno ou o led vermelho externo?

- Resposta: nesta foto e vídeo usei o led interno. Para esclarecer melhor, o LED vermelho é o led de força - não dá para desligar - e o LED azul é o led interno. O led interno e o led externo, no meu esquema, é o mesmo pino.

- Pergunta: posso usá-lo na rede desconhecida?

- Resposta: não, você não pode. Você deve reprogramar o ESP01, pois esta placa não tem espaço para OTA.

Muita informação para o OTA:

Mas você pode fazer isso de maneira espessa: adicione um ID de conexão especial e uma senha para o seu Hotspot pessoal no seu telefone!

Recomendado: