Índice:
- Suprimentos
- Etapa 1: Etapa 1: decapitar
- Etapa 2: Etapa 2: adicionar Smart
- Etapa 3: Etapa 3: Encha-a
- Etapa 4: Etapa 4: configurar o Pi
- Etapa 5: Etapa 5: mover a cabeça
- Etapa 6: Etapa 6: Fazendo o Hoot
- Etapa 7: Etapa 7: Transmita o vídeo do Pi
- Etapa 8: Etapa 8: Detecção do corpo
- Etapa 9: Etapa 9: Enviando notificações de zumbis
- Etapa 10: que pio
Vídeo: Zombie Detecting Smart Security Owl (Deep Learning): 10 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:34
Olá a todos, bem-vindos ao T3chFlicks! Neste tutorial de Halloween, mostraremos como colocamos um toque super assustador em um clássico doméstico mundano: a câmera de segurança.
Quão?! Fizemos uma coruja de visão noturna que usa processamento de imagem para rastrear pessoas. Ah, e apita, exatamente como a coisa real!
Estamos muito entusiasmados com este projeto e esperamos para realizá-lo desde que o novo Raspberry Pi 4 foi lançado. Ele tem 4 GB de RAM, o que abre a porta para muitas possibilidades realmente interessantes, incluindo processamento de imagem com modelos de aprendizado profundo em tempo real.
Se você quiser ficar de olho na aproximação de zumbis no Halloween, ou apenas dar uma olhada no seu jardim o resto do ano, este é o lugar para você. A segurança não precisa ser entediante para ser eficaz!
Suprimentos
Para esta construção, você precisará de:
- Raspberry Pi 4 (4 GB de RAM) Amazon
- Night Vision Camera Amazon
- Micro Servo Amazon
- Fake Owl Amazon
- Cola amazona
- Pintar amazona
- Parafusos Amazon
- Alto-falante USB Amazon
- Fonte de alimentação portátil grande (5v +) Amazon
- Impressora 3D Amazon
Etapa 1: Etapa 1: decapitar
uma. Puxe a cabeça da coruja (às vezes você só precisa ser brutal) puxando com força sua cabeça onde ela se prende à mola.
b. A cabeça da coruja se conecta ao corpo por um cilindro que fica no topo de uma grande mola. Remova este cilindro retirando o parafuso.
c. O cilindro que você acabou de remover é feito de duas partes, um copo de plástico e um rolamento que fica dentro dele. Remova o rolamento do cilindro usando uma chave de fenda (ou ferramenta semelhante).
d. Usando o parafuso que conectou o cilindro à mola, prenda o servo ao cilindro.
e. Remova a mola desapertando os três parafusos que a prendem ao corpo.
f. Faça um orifício na parte superior do corpo da coruja que seja grande o suficiente para caber alguns fios e o cabo da câmera. Usamos uma combinação deselegante de uma broca e uma chave de fenda para fazer isso.
Etapa 2: Etapa 2: adicionar Smart
uma. Imprima em 3D o estojo da câmera e pinte-o para combinar com a coruja - usamos algumas tintas acrílicas baratas. Pintar não é uma etapa vital, mas melhora drasticamente a aparência geral!
b. Com a cabeça da coruja de cabeça para baixo, aparafuse a parte superior do estojo da câmera no interior de sua cabeça, onde o bico se projeta.
c. Coloque a câmera no estojo e conecte o cabo da câmera.
d. Cole o servo no painel superior da mola.
e. Conecte os fios longos aos pinos do servo (5V, Gnd, sinal)
f. Passe o cabo da câmera e os fios do servo pela mola e pelo orifício que você fez na parte superior do corpo para que fiquem dentro do corpo oco da coruja.
Etapa 3: Etapa 3: Encha-a
uma. Remova o tampão da parte inferior da coruja e aumente o tamanho deste orifício cortando o plástico. Continue aumentando o tamanho até que o Raspberry Pi e o alto-falante possam caber no corpo da coruja.
b. Quando o orifício for grande o suficiente para que todos os componentes caibam, puxe o cabo da câmera que você alimentou pela parte superior da coruja para fora da base e conecte-o ao Raspberry Pi.
c. Da mesma forma, puxe os fios do servo e conecte-os ao Raspberry Pi:
- + 5V no servo => + 5V no Pi
- Gnd servo => gnd Pi
- Servo de sinal => pino 12 Pi
d. Conecte o alto-falante USB ao Pi.
e. Insira o cartão SD no Pi.
f. Power Pi usando fonte de alimentação portátil.
g. Insira o Pi, a fonte de alimentação e o alto-falante na coruja através do orifício na base.
Etapa 4: Etapa 4: configurar o Pi
TODO O CÓDIGO PODE SER ENCONTRADO EM
uma. Baixe o Raspian e envie-o para o seu cartão SD usando Balena Etcher.
b. Para acessar seu pi remotamente
- Adicione um arquivo chamado ssh ao seu cartão SD de inicialização
-
Adicione um arquivo chamado wpa_supplicant.conf e coloque suas credenciais wi-fi em
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1
rede = {ssid = "MySSID" psk = "MyPassword"}
c. Insira o cartão SD no pi e tente um acesso via ssh.
Etapa 5: Etapa 5: mover a cabeça
Tutorial de código para mover a cabeça (controlando um servo com um pi de framboesa)
Para controlar um servo rodando no Pi, vamos criar um script que controla os pinos GPIO aos quais o servo está conectado.
uma. Conecte o servo ao Pi:
- + 5V no servo => + 5V no Pi
- Gnd servo => gnd em Pi
- Servo de sinal => pino 12 em Pi
b. Você deve primeiro configurar os pinos gpio para usar PWM no pino de sinal do servo.
c. Então, é tão simples quanto selecionar o ciclo de trabalho (explicado aqui) do pino de sinal para mover o servo de 90 graus com um ciclo de trabalho de 7,5 a 0 graus quando o ciclo de trabalho é 2,5 e 180 graus com um ciclo de trabalho de 12,5
importar RPi. GPIO como GPIO
tempo de importação GPIO.setmode (GPIO. BOARD) GPIO.setwarnings (False) GPIO.setup (12, GPIO. OUT) p = GPIO. PWM (12, 50) p.start (7.5) try: while True: p. ChangeDutyCycle (7,5) # 90 graus time.sleep (1) p. ChangeDutyCycle (2,5) # 0 graus time.sleep (1) p. ChangeDutyCycle (12,5) # 180 graus time.sleep (1) exceto KeyboardInterrupt: p.stop () GPIO.cleanup ()
Etapa 6: Etapa 6: Fazendo o Hoot
Tutorial de código para fazer o pio da coruja (reproduzindo áudio com um pi de framboesa)
uma. Conecte o alto-falante USB.
b. Baixe um som - escolhemos uma piada assustadora.
c. Toque o som executando este comando: omxplayer -o alsa: hw: 1, 0 owl_sound.mp3
[d. Se isso não funcionar, verifique qual saída seu Pi está usando e em que volume usando o comando alsamixer - você será saudado com a tela do mixer, onde poderá alterar o volume e selecionar seu dispositivo de mídia. Para aumentar o volume do som, execute o comando como este omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500 Para reproduzir este som usando Python, dê uma olhada em nosso script de teste.]
subprocesso de importação
command = "omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500" player = subprocesso. Popen (command.split (''), stdin = subprocess. PIPE, stdout = subprocess. PIPE, stderr = subprocesso. TUBO)
Etapa 7: Etapa 7: Transmita o vídeo do Pi
Tutorial de código criando um stream de câmera raspberry pi
uma. Execute python app.py e visualize em sua rede local em https://raspberrypi.local: 5000
b. Este código foi retirado e ligeiramente adaptado de Miguel Grinberg https://blog.miguelgrinberg.com/post/flask-video-… ele explica muito bem como é feito e seus tutoriais são ótimos - deffo dê uma olhada nele! O conceito básico é que usamos threading e geradores para melhorar a velocidade de streaming.
Etapa 8: Etapa 8: Detecção do corpo
Código para detecção de corpo (ImageNetSSD em um stream de vídeo com raspberry pi)
uma. Como estamos usando o Raspberry Pi 4, pensamos que seria melhor experimentar alguns modelos de aprendizado profundo nele, em vez do método HaarCascade básico ao qual estávamos limitados até agora.
b. Nós demos uma olhada em alguns dos modelos pré-treinados por aí, como o YOLOv3 que parece super legal. Pesos minúsculos YOLOv3, que seriam perfeitos para o Pi, mas não conseguimos fazê-lo funcionar:(c. Em vez disso, optamos pelo modelo MobileSSD que podemos executar usando o módulo openCVs DNN (deep neural net), como aprendemos com este código: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 e do herói dos tutoriais de processamento de imagem, Adrian Rosebrock: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv /
d. No entanto, como estamos tentando transmitir esse conteúdo e rodar modelos em cada quadro, isso resulta em um vídeo fragmentado e com lag. Aprendemos novamente com Adrian Rosebrock https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ e usamos o módulo de multiprocessamento Python para colocar nossas imagens em filas onde eles podem ser processados sem bloquear o fluxo da câmera tão fortemente.
e. Tente executar o código você mesmo:)
Etapa 9: Etapa 9: Enviando notificações de zumbis
Código para enviar uma notificação (python para telefone)
uma. Decidimos usar o serviço de notificação
b. Você pode obter uma conta gratuita e baixar o aplicativo e realmente rapidamente configurar para fazer notificações móveis. Criamos as notificações usando um script python como este.
pedidos de importação
payload = {"app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "A coruja detectou um zumbi." } r = requests.post ("https://api.pushed.co/1/push", data = payload)
É super simples e você pode personalizar seu nome de notificação!
Etapa 10: que pio
Esperamos que você tenha gostado do nosso projeto Smart Security Owl! Este tem sido um fazer super divertido e me sinto muito mais seguro sabendo que minha casa está sendo guardada por nossa fiel coruja.
Se você acha que esta seria uma adição fabulosa de Halloween à sua casa inteligente, vote em nós no concurso de Halloween do Instructables e, como de costume, lembre-se de curtir, comentar e se inscrever!
Inscreva-se na nossa lista de discussão!
Recomendado:
Howto: Instalando Raspberry PI 4 Headless (VNC) com Rpi-imager e imagens: 7 etapas (com imagens)
Howto: Instalando Raspberry PI 4 Headless (VNC) com Rpi-imager e imagens: Eu pretendo usar este Rapsberry PI em um monte de projetos divertidos em meu blog. Sinta-se à vontade para dar uma olhada. Eu queria voltar a usar meu Raspberry PI, mas não tinha um teclado ou mouse no meu novo local. Já fazia um tempo desde que configurei um Raspberry
DIY WiFi Smart Security Light com Shelly 1: 6 etapas (com fotos)
Luz de segurança inteligente DIY WiFi com Shelly 1: Este instrutível analisará a criação de uma luz de segurança inteligente DIY usando o relé inteligente Shelly 1 da Shelly. Tornar uma luz de segurança inteligente permitirá que você tenha muito mais controle sobre quando ela é ativada e por quanto tempo permanece acesa. Pode ser
Owl Prowl: 5 etapas (com imagens)
Owl Prowl: Owl Prowl é um jogo competitivo para quatro jogadores jogado com controladores alternativos. Os quatro jogadores devem jogar como um personagem coruja no espaço de jogo. Seu objetivo é capturar o máximo de ratos antes que o tempo acabe. Cada jogador usa uma coruja de pelúcia para controlar
Como desmontar um computador com etapas e imagens fáceis: 13 etapas (com imagens)
Como desmontar um computador com etapas e imagens fáceis: Esta é uma instrução sobre como desmontar um PC. A maioria dos componentes básicos é modular e facilmente removível. No entanto, é importante que você seja organizado sobre isso. Isso ajudará a evitar que você perca peças e também a fazer a remontagem e
Sensorland Adventure: Learning Video Game: 8 Passos
Sensorland Adventure: Learning Video Game: A realidad aumentada es superponer objetos virtuais no mundo real com ayuda de um dispositivo “ Smart ” ya sea un celular una Tablet entre otros. Es una herramienta muy ú til para que as pessoas aprendam ya que não se sienten e