Índice:

Como construir um contador de pessoas com Raspberry Pi e Ubidots: 6 etapas
Como construir um contador de pessoas com Raspberry Pi e Ubidots: 6 etapas

Vídeo: Como construir um contador de pessoas com Raspberry Pi e Ubidots: 6 etapas

Vídeo: Como construir um contador de pessoas com Raspberry Pi e Ubidots: 6 etapas
Vídeo: Introdução ao protocolo MQTT com Ubidots – ESP32 2024, Junho
Anonim
Como construir um contador de pessoas com Raspberry Pi e Ubidots
Como construir um contador de pessoas com Raspberry Pi e Ubidots
Como construir um contador de pessoas com Raspberry Pi e Ubidots
Como construir um contador de pessoas com Raspberry Pi e Ubidots

Neste projeto simples, usaremos um sensor de movimento para detectar se um objeto está passando na frente do nosso Raspberry Pi. Então vamos contar quantas vezes isso acontece e enviar esse valor para Ubidots.

Os contadores de pessoas normalmente são dispositivos caros usados no setor de varejo para entender como os clientes se comportam. Graças ao Raspberry Pi e aos Ubidots, podemos construir um balcão de pessoas funcional em poucas horas e com alguns dólares!

Assim que enviarmos os dados de contagem de pessoas para a Ubidots, podemos criar bons gráficos para análise, bem como alertas de SMS / e-mail.

Etapa 1: Obtendo os materiais certos

Obtendo os materiais certos
Obtendo os materiais certos
Obtendo os materiais certos
Obtendo os materiais certos
Obtendo os materiais certos
Obtendo os materiais certos
Obtendo os materiais certos
Obtendo os materiais certos

Para concluir este projeto, você precisará:

  1. A Raspberry Pi Modelo B
  2. Um Sensor PIR da Parallax
  3. Um dongle Wi-Fi USB compatível com Raspberry Pi
  4. Um pacote de bateria USB para alimentar o Raspberry Pi (opcional, caso você queira deixar o Pi totalmente sem fio)
  5. Três fios de ligação fêmea-fêmea
  6. Conta Ubidots - ou - Licença STEM

Etapa 2: conectando as coisas

Ligando as Coisas
Ligando as Coisas
Ligando as Coisas
Ligando as Coisas

O sensor de movimento PIR é bastante simples de usar porque tem apenas três pinos:

  • V +
  • GND
  • Um pino de sinal que produz "1" quando há movimento e "0" quando não há.

Não há necessidade de soldar nada, nem de escrever funções complexas I2C ou seriais para detectar este sinal; basta conectar os cabos diretamente aos pinos GPIO do seu Raspberry Pi e tudo funcionará!

Etapa 3: Revestimento

Invólucro
Invólucro
Invólucro
Invólucro

Como o sensor PIR é muito sensível ao movimento, usei o jumper atrás dele para definir a sensibilidade mais baixa possível. Além disso, peguei um estojo antigo de um par de óculos de sol e fiz um furo nele, depois coloquei o RPi e o sensor PIR dentro dele. Dessa forma, o sensor de movimento é altamente focado em um ponto, ao invés de ser tão omnidirecional.

Etapa 4: Codificando Seu RPi

Neste ponto, presumiremos que você fez uma configuração básica do Raspberry Pi e está olhando para a linha de comando do Linux. Caso contrário, recomendamos consultar este guia primeiro. Você também pode verificar este post sobre como usar o Wicd para configurar o WiFi do seu Raspberry Pi.

Vamos começar certificando-nos de que temos todas as bibliotecas necessárias:

$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install python-setuptools $ sudo easy_install pip $ pip install ubidots

Crie um novo arquivo chamado "peoplecounter.py":

$ sudo nano peoplecounter.py

E escreva nele o código abaixo. Certifique-se de substituir os valores da chave API e do ID da variável pelos valores da sua conta Ubidots pessoal. (Nota: o código não é muito elegante, mas hey, eu não sou um desenvolvedor Python, apenas um cara de hardware:)

O script consiste em um loop que verifica o estado do pino 7 (o sensor de movimento). Se for um "1", significando que houve movimento, então ele incrementa a variável "peoplecount" e espera 1,5 segundos para que o sensor de movimento volte ao normal. Isso é feito 10 vezes, certificando-se de que haja pelo menos 1 segundo entre cada ciclo, então ele envia a soma total dos "movimentos" para os Ubidots. Se você precisar calibrar o contador de pessoas, você deve brincar com as linhas "time.sleep" com outros valores.

from ubidots import ApiClient

importar RPi. GPIO como GPIO

tempo de importação

GPIO.setmode (GPIO. BCM)

GPIO.setup (7, GPIO. IN)

Experimente:

api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

people = api.get_variable ("5238cec3f91b282c7357a140")

exceto: print "Não foi possível conectar à API, verifique sua conexão com a Internet"

contador = 0

peoplev = 0

enquanto (1):

presença = GPIO.input (7)

if (presença):

peoplecount + = 1

presença = 0

tempo.sono (1,5)

tempo.sono (1)

contador + = 1

if (contador == 10):

imprimir contagem de pessoas

people.save_value ({'value': peoplecount})

contador = 0

peoplev = 0

Etapa 5: Exibir seus dados

Exibir seus dados
Exibir seus dados
Exibir seus dados
Exibir seus dados
Exibir seus dados
Exibir seus dados
Exibir seus dados
Exibir seus dados

Por fim, vá para o painel do Ubidots e adicione um widget do tipo "Declaração". Isto irá mostrar o número total de pessoas detectadas dentro de um período de tempo que você especificar

Etapa 6: Concluindo

Empacotando
Empacotando

Este projeto dá uma dica da quantidade de pessoas que passam por um determinado ponto. Ele não fornece o número exato de pessoas, dadas as limitações do sensor de movimento, mas em algumas aplicações isso pode ser apenas o suficiente.

Os dados coletados podem ser facilmente enviados para a Ubidots Cloud, onde podem ser interpretados criando alertas, painéis ao vivo ou até mesmo compartilhando esses dados em redes sociais, como código embutido, ou apenas em um link público. Você também pode ler esses dados de outro aplicativo usando a API Ubidots.

Recomendado: