Índice:

Skate-o-Meter: 7 etapas (com fotos)
Skate-o-Meter: 7 etapas (com fotos)

Vídeo: Skate-o-Meter: 7 etapas (com fotos)

Vídeo: Skate-o-Meter: 7 etapas (com fotos)
Vídeo: How Many Flips are Possible on Flat? 5? 6? 7? | Skate Physics 2024, Julho
Anonim
Skate-o-Meter
Skate-o-Meter

Sou estudante na Howest Kortrijk. Para mostrar nossas habilidades aos leitores que precisávamos para construir um projeto, escolhi criar um hodômetro e velocímetro para meu skate com um scanner RFID. Neste instrutível vou contar como fiz esse projeto.

Tive essa ideia porque gosto de andar de skate e passear. Enquanto estou navegando, seria útil ver a distância percorrida e ver minha velocidade.

Lembre-se de que este é um protótipo.

Etapa 1: Componentes

Componentes

Usei os seguintes componentes para criar este projeto:

  • Skate
  • Potenciômetro
  • LCD
  • Sensor de efeito Hall
  • Resistor de 10k Ohm
  • Raspberry Pi
  • Arduino Nano
  • Fio jumper (fêmea para macho)
  • Fio jumper (Raspberry Pi)
  • Fio jumper (macho para macho)
  • PCB
  • Scanner RFID
  • Crachá RFID
  • Banco de poder

Consulte BillOfMaterials para links e preços

Etapa 2: Fiação

Fiação
Fiação

O salão tem 3 pinos: um VCC, um GND e uma saída. O aterramento vai para um GND. O VCC para 3,3 V e a saída neste exemplo vai para GPIO 26. Um resistor de 10K Ohm aumenta a saída.

Eu uso comunicação serial via USB entre o raspberry pi e o arduino nano para ler os emblemas. Isso não está na foto, mas é obrigatório!

D9 RST (Reset) D10 SDA (SS) (SPI SS) D11 MOSI (SPI MOSI) D12 MISO (SPI MISO) D13 SCK (SPI SCK) GND GND3.3V 3.3V

Etapa 3: Esquema de banco de dados

Esquema de Banco de Dados
Esquema de Banco de Dados

Meu banco de dados possui 3 tabelas:

  • Comercial
  • Sessão
  • Dados

Cada usuário pode rastrear dados separadamente. Uma sessão contém dados para que você saiba o quão rápido você foi em determinados pontos durante a sessão.

Etapa 4: configurar o Arduino Nano

Configurar Arduino Nano
Configurar Arduino Nano
Configurar Arduino Nano
Configurar Arduino Nano
Configurar Arduino Nano
Configurar Arduino Nano

Primeiro coloque o seu arduino nano no seu pc através do cabo USB. Selecione o arduino certo e a porta USB certa para fazer o upload.

Em seguida, precisamos adicionar a biblioteca que uso para ler o crachá RFID. Baixe 'rfid-master' e vá para o sketch, inclua a biblioteca e então adicione a biblioteca. ZIP. Vá para o zip que você acabou de baixar e use este, ele será instalado automaticamente. Depois disso, baixe o meu editado 'RFID_Read.ino' pressione ctrl + O adicionar ao mesmo tempo e vá para este arquivo e abra-o.

Se você seguiu todas as etapas acima, pode verificar o arquivo. Se ocorrer um bug da primeira vez, tente mais uma vez. Se for bem sucedido, você pode fazer o upload para o seu arduino. Usando o atalho ctrl + shift + m, você pode abrir o monitor serial. Você pode testar o arquivo aqui. Se o teste for bem-sucedido, você pode desconectar o arduino e conectá-lo a uma porta USB do raspberry pi

Etapa 5: configurar o Raspberry Pi

Nessas etapas iremos configurar o raspberry pi como banco de dados e servidor web.

NESTE EXEMPLO, EU USO O USUÁRIO 'eu' SE VOCÊ USAR OUTRO USUÁRIO, VOCÊ PRECISA ALTERAR OS ARQUIVOS DE CONFIGURAÇÃO, MANTENHA ISSO EM MENTE!

1. Crie um usuário:

Crie uma variável

pieter @ rpipieter: ~ $ user = me

Fazendo o usuário sudo e adicionando a todos os grupos

groups = $ (id pi -Gn | sed 's / ^ pi // g' | sed 's / /, / g') sudo useradd $ {user} -s / bin / bash -m -G $ {groups} sudo sed "s / ^ pi / $ {user} /" /etc/sudoers.d/010_pi-nopasswd | sudo tee "/etc/sudoers.d/011_${user}-nopasswd" sudo passwd $ {user}

Faça login na conta

pieter @ rpipieter: ~ $ su - me

Senha: me @ my-rpi: ~ $

2. Conecte-se ao WiFi

me @ rpipieter: ~ $ sudo -iroot @ rpipieter: ~ # echo 'Senha' | wpa_passphrase 'Networkname' >> /etc/wpa_supplicant/wpa_supplicant.conf root @ rpipieter: ~ # wpa_cli -i wlan0 reconfigure root @ rpipieter: ~ # logout

Verifique se a internet está funcionando

root @ rpipieter: ~ # wget google.com

3. Atualizando o raspberry pi e instalando os pacotes necessários

me @ my-rpi: ~ $ sudo apt update

me @ my-rpi: ~ $ sudo apt atualizar me @ rpipieter: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme @ my-rpi: ~ $ sudo reinicie -h agora

4. Clone meu repositório github

me @ rpipieter: ~ $ git clone

me @ rpipieter: ~ $ cd skate-o-meter / skateometer /

5. Fazendo o ambiente virtual

Ao fazer esses comandos, muitos pacotes serão instalados, isso pode levar algum tempo.

me @ rpipieter: ~ / skate-o-meter / skateometer $ python3 -m pip install --atualizar pip setuptools wheel virtualenv

me @ rpipieter: ~ / skate-o-meter / skateometer $ python3 -m venv --system-site-packages env (env) me @ rpipieter: ~ / skate-o-meter / skateometer $ python -m pip install mysql- conector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib pyserial pyjwt RPi. GPIO

6. Criação do banco de dados e usuários

Estamos usando banco de dados mysql

pieter @ rpipieter: ~ / skate-o-meter / skateometer $ cd

pieter @ rpipieter: ~ $ sudo mysql

Em seguida, copie, cole isto

GRANT SELECT, INSERT, UPDATE, DELETE ON *. * TO 'som-data' @ 'localhost'; DEFINIR SENHA PARA 'som-data' @ 'localhost' = PASSWORD ('sensor9810'); select * from mysql.user; CRIAR USUÁRIO 'som-admin' @ 'localhost' IDENTIFICADO POR 'admin9810'; CRIAR USUÁRIO 'som-web' @ 'localhost' IDENTIFICADO POR 'web9810'; CRIAR USUÁRIO 'som-sensor' @ 'localhost' IDENTIFICADO POR 'sensor9810'; CRIAR BANCO DE DADOS skateometerdb; GRANT ALL PRIVILEGES ON skateometerdb. * To 'som-admin' @ 'localhost' COM GRANT OPTION; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb. * TO 'som-web' @ 'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb. * TO 'som-sensor' @ 'localhost'; PRIVILÉGIOS DE FLUSH;

Em seguida, vamos adicionar o esquema de banco de dados existente com relações.

me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo mysql <sql / skateometerdb_dump-withoutdata.sql

7. Serviços

Aqui nós copiamos nossos arquivos de configuração e recarregamos a pasta para que possamos habilitar os serviços

me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo cp conf / som - *. service / etc / systemd / systemme @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl daemon-reload

Agora vamos habilitar os serviços para que toda vez que iniciarmos o raspberry pi, eles iniciem automaticamente com ele.

me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl enable som-flask.service

Link simbólico criado /etc/systemd/system/multi-user.target.wants/som-flask.service → /etc/systemd/system/som-flask.service. me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl enable som-data.service Link simbólico criado /etc/systemd/system/multi-user.target.wants/som-data.service → / etc / systemd / system / som-data.service. me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl start som-data.service me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl start som-flask.service

8. NGINX

me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo cp conf / nginx / etc / nginx / sites-available / skateometerme @ rpipieter: ~ / skate-o-meter / skateometer $ sudo rm / etc / nginx / sites -enabled / default me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo ln -s / etc / nginx / sites-available / skateometer / etc / nginx / sites-enabled / skateometerme @ rpipieter: ~ / skate-o -meter / skateometer $ sudo systemctl restart nginx.service

Etapa 6: Habitação + Hall

Habitação + Hall
Habitação + Hall

Habitação

Primeiro fiz um buraco no meu skate para o LCD, o potenciômetro e a campainha. Depois disso, soldei o LCD, o potenciômetro e a campainha no PCB. Então usei um jumperwire para o RPI, aquele com 40 pinos. Eu coloco um lado no pi de framboesa e a outra metade eu corto, desse lado a gente vai soldar. No arquivo 'cabo-rpi' você pode ver onde você precisa soldar qual fio.

Para o invólucro usei uma velha caixa curvadora, fiz alguns furos para um cabo ethernet e para o jumper entrar na caixa.

Eu mantenho a caixa embaixo do skate com alguns parafusos. Dentro da caixa arrumei tudo para caber e também usei parafusos e algumas borrachas para manter tudo no lugar. Isso torna mais fácil retirar as coisas.

O RFID é montado na luz da caixa e é mantido no lugar com ziptires, um problema que encontrei foi que às vezes ele não digitalizava, mas com algumas alterações fiz funcionar.

Sensor de efeito Hall

Primeiro, fiz um furo na roda e coloquei um ímã nele.

Para o hall são usados 3 jumperwires (macho para macho) Eu os soldei no meu PCB e também no próprio hall. Montei o sensor de corredor em minha caminhonete com algumas ziptires. Certifique-se de que o ímã e o sensor estejam bem alinhados, caso contrário, nem sempre registrará o pulso.

Etapa 7: iniciando o aplicativo

Passo 1:

Conecte o framboesa e o banco de energia.

Passo 2:

Espere até o programa iniciar, você pode acompanhar isso no LCD. Você verá o endereço IP, vá para este endereço IP.

Etapa 3:

Crie um usuário, você pode fazer isso registrando-se. Você precisa digitalizar o crachá para ver seu UID do crachá no LCD.

Passo 4:

Se você criou um usuário, pode digitalizar seu crachá e uma sessão será iniciada.

Etapa 5:

Faça um cruzeiro ao redor

Etapa 6:

Digitalize o crachá novamente para interromper a sessão

Etapa 7:

Faça login para ver sua sessão e dados detalhados da sessão

Recomendado: