Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Faça uma porta de escritório com travamento automático com sensor de proximidade para smartphone


Pssst - deseja alguma proteção de alta tecnologia para seu escritório em casa ou uma fechadura secreta para sua “oficina” (ok, você me pegou, na verdade é uma masmorra / sala de jogos) que as crianças não serão capazes de descobrir? Estamos protegendo você. Vamos construir um bloqueio inteligente DIY que detecta automaticamente quando você está lá e bloqueia quando você não está.

Como funciona? NINGUÉM SABE! Ou mais especificamente, Bluetooth.

O conceito


Seu smartphone é um dispositivo poderoso que está constantemente revelando informações sobre si mesmo para o mundo exterior; uma forma de fazer isso é o Bluetooth.

No modo de descoberta, ele transmite um número de identificação exclusivo - mas mesmo quando não se permite especificamente ser descoberto, qualquer coisa que conheça esse endereço pode tentar fazer o ping. Se uma resposta for ouvida, isso indicaria se está dentro do alcance ou não.

Estaremos configurando um Raspberry Pi com um adaptador Bluetooth para ficar constantemente alerta quando seu smartphone estiver fora de alcance e, quando estiver, o relé entrará em ação e trancará a porta.

Você precisará

Trabalhando com Bluetooth


O Bluetooth é fundamental para este projeto, então vamos começar instalando algum suporte para Bluetooth e testar nosso adaptador. Você pode fazer isso diretamente do Pi ou SSH remotamente (como configurar o Windows para SSH em seu Pi).
  sudo apt-get install bluez python-bluez  

Insira seu dongle, se ainda não o fez, e vamos dar uma olhada no que ele está relatando.
  hcitool dev  

Se você tiver algo listado na saída, está pronto para ir. A seguir, usaremos um script Python para pesquisar dispositivos Bluetooth próximos e obter o endereço exclusivo do dispositivo. Precisamos fazer isso apenas uma vez para cada dispositivo.
  wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py python inquérito.py  

Se você vir “0 dispositivos encontrados”, você não tem um dongle USB Bluetooth compatível ou seu smartphone não está detectável. Mas não se desespere:descobri que precisava realmente abrir a página de configurações do Bluetooth no meu iPhone para colocá-lo no modo de descoberta, então aconteceu o seguinte:



Ótimo, agora vamos criar o primeiro estágio do nosso software que faz a detecção. Crie um aplicativo Python chamado detect.py e abra-o com o Nano.
  nano detect.py  

Cole este código de amostra:
  #! / usr / bin / python importar tempo de importação de bluetooth enquanto True:print "Checking" + time.strftime ("% a,% d % b% Y% H:% M:% S ", time.gmtime ()) resultado =bluetooth.lookup_name ('78:7F:70:38:51:1B ', tempo limite =5) if (resultado! =Nenhum ):imprimir "Usuário presente" else:imprimir "Usuário fora do intervalo" time.sleep (10)  

e ajuste a seguinte linha com o endereço do seu dispositivo Bluetooth:
  result =bluetooth.lookup_name ('78:7F:70:38:51:1B ', tempo limite =5)  

Pressione CTRL-X e Y para fechar e salvar. Execute o mesmo código e você verá algo assim:



O código deve ser muito simples de entender, mesmo se você nunca tocou em Python antes:ele verifica um dispositivo Bluetooth específico a cada 10 segundos e imprime uma mensagem diferente, dependendo se for encontrado ou não. Alterne o Bluetooth em seu telefone para simular o movimento dentro e fora do alcance (provavelmente cerca de 4 m na realidade). Você pode diminuir ou aumentar o tempo entre as varreduras, mas eu senti que 10 segundos era uma quantidade razoável de tempo para potencialmente ter que esperar a porta destravar, que é para onde estamos indo com todo esse projeto afinal.

Devo acrescentar, não sei sobre o consumo de energia de fazer isso, mas presumo que o ping de um dispositivo com mais frequência necessariamente consome mais energia. Não vi nenhum problema de desempenho óbvio nos testes, mas se a vida da bateria for uma preocupação séria para você, considere ter um interruptor dentro do seu escritório que ativa e desativa o loop de varredura, então, quando você estiver dentro, pode pausar a fechadura sistema e, em seguida, reative a verificação ao sair.

Parabéns, agora você tem um aplicativo Python que sabe quando você está dentro do alcance, então podemos começar a agir sobre isso.

Modos da placa GPIO


Antes de continuar, você precisa descobrir qual modo de placa irá usar. Não há resposta certa ou errada, apenas afeta se você especifica o número do pino literal ou o número do pino GPIO virtual.

O padrão é usar o número de pino literal (“modo de placa”), começando com o pino 1 no canto inferior esquerdo (se estiver olhando para o Pi com portas USB à direita). O pino 2 está logo acima disso.

No entanto, se você tiver uma placa de breakout GPIO (“cobbler”), os rótulos que você tem são de um modo alternativo, chamado “BCM” (canal Broadcom SOC), e são comumente escritos com GPIO ou P como prefixo do número. Você não precisa estritamente de um breakout GPIO - isso apenas torna as coisas mais fáceis. Se você não tem uma placa de breakout e não quer comprar uma, use este diagrama:

Observe que o modelo B original, revisão 1, revisão 2 e o modelo B + e Pi2, todos têm pinos diferentes. Consulte esta pergunta StackExchange para um diagrama correto para sua placa.

Neste código de projeto, estou usando o sistema de numeração BCM GPIO que corresponde à placa de breakout Adafruit que tenho. Pequenas modificações são necessárias se você deseja usar o modo de pino literal.

Conecte em um relé


Prenda a placa de breakout, certificando-se de que o fio dos pinos 1 e 2 (aqueles no canto do seu Pi) se fixem em 3v3 e 5V0 no breakout. Você pode querer puxar um testador de voltagem para verificar isso.

Antes de prosseguir, verifique se alguém mais usou o seu relé específico com o Raspberry Pi (ou encontre de antemão um que você saiba que funciona). Alguns podem exigir 5 V para ativar - mas o RPi só pode fornecer 3,3 V nos pinos de saída GPIO. Por acaso, o que estou usando está satisfeito com 3,3 V, então não precisei de nenhum circuito adicional, apenas o 5V0 para VCC , GND para GND e GPIO pino 23 para a primeira entrada de relé .

Meu tutorial anterior sobre GPIO mostrou como conectar um circuito de transistor para aumentar 3,3 V a 5 V se você precisar (na verdade, usei a mesma placa de relé para aquele tutorial, mas descobri que não precisava de 5 V depois de tudo).

Não há necessidade de conectar o eletroímã ainda, pois você poderá ouvir um clique audível quando o relé disparar.

A seguir, vamos pegar um código para interagir com as portas GPIO.

Começaremos testando fora do Python para confirmar se tudo está funcionando nas próprias portas. Instale o wiringPi, que oferece algumas ferramentas úteis de linha de comando.
  git clone git://git.drogon.net/wiringPi cd wiringPi ./build  

Uma vez instalado, configure GPIO pino 23 para ser uma saída.
  gpio -g modo 23 out  

Agora, faça uma verificação rápida de todas as portas para confirmar
  gpio -g readall  

Você terá algo semelhante a isso, embora o seu possa ser mais longo em um modelo B + ou Pi2, pois tem mais pinos GPIO:



Para obter mais detalhes:Faça uma porta de escritório com travamento automático com sensor de proximidade para smartphone

Processo de manufatura

  1. Bank Vault
  2. Circuito sensor de proximidade simples e trabalho com aplicativos
  3. Considere o problema nº 1 com redes de sensores inteligentes baseadas em Bluetooth
  4. Cypress:MCUs Bluetooth fornecem rede mesh com conectividade onipresente de smartphone
  5. Sensor de rastreamento de linha com RPi
  6. API do sensor ambiental com um RPi
  7. Um sensor de proximidade analógico simples com interface digital (para Raspberry Pi) [última atualização:7 de fevereiro de 2014]
  8. Sensor Portenta e Termopar (com MAX6675)
  9. Monitoramento de CO2 com Sensor K30
  10. Arduino com Bluetooth para controlar um LED!