Como construir um sensor de estacionamento para resolver o problema de encontrar uma vaga livre
Neste projeto, construiremos um sensor de estacionamento simples usando um Raspberry Pi. Acontece que todas as manhãs me deparo com a mesma pergunta: será que a ÚNICA vaga de estacionamento em frente ao meu escritório já está ocupada? Porque, quando está, preciso dar a volta no quarteirão e gastar pelo menos mais 10 minutos para estacionar e caminhar até o escritório. Então, pensei que seria interessante saber se a vaga está livre ou não, antes mesmo de tentar chegar lá. No final, o resultado foi um widget bacana que posso consultar pelo meu iPod ou celular:
Materiais
- Raspberry Pi Modelo B:
- Adaptador USB Wi-Fi
- Sensor de movimento da Parallax
- Três fios fêmea-fêmea
Fiação
O sensor de movimento é muito fácil de instalar, pois possui apenas três pinos: GND, VCC (+5V) e OUT (sinal digital “1” ou “0”). Se houver movimento ao redor dele, ele emitirá um “1”; caso contrário, um “0”. Você pode ver a conexão no diagrama abaixo; os cabos são conectados diretamente aos pinos GPIO do Raspberry Pi. Se precisar de mais informações sobre os pinos GPIO, você pode consultar este guia da makezine.com ; é uma boa fonte para se familiarizar com os pinos do Raspberry Pi .
Configure sua conta e variáveis Ubidots
Se você é novo no Ubidots , crie uma conta aqui .
- Acesse a aba “Fontes” e adicione uma nova fonte.
- Selecione Raspberry Pi como sua nova fonte de dados e preencha o formulário.
- Agora clique na nova fonte “Meu Raspberry Pi”
- Adicione uma nova variável chamada “livre ou ocupado” e não se esqueça de preencher os campos nome e unidade.
- Anote o ID da sua variável:
- Anote sua chave de API, que você encontra em “ Meu Perfil –> Chave de API ”.
Programando seu Raspberry Pi
Você já deve ter configurado seu Raspberry Pi e ter acesso à internet por meio dele. Caso contrário, siga este guia ou confira esta postagem no blog sobre como configurar o Wi-Fi .
Quando estiver pronto, acesse seu Raspberry Pi através de um terminal (LxTerminal se estiver acessando seu Pi diretamente pela interface gráfica), navegue até a pasta onde deseja armazenar este projeto e crie um novo arquivo chamado “presence.py”
$ sudo nano presença.py
Agora cole o seguinte código:
import RPi.GPIO as GPIO ##Biblioteca GPIO from ubidots import ApiClient ## BibliotecaUbidots import time ##Biblioteca time para atrasos GPIO.setmode(GPIO.BCM) ##Configura o BCM como sistema de numeração para entradas GPIO.setup(7,GPIO.IN) ##Declarando GPIO7 como entrada para o sensor try: api=ApiClient("75617caf2933588b7fd0da531155d16035138535") ##insira sua própria chave de API people= api.get_variable("53b9f8ff76254274effbbace")##insira o ID da sua variável except: print "não foi possível conectar" ##se isso acontecer, verifique sua conexão com a internet while(1): presence=GPIO.input(7) ## salvando o valor do sensor if(presence==0):##se a presença for zero que significa que o outro carro ainda está lá 🙁 people.save_value({'value':presence}) ##enviando valor para ubidots time.sleep(1)##verifica a cada 5 segundos se o outro carro se move print "zero" if(presence): people.save_value({'value':presence}) ##o outro carro saiu, então agora está vazio 🙂 time.sleep(1) print "uno" GPIO.cleanup() ##reinicializa o estado dos pinos GPIO
Execute seu programa:
$ sudo python presence.py
Criando um indicador no dashboard Ubidots
Agora que estamos recebendo os dados em tempo real do dispositivo, precisamos criar um widget personalizado que nos informe se a vaga de estacionamento está ocupada ou não. Clique na aba dashboard e, em seguida, adicione um novo widget:
Selecione o widget “Indicador” e siga os passos:
Ótimo! Agora você deve ver um widget em tempo real indicando o status da vaga de estacionamento. Aliás, você pode incorporar este widget em qualquer aplicativo web ou mobile:
É tudo para este projeto! Aprendemos como conectar um sensor de movimento à nuvem Ubidots usando um Raspberry Pi e exibir seus dados em um widget ao vivo. O projeto poderia ser aprimorado com o uso de um sensor de presença em vez de um sensor de movimento (que retorna a "0" após o movimento cessar). Ele também pode ser expandido configurando alertas por SMS ou e-mail, que podem ser criados na aba "Eventos" da sua conta Ubidots .
Tem alguma dúvida? Deixe um comentário abaixo ou abra um chamado em nossa página de suporte.
Aqui está outro projeto bacana usando Raspberry Pi e um sensor de movimento:
Ainda não tem uma conta Ubidots Clique aqui para começar hoje mesmo.