Como construir um sensor de estacionamento para resolver a dor de encontrar uma vaga livre
Neste projeto, construiremos um sensor de estacionamento simples usando um Raspberry Pi. Acontece que todas as manhãs tenho que enfrentar esta questão: a ÚNICA vaga de estacionamento em frente ao meu escritório já está ocupada? Porque quando realmente é, tenho que dar a volta no quarteirão e usar pelo menos mais 10 minutos para estacionar e caminhar até o escritório. Então achei que seria legal saber se a vaga é gratuita ou não, antes mesmo de tentar conseguir lá. No final, o resultado foi um widget bacana que eu pude conferir no meu iPod ou celular:
Materiais
- Raspberry Pi Modelo B:
- Dongle WiFi USB
- Sensor de movimento da Parallax
- Três fios fêmea para 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 seu redor, será gerado um “1”, se não houver, 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 visitar este guia em 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 .
- Navegue até a guia “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 “My Raspberry Pi”
- Adicione uma nova variável chamada “livre ou ocupado” e não esqueça de preencher os campos nome e unidade.
- Anote o id da sua variável:
- Anote sua chave de API encontrada em “ Meu perfil -> Chave de API “
Codificando seu Raspberry Pi
Você já deve ter configurado seu Raspberry Pi, tendo acesso à Internet a partir dele. Caso contrário, siga este guia ou verifique esta postagem do blog sobre como configurar o WiFi .
Quando estiver pronto, acesse seu Raspberry Pi através de um terminal (LxTerminal se você estiver acessando seu Pi diretamente através da GUI), 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:
importar RPi.GPIO como GPIO ##Biblioteca GPIO de ubidots importar ApiClient ## Tempo de importação da biblioteca Ubidots ##biblioteca de tempo para atrasos GPIO.setmode(GPIO.BCM) ##configurar BCM como sistema de numeração para entradas GPIO.setup(7, GPIO.IN) ##Declarando GPIO7 como entrada para o sensor, tente: api=ApiClient("75617caf2933588b7fd0da531155d16035138535") ##coloque seu próprio apikey people= api.get_variable("53b9f8ff76254274effbbace")##coloque o ID de sua própria variável, exceto: print " não consigo conectar" ##se isso acontecer verifique sua conexão com a internet while(1): presença=GPIO.input(7) ## salvando o valor do sensor if(presence==0):##se presença for zero isso 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 "cero" if(presence): people.save_value({'value':presence}) ##o outro carro saiu então está vazio agora 🙂 time.sleep(1) print "uno" GPIO.cleanup() ##redefinir o status dos pinos GPIO
Execute seu programa:
$ sudo python presença.py
Criando um indicador dashboard Ubidots
Agora que estamos obtendo os dados ao vivo do dispositivo, precisamos criar um widget personalizado que nos diga se a vaga de estacionamento está ocupada ou não. Clique na guia dashboard e adicione um novo widget:
Escolha o widget “Indicador” e siga os passos:
Ótimo! agora você deve ver um widget ao vivo indicando o estado da vaga de estacionamento. A propósito, você pode incorporar este widget em qualquer aplicativo da web ou móvel:
Isso é 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 melhorado usando um sensor de presença e não exatamente um sensor de movimento (que volta para “0” após o fim do movimento). Também pode ser estendido configurando alertas por SMS ou Email, que podem ser criados na aba “Eventos” da sua conta Ubidots .
Tem alguma pergunta? sinta-se à vontade para comentar abaixo ou deixar um ticket em nossa página de suporte.
Aqui está outro projeto interessante usando Raspberry Pi e um sensor de movimento:
Ainda não tem uma conta Ubidots clique aqui para começar hoje.