DIY - AI Smart PI Doorbell

Boas Pessoal,

Crie este projeto devido não encontrar nenhuma campainha que fosse ao encontro do que eu pretendia (tanto comercial como DIY).

O código foi criado de forma a não ser muito pesado para terminal e deste modo todo tipo notificação é via mqtt (desde tenha mqtt esta bom hahah), desta forma podem notificar o que quiserem como quiserem (com photo,vídeo ou mesmo só texto), vossa imaginação é o limite (alexa,telegrama,mediaplayer…)

Link do projeto:

Hardware:

Equipamanto Preço medio Link
Camera infrared 160 Degree 13€ https://www.aliexpress.com/item/Fisheyes-Raspberry-Pi-3-Model-B-Plus-Camera-130-160-Degree-5MP-Night-Vision-Camera-Infrared/32897842264.html?spm=2114.search0204.3.85.5f731f50heobO2&ws_ab_test=searchweb0_0,searchweb201602_9_10065_10068_319_10059_10884_317_10887_10696_321_322_453_10084_454_10083_10103_10618_10304_10307_10820_10301_10821_537_536_10902,searchweb201603_56,ppcSwitch_0&algo_expid=e9e54f94-a71c-41df-8735-9e6b77b055f2-11&algo_pvid=e9e54f94-a71c-41df-8735-9e6b77b055f2&transAbTest=ae803_5
Touch Capacitance Button 1€ https://www.aliexpress.com/item/HTTM-2-7V-6V-HTDS-SCR-Capacitive-Anti-interference-Touch-Capacitance-Sensor-Switch-Button-Module-K9/32860541080.html?spm=2114.search0204.3.261.31f5e45fDq6kIi&ws_ab_test=searchweb0_0,searchweb201602_9_10065_10068_319_10059_10884_317_10887_10696_321_322_453_10084_454_10083_10103_10618_10304_10307_10820_10301_10821_537_536_10902,searchweb201603_56,ppcSwitch_0&algo_expid=2d5f41c8-f0a5-436e-b41e-c45d32e0362a-38&algo_pvid=2d5f41c8-f0a5-436e-b41e-c45d32e0362a&transAbTest=ae803_5
microphone 1€ https://www.aliexpress.com/item/Portable-mini-short-microphone-singing-mini-phone-microphone-recording-small-microphone-K-song-phone-microphone/32830193031.html?spm=2114.search0204.3.22.76e41142bwl6iK&ws_ab_test=searchweb0_0,searchweb201602_9_10065_10068_319_10059_10884_317_10887_10696_321_322_453_10084_454_10083_10103_10618_10304_10307_10820_10301_10821_537_536_10902,searchweb201603_56,ppcSwitch_0&algo_expid=d045cb23-ec99-4d09-b72f-2710d21255b2-3&algo_pvid=d045cb23-ec99-4d09-b72f-2710d21255b2&transAbTest=ae803_5
Conversor 12v para 2x 5v 2.5€ https://www.aliexpress.com/item/Micro-USB-12V-to-5V-3A-15W-DC-DC-Car-Power-Converter-Module-Step-Down-Power/32855652184.html?spm=2114.search0204.3.50.631b7e6285wE5i&ws_ab_test=searchweb0_0,searchweb201602_9_10065_10068_319_10059_10884_317_10887_10696_321_322_453_10084_454_10083_10103_10618_10304_10307_10820_10301_10821_537_536_10902,searchweb201603_56,ppcSwitch_0&algo_expid=8a1e5042-a12f-4cbf-a0e7-bbf9e0e8ccfa-7&algo_pvid=8a1e5042-a12f-4cbf-a0e7-bbf9e0e8ccfa&transAbTest=ae803_5
Coluna 7€ https://www.jumbo.pt/Frontoffice/box_-_imagem_e_som/som_portatil/colunas_portateis/coluna_portatilseleclinemp-024s_azul897805/2736765/Auchan_Tecnologico?sid=724c515e-22ae-4fc5-9c02-d2677b90a76e_2
Raspberry pi zero 12€
Usbsound 7.1 1,20€ https://www.aliexpress.com/item/7-1-Channel-3D-External-USB-Audio-Sound-Card-Mic-Adapter-3-5mm-Jack-Stereo-Headset/32492176855.html?spm=2114.search0104.3.9.457723bfMmgvLL&ws_ab_test=searchweb0_0,searchweb201602_9_10065_10068_319_10059_10884_317_10887_10696_321_322_453_10084_454_10083_10103_10618_10304_10307_10820_10301_10821_537_536_10902,searchweb201603_56,ppcSwitch_0&algo_expid=c546358e-0f8c-46b6-a2f9-f5f8c9e0d5e0-1&algo_pvid=c546358e-0f8c-46b6-a2f9-f5f8c9e0d5e0&transAbTest=ae803_5
Usb hub 7€ / 1€ https://www.aliexpress.com/item/4-Ports-USB-HUB-HAT-for-Raspberry-Pi-3-2-Zero-W-Extension-Board-USB-to/32826308506.html?spm=2114.search0104.3.74.798c79b4D5YqvW&ws_ab_test=searchweb0_0,searchweb201602_9_10065_10068_319_10059_10884_317_10887_10696_321_322_453_10084_454_10083_10103_10618_10304_10307_10820_10301_10821_537_536_10902,searchweb201603_56,ppcSwitch_0&algo_expid=4be4dab7-6c66-4d17-90a5-9e32904585e1-10&algo_pvid=4be4dab7-6c66-4d17-90a5-9e32904585e1&transAbTest=ae803_5

Overview do código:

Existem dois mains scripts: 1º Autohealing.py e 2ª Doorbell_pi_start.py

autohealing.py
Este script apenas garante que doorbell_pi_start.py se encontra em cima, e em adicional envia o estado RSSI e temperatura do raspberry via mqtt

doorbell_pi_start.py
Existem 3 Threats neste script:

  • Sequencia de açoes apos touch button

    • Tira foto
    • Guarda na folder http local
    • Faz facerecongition (caso tiverem ativo)
    • Manda notificação mqtt (com nome da pessoa caso facerecongition tiver ativo)
    • Play sound de Boas vindas
    • Caso voipcall tiver ativo liga para numero que indicarem, caso contrario faz Play Sound de espera
    • Play sound “Não é possível o atender, volte mais tarde” (este ponto so acontece voipcall estiver inativo)
  • Play de sound

    • Gerência som de forma não travar threat “Sequencia de açoes apos touch button”
  • Mqtt receiver

    • Recebe ordens:
      • Live: Tira filma 15 sec em realtime guarda mp4 na folder http local envia notificação mqtt
      • Snapshot : Tira photo em realtime guarda mp4 na folder http local envia notificação mqtt
      • Playsound: Faz play do tts enviado
      • Add new person to Face Recognition : Adiciona nova pessoa Face Recognition com base na ultima foto tirada

Nota: Pode receber voipcall/videocall qualquer altura

Exemplos de notificação (homeassistant ou node-red):

Enviar notificação para telegrama com Photo:

{ "url": "http://192.168.1.120/last_ring.jpg", "caption": "Doorbell -{{payload}} esta a porta" }

Nota: {{payload}} é a uma variavel para passar nome caso faceregnotion esteja ativo.

Enviar notificação alexa:

{"message": "knock knock Knock. {{payload}} is knocking on the door. Knock Knock Knock."}

Nota: {{payload}} é a uma variavel para passar nome caso faceregnotion esteja ativo

Mais exemplo no github: https://github.com/Hurleyking/AI_Smart_PI_Doorbell/tree/master/doorbell_pi/Node-red_and_ha_examples

Video de exemplo (por agora so tenho este mas postarei mais assim que tiver mais tempo):

5 Curtiram

@Marco_Reis obrigado pela partilha de este excelente projecto. Fiquei já com vontade de fazer uma para mim :slight_smile:
Obrigado também pela excelente apresentação e a forma como tudo foi detalhado.
Esperamos um novo vídeo de dia para ver o aspecto melhor da “coisa”.

Agora uma pergunta… Isso com bateria seria fiavél?

@RodolfoVieira, penso com raspberry não seja possível pois nem suporta deepsleep, caso pretendas mesmo a bateria melhor solução é nodemcu em modo deepsleep, é fácil fazer se quiseres posso te ajudar.

Ótimo projeto!!!

Tenho este ESP32 com camara encomendado e deve chegar entretanto. Achas que dá para adaptar?

E como case estava a pensar em usar do meu video porteiro já existente

Não entendi a questão do nodemcu, a minha pergunta seria para fazer como a RING funciona.
Sem ser necessário corrente no local.

Sim era isso que ia dizer, uma esp32-CAM penso com mesma lógica do código iria bombar, se calhar com alguma limitação (sem som e sem microphone), o resto podíamos adaptar para suportar esp32-CAM. E em adicional esses esp com CAM por norma dá para ligar uma antena Wi-Fi externa. Vou mandar vir um para mim , depois posto esse projecto. AI smart esp32 doorbell versão Battery hahah, até depois pode servir blink caseira a hahah. Se alguém Lisboa tiver esp-32 CAM para vender seria otimo, assim não teria esperar 1 mês da china.

4 Curtiram

@Marco_Reis excelente projecto, parabéns.

Algumas questões:
A caixa imprimiste? Se sim, tens o STL que possas partilhar?
A unica forma de sabermos que alguém tocou à campainha é através da notificação ou tens algo a imitir som de campainha em casa?

Obrigado :wink:

@Fl4v10 thanks, a caixa comprei no leroy, é uma simples caixa eletrica e depois cortei com drill e fiz furos em baixo para respirar. Na zonas do cortes meti acrílico.
Sim só notifica por mqtt por sua vez pode mandar tocar em qualquer lado nos exemplo tens ai como. Tocar na alexa entre outros…

Por não conseguir encontrar uma solução de campainha como preciso, vim parar ao teu projeto e está muito próximo daquilo que procuro.
A grande questão: é possível programar várias campainhas (botões) que ativam mesma câmara? A minha ideia é depois usar um software tipo ewelink, que cada um possa instalar no telemóvel, são 4/5 campainhas (dependendo da dificuldade da coisa eheh)
Obrigada!

Este tópico foi automaticamente fechado 90 dias após a última resposta. Novas respostas não são permitidas.

Obrigado pelo update @Bruno_Oliveira Parece muito bem. Mas isto obriga a utilizar a app, verdade?

Makershop.de na Alemanha demora 1 semana


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade