Índice:

Estacionamento inteligente usando Raspberry Pi: 5 etapas
Estacionamento inteligente usando Raspberry Pi: 5 etapas

Vídeo: Estacionamento inteligente usando Raspberry Pi: 5 etapas

Vídeo: Estacionamento inteligente usando Raspberry Pi: 5 etapas
Vídeo: Essa é a solução para aquele seu vizinho bom de roda! 🤣 2024, Novembro
Anonim
Estacionamento inteligente usando Raspberry Pi
Estacionamento inteligente usando Raspberry Pi

Nesses instrutíveis, criaremos um sistema de estacionamento totalmente automático conectado a uma interface da web. Poderá ver o local escolhido, decidir quem entra e quem sai e está equipado com sistema de iluminação automática.

Suprimentos

Hardware

  • 2 sensores ultrassônicos
  • 1x servo motor
  • 4x LEDs brancos
  • 1x resistor dependente de luz
  • 1x 2 * 16 LCD Display

Informática

  • 1x Raspberry Pi 3 B +
  • 1 cartão SD (8-16 GB a escolha é sua)
  • 1x Adafruit I2S 3W Classe D Amplificador Breakout - MAX98357A
  • 1x MCP3008
  • 1x Resistor 2.2K Ohm
  • 9x resistores 1K Ohm

Vários

  • Fios de ligação
  • Tábua de pão
  • Cabo UTP
  • Adaptador para framboesa pi
  • Uma folha de multiplex (você pode usar qualquer tipo de material que quiser para o invólucro)
  • Uma pistola de cola

Programas

  • PuTTY
  • Software para editar código (você pode usar o que quiser, desde que suporte: Python, HTML, CSS e java script
  • Win32 Disk Imager
  • Imagem do sistema operacional Raspbian
  • Visualizador VNC (opcional)

Etapa 1: Configurar RPI

Antes de começarmos com a fiação do hardware, escrevendo o

e fazer o invólucro de que precisaremos configurar seu PI com o software necessário de que você precisará para fazer o projeto funcionar.

Você precisará de uma imagem do Raspbian para colocar no cartão SD e gravá-la no Win32 Disk Imager do cartão SD. Você pode encontrar links para ambos abaixo.

- Win32 Disk Imager:

- Imagem Raspbian:

A instalação

  1. Abra o Win32 Disk Imager

    1. Selecione a imagem que você acabou de baixar através do ícone da pasta
    2. Selecione seu cartão SD no menu suspenso
    3. Clique em escrever
    4. Quando o processo terminar o seu computador provavelmente irá perguntar se você deseja formatar o cartão SD, não faça isso

Ao concluir essas etapas, você precisará fazer algumas coisas extras para poder acessar o software do seu PI.

  1. Abra o cartão SD no seu explorador
  2. Abra o arquivo “cmdline.txt”
  3. Você verá uma longa linha de texto no final add: ip = 169.254.10.1
  4. Salve o arquivo
  5. Crie um arquivo chamado ssh sem extensão (se você não souber como fazer isso, clique no novo arquivo, selecione o novo arquivo de texto, exclua a extensão e nomeie-o como ssh)
  6. A última etapa desta parte é ejetar com segurança o cartão SD e colocá-lo no Raspberry PI

Conectando

Quando você terminar de fazer as etapas anteriores, é hora de se conectar ao seu pi pela primeira vez. Primeiro você precisa conectar o cabo UTP, uma extremidade no computador e a outra no pi (é importante que você conecte o cabo LAN antes de conectá-lo).

  1. Instale o Putty:
  2. Depois de instalado, abra-o e digite 169.254.10.1 na caixa IP
  3. Selecione SSH e preencha a porta 22
  4. Clique para abrir
  5. Preencha o nome de usuário: pi e a senha raspberry este é o login padrão em uma imagem totalmente nova

Raspi-config

Antes de prosseguirmos, você terá que alterar algumas configurações no menu raspi-config para abri-lo usando:

sudo raspi-config

1. Habilite I2C e SPI nas opções da categoria interfaces

2. Escolha o seu país WIFI através da categoria de localização

3. Defina a configuração Desktop / CLI na categoria de opções de inicialização como Desktop Autologin.

4. Nas opções avançadas, escolha A1 Expand Filesystem (isso garante que você use o espaço de todo o cartão SD

5. Agora saia e reinicie o sudo

Wi-fi

Agora é hora de configurar sua conexão wi-fi do curso, você precisará das credenciais de seu wi-fi.

Primeiro vá para o modo root executando este comando

Sudo -i

Agora você tem os direitos necessários para executar estes comandos:

Certifique-se de alterar o SSID para o nome do seu wi-fi e PASSWORD para a sua senha do wi-fi

Wpa_passphrase “SSID” “PASSWORD” >> /etc/wpa_supplicant/wpa_supplicant.conf

Entre no cliente WPA executando este comando:

wpa_cli

Selecione a interface

Interface wlan0

Recarregue a configuração

Reconfigurar

Por último, mas não menos importante, verifique se funcionou. Você pode fazer isso inserindo:

Ip a

Aqui você pode verificar se você tem um ip nas interfaces WLAN0 se não sudo reboot (nunca falha (:).

Se você não se sentir confortável em fazê-lo através da linha de comando, você sempre poderá fazê-lo através da GUI do Raspbian, que é um pouco mais amigável.

  1. Instale o VNC-viewer aqui:
  2. Clique em arquivo, nova conexão e digite na barra de endereço IP: 169.254.10.1 e escolha o nome que desejar
  3. Preencha o nome de usuário: pi e a senha raspberry
  4. Clique no ícone wi-fi e conecte-se dessa forma

Pacotes

Agora que estamos conectados à internet, podemos instalar os pacotes de que precisamos para executar todo o código.

Primeiro, precisamos atualizar a lista de pacotes para a mais recente executando:

atualização do apt sudo

atualização do apt sudo

Apache Webserver

Precisaremos de um servidor web para rodar nosso aplicativo web. Podemos conseguir isso instalando o servidor da web apache executando este comando:

sudo apt install apach2 -y

Pacotes Python

Para fazer tudo funcionar, vamos precisar de alguns pacotes. Esses são os que vamos precisar.

  • Frasco
  • Flask-Cors
  • Flask-Extension
  • Flask-MySQL
  • Flask-SocketIO
  • Python-socketio

Você pode instalá-los executando este comando:

pip install Flask Flask-Cors Flask-Extension Flask-MySQL Flask-SocketIO python-socketio

Etapa 2: Banco de dados

Base de dados
Base de dados

MariaDB

Execute o seguinte comando para instalar o MariaDB, este é o sistema de banco de dados necessário para manter o controle de todos os dados que os sensores lêem.

sudo apt instalar servidor mariadb

Agora precisaremos proteger nossa instalação

Mysql_secure_installation

Depois de executar o comando, ele nos pedirá uma senha de root, ainda não temos uma, então basta pressionar enter.

Agora ele irá perguntar se você deseja uma por motivos de segurança, nós queremos uma, então pressione Y no seu teclado e escolha a senha desejada.

Agora ele continuará a fazer mais algumas perguntas, basta responder Y a todas elas

Tudo bem, agora que chegamos a este ponto, precisamos ir para o shell SQL.

Para fazer isso, primeiro temos que nos tornar root novamente para nos conceder os privilégios para fazer isso digitando este comando novamente:

sudo -i

Agora entre no shell do mysql

mysql

Agora vamos criar um usuário que coloque o nome que deseja entre as aspas antes de @ e a senha que deseja após identificada por

Agora temos que limpar a tabela de permissões executando este comando:

PRIVILÉGIOS DE FLUSH;

Depois de concluir essas etapas, você pode recriar o esquema db da imagem acima. Infelizmente, não posso fornecer um dump do banco de dados porque estou tendo alguns erros de software.

Etapa 3: Fiação

Fiação
Fiação
Fiação
Fiação
Fiação
Fiação

Agora é hora de fazer a fiação do projeto. Para tornar o processo um pouco mais fácil, primeiro crie um esquema em um programa denominado fritzing. O Fritzing torna mais fácil recriar sua fiação na vida real e você obtém uma imagem clara do que está fazendo.

Etapa 4: Alojamento

Habitação
Habitação
Habitação
Habitação
Habitação
Habitação

O primeiro passo é cortar a madeira nas formas que aparecem no desenho. Eu fiz isso com corte a laser, mas uma serra normal funcionará da mesma forma. Depois disso, você vai querer pintar a madeira de preto para obter a cor do asfalto. Depois que a tinta secar, você pode pintar as listras brancas para dar a sensação de estacionamento. Para a cerca, eu spray canudos pintados para parecerem postes. Para a própria vedação, coloquei algumas goas nos postes. A barreira é feita de paer maché que depois pintei com spray.

Etapa 5: codificação

Codificação
Codificação
Codificação
Codificação
Codificação
Codificação

Backend: o backend do projeto é escrito em Python e TSQL. Ele lê todos os dados dos sensores e os grava no banco de dados que criamos um pouco antes. Ele também roda um servidor web para que possamos conectar nosso frontend a ele. Eu escrevi o código necessário para o back-end em pycharm, mas é claro que você pode usar o que quiser.

Você pode encontrar o código para o back-end aqui:

Frontend: O frontend é escrito em HTML, CSS e Javascript. Usei uma combinação de código de estúdio visual e phpstorm para escrever o código. O código basicamente escreve todo o site e nos arquivos javascript você pode encontrar o código necessário para obter os dados do backend.

Você pode encontrar o código para o frontend aqui:

Recomendado: