Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Este projeto surgiu quando eu saía de casa para trabalhar e chegava até a metade do caminho, apenas para ter um momento de pânico em que não conseguia me lembrar se tinha fechado a porta da garagem. Às vezes, ficava convencido de que não, e me virava para confirmar que realmente fechara a porta da garagem. Agora estou 30 minutos atrasado para o trabalho … ótimo. Depois que comprei minha própria casa, descobri que agora posso fazer o que quiser com o abridor de porta de minha garagem, e essa ideia nasceu.
Suprimentos
- Raspberry Pi - Acho que qualquer modelo deve funcionar, contanto que execute Django, NGINX e gunicorn. Usei um Raspberry Pi 3 B +. Você pode precisar alterar algumas coisas se tiver uma versão diferente. - (https://www.adafruit.com/product/3775)
- cartão microSD (para
- Cabo de fita de 40 pinos para pinos GPIO - (https://www.adafruit.com/product/1988)
- Placa de breakout GPIO de 4 pinos - (https://www.adafruit.com/product/2029)
- Placa de relé opto-isolada classificada para> 20 V DC - (https://www.amazon.com/gp/product/B07M88JRFY)
- Placa de meio tamanho Perma-Proto - (https://www.adafruit.com/product/1609)
- fio de conexão (~ 24-20 AWG) - (https://www.amazon.com/dp/B01LH1FYHO)
- Chave magnética Reed - (https://www.amazon.com/gp/product/B076GZDYD2)
- Tampa protetora contra poeira Raspberry Pi HDMI - (https://www.amazon.com/gp/product/B07P95RNVX)
- Tampa protetora contra poeira Raspberry Pi Ethernet - (https://www.amazon.com/gp/product/B01I814D0U)
- Capas protectoras contra poeira Raspberry Pi USB (4) - (https://www.amazon.com/gp/product/B074NVHTF9)
- Fonte de alimentação Raspberry Pi (dependendo do modelo de Raspberry Pi que você está usando)
- Capa Raspberry Pi - (https://www.amazon.com/gp/product/B07QPCPK8G)
- Jack de 3,5 mm - (https://www.amazon.com/gp/product/B00OGLCR3W)
- Parafuso / espaçadores M2.5 para placas de montagem - (https://www.amazon.com/dp/B0721SP83Q)
- Cabo 18 AWG - (https://www.amazon.com/gp/product/B07TL9XK2K)
- Acrílico transparente de 3 mm - (https://www.amazon.com/gp/product/B07RY4X9L3)
- acesso ao cortador a laser
Etapa 1: montar RPi
escreva o cartão microsd com a imagem raspbian mais recente de sua escolha. (https://www.raspberrypi.org/documentation/installation/installing-images/) em seguida, monte a placa na caixa e conecte o cabo de fita antes de prender a tampa na caixa. Em seguida, adicione as portas de poeira.
Etapa 2: corte e monte a caixa de controle
Você precisará encontrar um local que permita cortar sua caixa em um cortador a laser, procure um makerpace local ou online para locais que possam cortar acrílico. Alternativamente, você provavelmente pode usar qualquer outro tipo de caixa de projeto com a adequada. Certifique-se de adicionar um resistor de 330 Ohm entre a linha de 3,3 V e o terminal COM da chave reed. NÃO. o terminal volta para o pino GPIO de sua escolha.
Conecte o relé com 5 V indo para DC +, GND para DC- e o pino GPIO de escolha para IN.
Os terminais do mecanismo de abertura da porta da garagem serão conectados ao relé em COM e NO
Etapa 3: Monte as chaves Reed e execute o cabo
Certifique-se de que seu cabo não impeça o deslocamento de sua porta. Conecte os mesmos dois parafusos aos quais os botões da parede se conectam para abrir a porta.
Etapa 4: conecte o Raspberry Pi ao seu Wi-Fi
e certifique-se de que você pode fazer o SSH para o seu raspberry pi para que possa configurar o servidor da web. você pode então montá-lo em sua garagem e o resto pode ser feito em seu computador.
Etapa 5: instalar e configurar o software
no Raspberry Pi, instale o Django com os comandos:
- `sudo apt update`
- `sudo apt install python3-pip`
- `sudo pip3 install django`
Em seguida, instale o NGINX e o gunicorn
- `sudo apt install nginx`
- `sudo pip3 install gunicorn`
Instale o módulo python, crie um projeto django, crie migrações e configure settings.py
- copie o tarball para / srv
- instalar usando `sudo pip3 install django-smart-carhole-0.1.tar.gz`
- criar projeto django com `sudo django-admin startproject my_smart_garage`
-
`cd my_smart_garage /`
- edite o arquivo settings.py encontrado em /srv/my_smart_garage/my_smart_garage/setting.py
- adicione o endereço IP do raspberry pi ou seu nome de host em ALLOWED_HOSTS
- adicione 'door_control', à lista INSTALLED_APPS
- Edite TIME_ZONE para o seu fuso horário
- Adicione as seguintes configurações ao final do arquivo: RPI_SENSOR_PIN, RPI_RELAY_PIN, IP_WHITELIST_DOORCONTROL e preencha com seus respectivos valores. Veja as imagens para exemplos.
- Adicione "path ('door_control /', include ('door_control.urls'))," ao /srv/my_smart_garage/my_smart_garage/urls.py na lista urlpatterns
- adicione ', inclua' à linha de importação no topo da biblioteca django.urls. Veja as imagens para exemplos.
- migre o aplicativo com 'sudo python3 manage.py migrate'
- teste para ter certeza de que as coisas funcionam executando o servidor de teste com: `python3 manage.py runserver 0.0.0.0: 8000`
- Navegue até o seu raspberry pi assim: https:// [ipaddress]: 8000 / door_control
- Você deve encontrar uma página como a mostrada.
Agora é hora de configurá-lo para que o servidor web seja executado automaticamente.
- Primeiro desative o modo de depuração no arquivo setting.py
- descomente server_names_hash_bucket_size 64 em /etc/nginx/nginx.conf
- copie o arquivo gunicorn para /etc/systemd/system/gunicorn.service
- copie o arquivo nginx para /etc/nginx/conf.d/smart_carhole.conf
- iniciar ambos os processos
- systemctl enable gunicorn.service
- systemctl start gunicorn.service
- systemctl enable nginx.service