Instructables Câmera de Segurança Super Barata com ESP32-cam Manual de Instruções
Instrutables Câmera de segurança super barata com ESP32-cam

Câmera de segurança super barata com câmera ESP32

Ícone de configuração por Giovanni Aggiustatutto

Hoje vamos construir esta câmara de videovigilância que custa apenas 5€, como uma pizza ou um hambúrguer. Esta câmera está conectada a WiFi, portanto poderemos controlar nossa casa ou o que a câmera vê do telefone em qualquer lugar, seja na rede local ou externa. Também adicionaremos um motor que faz a câmera se mover, para que possamos aumentar o ângulo que a câmera pode olhar. Além de ser usada como uma câmera de segurança, uma câmera como esta pode ser usada para muitas outras finalidades, como verificar se uma impressora 3D está funcionando corretamente para pará-la em caso de problemas. Mas agora, vamos começar

Para ver mais detalhes desse projeto, assista ao vídeo no meu canal do YouTube (está em italiano mas tem Legendas em inglês).
Suprimentos:

Para construir esta câmera, precisaremos da placa de câmera ESP32, da pequena câmera fornecida com ela e de um adaptador USB para serial. A placa de câmera do ESP32 é um ESP32 normal com esta pequena câmera, tudo em um pcb. Para quem não sabe, o ESP32 é uma placa programável semelhante a um Arduino, porém com um chip muito mais potente e com capacidade de conexão WiFi. É por isso que usei o ESP32 para vários projetos de casas inteligentes no passado. Como eu disse antes, a placa de câmera ESP32 custa cerca de € 5 no Aliexpress.

Além disso, precisaremos de:

  • um servo motor, que é um motor capaz de atingir um ângulo específico que é comunicado a ele pelo microcontrolador
  • alguns fios

Ferramentas:

  • ferro de solda (opcional)
  • impressora 3D (opcional)

Para ver o que a câmera vê do telefone ou computador e tirar fotos, usaremos Assistente de casa e ESPhome, mas falaremos sobre isso mais tarde.
Instruções de montagem
Instruções de montagem

Passo 1: Preparando o ESP32-cam 

Primeiro você tem que conectar a câmera na placa com o conector pequeno, que é bem frágil. Depois de colocar o conector, você pode abaixar a alavanca. Em seguida, prendi a câmera em cima do quadro com um pedaço de fita dupla face. A câmera ESP32 também tem a capacidade de inserir um micro SD e, embora não a usemos hoje, ela nos permite tirar fotos e salvá-las diretamente lá.
Instruções de montagem
Instruções de montagem
Instruções de montagem
Passo 2: Carregar Código

Normalmente as placas Arduino e ESP também possuem um soquete usb para carregar o programa do computador. No entanto, este não possui entrada USB, portanto, para conectá-lo ao computador para carregar o programa, você precisa de um adaptador USB para serial, que se comunica com o chip diretamente pelos pinos. A que encontrei é feita especificamente para esse tipo de placa, então ela simplesmente se conecta aos pinos sem precisar fazer nenhuma outra conexão. No entanto, adaptadores usb para serial universais também devem ser 2ne. Para carregar o programa, você também deve conectar o pino 2 ao terra. Para fazer isso, soldei um conector jumper a esses dois pinos. Assim, quando preciso programar a placa, basta colocar um jumper entre os dois pinos.
Instruções de montagem
Instruções de montagem
Instruções de montagem

Etapa 3: conectar a câmera ao Home Assistant 

Mas agora vamos dar uma olhada no software que irá operar a câmera. Como eu disse antes, a câmera será conectada ao Home Assistant. O Home Assistant é um sistema de automação residencial que funciona localmente, o que nos permite controlar todos os nossos dispositivos de automação residencial, como lâmpadas e tomadas inteligentes, a partir de uma interface.

Para executar o Home Assistant eu uso um PC Windows antigo rodando uma máquina virtual, mas se você tiver pode usar um Raspberry pi, que consome menos energia. Para ver os dados do seu smartphone pode descarregar a app Home Assistant. Para conectar de fora da rede local estou usando o Nabu Casa Cloud, que é a solução mais simples mas não é gratuita. Existem outras soluções, mas não são totalmente seguras.

Assim, no aplicativo Home Assistant, poderemos ver o vídeo ao vivo da câmera. Para conectar a câmera ao Home Assistant, usaremos o ESPhome. ESPhome é um add-on que permite conectar placas ESP ao Home Assistant via WiFi. Para conectar o ESP32-cam ao ESPhome, você pode seguir estas etapas:

  • Instale o plug-in ESPhome no Home Assistant
  • No painel do ESPhome, clique em Novo dispositivo e em Continuar
  • Dê um nome ao seu dispositivo
  • Selecione ESP8266 ou a placa que você usou
  • Copie a chave de criptografia fornecida, precisaremos dela mais tarde
  • Clique em EDITAR para ver o código do dispositivo
  • Em esp32: cole este código (com framework: e digite: comentado)

esp32

borda: esp32cam
#estrutura:
# tipo: arduino

  • Em com, insira seu wi2 ssid e senha
  • Para tornar a conexão mais estável, você pode dar à placa um endereço IP estático, com este código:

Wi-fi: 

SSID: seu nome
senha: sua senha wi-fi

manual_ip

# Defina isso para o IP do ESP
I.P. estático: 192.168.1.61
# Defina isso para o endereço IP do roteador. Frequentemente termina com 1
porta de entrada: 192.168.1.1
# A sub-rede da rede. 255.255.255.0 funciona para a maioria das redes domésticas.
subnet: 255.255.255.0

  • No final do código, cole este:

2_câmera:
nome: Câmera 1
relógio_externo:
alfinete: GPIO0
freqüência: 20MHz
i2c_pins:
sda: GPIO26
scl: GPIO27
pinos_dados: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35] vsync_pin: GPIO25
href_pin: GPIO23
pixel_clock_pin: GPIO22
power_down_pin: GPIO32
Resolução: 800×600
jpeg_qualidade: 10
vertical_flip: Falso
saída:
plataforma: gpio
pino: GPIO4
id: gpio_4
– plataforma: ledc
identificação: pwm_output
pino: GPIO2
frequência: 50 Hz
luz:
– plataforma: binário
saída: gpio_4
nome: Luce telecamera 1
número:
- plataforma: modelo
nome: servo controle
valor_mín.: -100
valor_max: 100
passo: 1
otimista: verdadeiro
set_action:
então:
– servo.escrever:
id: meu_servo
nível: !lambda 'retorno x / 100.0;'
servo:
– id: meu_servo
saída: pwm_output
comprimento_da_transição: 5s

A 2ª parte do código, em esp32_camera:, define todos os pinos para a câmera real. Depois com luz: é definido o led da câmera. No final do código é definido o servo motor, e o valor usado pelo servo para definir o ângulo de rotação é lido do Home Assistant com o número:.

No final, o código deve ficar assim, mas não cole diretamente o código abaixo, cada dispositivo recebe uma chave de criptografia diferente.

foma:
nome: câmera-1
esp32:
borda: esp32cam
#estrutura:
# tipo: arduino
# Habilitar registro

Ger:
# Ativar API do Home Assistant
API:
criptografia:
chave: “chave de criptografia”
ordem:
senha: “senha”
Wi-fi:
ssid: "seussid"
senha: “suasenha”
# Habilite o ponto de acesso alternativo (portal cativo) caso a conexão wi-fi falhe
aplicativo:
ssid: “Ponto de acesso alternativo da Câmera-1”
senha: “senha”
portal_cativo:
esp32_câmera:
Nome: Telecamera 1
relógio_externo:
pino: GPIO0
frequência: 20MHz
i2c_pins:
sda: GPIO26
scl:GPIO27
data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35] vsync_pin: GPIO25
href_pin: GPIO23
pixel_clock_pin: GPIO22
power_down_pin: GPIO32
resolução: 800×600
qualidade_jpeg: 10
vertical_flip: Falso
saída:
– plataforma: gpio
pino: GPIO4
id: gpio_4
– plataforma: ledc
identificação: pwm_output
pino: GPIO2
frequência: 50 Hz
luz:
– plataforma: binário
saída: gpio_4
nome: Luce telecamera 1
número:
- plataforma: modelo
nome: servo controle
valor_mín.: -100
valor_max: 100
passo: 1
otimista: verdadeiro
set_action:
então:
– servo.escrever:
id: meu_servo
nível: !lambda 'retorno x / 100.0;'
Câmera de segurança super barata com ESP32-cam: Página 12
Etapa 4: conexões
servo:
– id: meu_servo
saída: pwm_output
comprimento_da_transição: 5s

  • Depois que o código estiver completo, podemos clicar em Instalar, conectar o adaptador serial do ESP32 ao nosso computador com um cabo USB e seguir as instruções na tela para fazer o upload do código como você viu na última etapa (é bem fácil!)
  • Quando o ESP32-cam estiver conectado ao WiFi, podemos ir para as configurações do Home Assistant, onde provavelmente veremos que o Home Assistant descobriu o novo dispositivo
  • Clique em configurar e cole lá a chave de criptografia que você copiou antes.

Uma vez que o programa é carregado, você pode remova o jumper entre o terra e pino 0, e ligue a placa (se o jumper não for removido a placa não funcionará). Se você observar os logs do dispositivo, verá que a ESP32-cam se conecta ao WiFi. Nas etapas a seguir, veremos como configurar o painel do Home Assistant para ver o vídeo ao vivo da câmera, mover o motor e tirar fotos da câmera
Instruções de montagem

Passo 4: Conexões 

Depois de programar o ESP32, podemos remover o adaptador usb para serial e alimentar a placa diretamente do pino 5v. E neste ponto a câmera só falta um invólucro para montá-la. Porém, deixar a câmera parada é chato, então resolvi adicionar um motor para fazê-la se mexer. Especificamente, utilizarei um servo motor, que é capaz de atingir um ângulo específico que lhe é comunicado pelo ESP2. Liguei os fios marrom e vermelho do servomotor na fonte de alimentação, e o fio amarelo que é o sinal para o pino 2 do ESP32. Na foto acima você pode 2º os esquemas.
Instruções de montagem
Instruções de montagem

Passo 5: Construindo o Gabinete

Agora preciso transformar o circuito de teste em algo que se pareça mais com um produto acabado. Então desenhei e imprimi em 2D todas as peças para fazer a caixinha onde montar a câmera. Abaixo você pode encontrar os 3 arquivos .stl para impressão 2D. Em seguida, soldei os fios da fonte de alimentação e do sinal do servo motor nos pinos do ESP2. Para conectar o conector do servomotor, soldei um conector jumper nos fios. Assim o circuito está finalizado, e como podem ver é bem simples.

Passei o servomotor e os fios de energia pelos orifícios da caixinha. Em seguida, colei a câmera do ESP32 na tampa, alinhando a câmera com o orifício. Montei o servo motor no suporte que vai segurar a câmera e prendi com dois parafusos. Fixei o suporte na pequena caixa com dois parafusos, para que a câmera pudesse ser inclinada. Para evitar que os parafusos internos toquem nos cabos, protegi-os com tubos termorretráteis. Então fechei a tampa com a câmera com quatro parafusos. Neste ponto, resta apenas montar a base. Passei o eixo do servo motor pelo orifício na base e aparafusei o braço pequeno no eixo. Depois colei o braço na base. Desta forma, o servomotor é capaz de mover a câmera em 180 graus.

E assim terminamos de construir a câmera. Para alimentá-lo, podemos usar qualquer fonte de alimentação de 2v. Usando os furos na base, podemos parafusar a câmera em uma parede ou superfície de madeira.
Instruções de montagem
Instruções de montagem
Instruções de montagem
Instruções de montagem

Etapa 6: Configurando o Painel do Assistente Doméstico

Para ver o vídeo ao vivo da câmera, mover o motor, acender o led e mover o motor da interface do Home Assistant, precisamos de quatro cartões no painel do Home Assistant.

  • O 2º é um cartão de relance de imagem, que permite ver o vídeo ao vivo da câmera. Nas configurações do cartão, basta selecionar a entidade da câmera e definir Câmera View para auto (isso é importante porque se você configurar para ao vivo a câmera sempre manda o vídeo e superaquece).
  • Então precisamos de um botão para tirar fotos da câmera. Isso é um pouco mais difícil. Primeiro temos que entrar no File Add-on do editor (se você não tiver, pode instalá-lo na loja de add-ons) na pasta con2g e crie uma nova pasta para salvar as fotos, neste caso chamada câmera. O código do editor de texto do botão está abaixo.
    ow_name: verdadeiro

show_icon: verdadeiro
tipo: botão
tap_action:
ação: chamada de serviço
serviço: camera.snapshot
dados:
filenome: /config/camera/telecamera_1_{{ now().strftime(“%Y-%m-%d-%H:%M:%S”) }}.jpg
#troque o nome da entidade acima com o nome da entidade da sua camera
alvo:
id_entidade:
– camera.telecamera_1 #troque o nome da entidade com o nome da entidade da sua câmera
nome: Tirar foto
altura_do_ícone: 50px
ícone: mdi:câmera
hold_action:
ação: não

  • A câmera também possui um led, mesmo que não seja capaz de iluminar uma sala inteira. Para isso usei um outro cartão de botão, que alterna a entidade do led quando é pressionado.
  • O último cartão é um cartão de entidades, que configurei com a entidade do servo motor. Assim, com esta placa, temos um controle deslizante muito simples para controlar o ângulo do motor e mover a câmera.

Organizei meus cartões em uma pilha vertical e em uma pilha horizontal, mas isso é totalmente opcional. No entanto, seu painel deve ser semelhante ao mostrado na imagem acima. É claro que você pode personalizar ainda mais os cartões para atender às suas necessidades.
Instruções de montagem
Passo 7: Funciona! 

Por fim, a câmera funciona e, no aplicativo Home Assistant, posso ver o que a câmera vê em tempo real. No aplicativo também posso fazer a câmera se mover movendo o controle deslizante para ver um espaço maior. Como eu disse antes, a câmera também possui um LED, embora a luz que ela produz não permita que você veja à noite. No aplicativo, você pode tirar fotos da câmera, mas não pode gravar vídeos. As fotos tiradas podem ser vistas na pasta que criamos anteriormente no Home Assistant. Para levar a câmera para o próximo nível, você pode conectar a câmera a um sensor de movimento ou a um sensor de abertura de porta, que ao detectar movimento tirará uma foto com a câmera.

Então, esta é a câmera de segurança ESP32 cam. Não é a câmera mais avançada, mas por esse preço você não pode 2 nada melhor. Espero que você tenha gostado deste guia e talvez tenha achado útil. Para ver mais detalhes sobre este projeto, você pode 2º vídeo no meu canal do YouTube (está em italiano, mas tem legendas em inglês).
Instruções de montagem
Instruções de montagem

Documentos / Recursos

Instrutables Câmera de segurança super barata com ESP32-cam [pdf] Manual de Instruções
Câmera de segurança super barata com câmera ESP32, câmera de segurança super barata, câmera ESP32, câmera de segurança barata, câmera de segurança, câmera

Referências

Deixe um comentário

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados *