Node-GaragePi, o abridor de porta de garagem usando Node.js

Atualização GaragePI com Câmera e Node.js

Já se passou mais de um ano desde que fiz o GaragePi , um abridor de porta de garagem feito com um Raspberry Pi, e desde então, ele é útil em algumas situações. Como quando vou de férias ou até mesmo um passeio de bicicleta, posso deixar minhas chaves em casa. Eu também fiz as seguintes melhorias:

  • reescreveu o servidor usando Node.js
  • adicionou um módulo de câmera para tirar uma foto da porta da garagem
  • removeu a bateria do controle remoto da garagem e conectou-a diretamente ao Pi

Instruções de instalação do Node-GaragePi

O motivo da reescrita do Node.js foi apenas uma preferência pessoal e nada contra o Python. Como também tenho outros aplicativos de nó em execução no mesmo Pi, isso torna as coisas um pouco mais fáceis de gerenciar.

Baixe e instale o Node.js e o NPM:

wget http://node-arm.herokuapp.com/node_latest_armhf.deb
sudo dpkg
-i node_latest_armhf.deb

Verifique se a instalação funcionou corretamente digitando o comando abaixo:

node -v

As próximas etapas são configurá-lo para que os pinos GPIO possam ser usados ​​por sua conta conectada em vez de root, como normalmente requer:

git clone git://github.com/quick2wire/quick2wire-gpio-admin.git
cd quick2wire
-gpio-admin
make

sudo make install

sudo adduser $USER gpio

Depois disso, você precisa simplesmente fazer logout e, em seguida, fazer login novamente.

A seguir, faremos o download e a configuração do Node-GaragePi:

cd ~
git clone git
://github.com/chasechou/node-garagepi.git
cd node
-garagepi
npm install

Isso deve instalar os módulos necessários e você pode testar tudo executando:

node garagepi.js

Carregue http://192.168.1.60:8000 em um navegador para ver se está funcionando. Mude o IP para o da sua máquina se for diferente.

[atualização 2/8/15] Se você vir um erro como este:

[[23:45:47]] [ERROR] gpio-admin: failed to change group ownership of /sys/devices/virtual/gpio/gpio4/direction: No such file or directory

Em seguida, você também precisará corrigir o gpio-admin porque em algum ponto o Raspbian mudou o caminho para algo que o gpio-admin esperava. O patch é descrito aqui e podemos facilmente fazer a edição necessária manualmente:

https://github.com/quick2wire/quick2wire-gpio-admin/pull/6/files

cd quick2wire-gpio-admin/src
vi gpio
-admin.c

Mude esta linha:

int size = snprintf(path, PATH_MAX, "/sys/devices/virtual/gpio/gpio%u/%s", pin, filename);

Em vez disso:

int size = snprintf(path, PATH_MAX, "/sys/class/gpio/gpio%u/%s", pin, filename);

Em seguida, basta executar os comandos a seguir no diretório root do quick2wire-gpio-admin, exatamente como fizemos anteriormente:

sudo make uninstall
sudo make install

sudo adduser $USER gpio

Efetue logout e, em seguida, volte a executar o aplicativo de nó e o erro não deve acontecer novamente.

Se tudo parecer correto, a última etapa é configurá-lo para que seja executado na inicialização. Escolhi usar o PM2 como gerente de processo, pois tive uma boa experiência com o uso em outros projetos.

sudo npm install -g pm2
sudo env PATH
=$PATH:/usr/local/bin pm2 startup raspberry -u pi
cd
~/node-garagepi
pm2 start garagepi
.js -x --name "node-garagepi"
pm2
dump

Em seguida, reinicie o Pi novamente para testar se ele iniciou o aplicativo automaticamente, carregando-o em seu navegador.

Adicionando o Módulo de Câmera Pi

O módulo da câmera foi adicionado para que eu possa verificar visualmente o estado da porta da garagem. Eu sugiro adicionar uma câmera se você planeja usar o GaragePi remotamente. Comprei esta câmera:

Módulo de placa de câmera Raspberry PI 5MP – $ 9

A configuração foi bastante direta e as instruções que segui foram as seguintes:

instruções de instalação do módulo da câmera

O Node-GaragePi já está configurado para tirar um instantâneo a cada 30 segundos e usa isso como imagem de fundo da página. A imagem é salva em ~ / node-garagepi / public / images / garage.jpg.

Substitua a bateria do controle remoto da porta da garagem

E, por último, o hack da bateria foi o mais importante de todos. No último ano de uso do GaragePi, descobri que precisava trocar a bateria do controle remoto 2 ou 3 vezes. Mesmo com uso leve, descobri que a bateria estava esgotada a ponto de não conseguir abrir a porta da garagem depois de apenas alguns meses. Essa modificação faz com que a bateria não seja mais necessária.

A ideia é simples. Meu controle remoto da porta da garagem usa uma bateria CR-2032 em forma de moeda de 3,3V. Acontece que o Pi tem um terminal de 3 V que deveria ser de uso livre. Portanto, basta remover a bateria do controle remoto e conectar o terminal positivo do controle remoto ao pino 3V no Pi e o negativo a um GND no Pi.

Deve ser isso. Não se preocupe mais com a bateria, desde que seu Pi esteja ligado!

Me diga como foi … boa sorte e divirta-se!