Taula de continguts:

Skate-o-Meter: 7 passos (amb imatges)
Skate-o-Meter: 7 passos (amb imatges)

Vídeo: Skate-o-Meter: 7 passos (amb imatges)

Vídeo: Skate-o-Meter: 7 passos (amb imatges)
Vídeo: Курятник для несушек своими руками за 4 дня!!! Как построить курятник! 2024, Desembre
Anonim
Skate-o-Meter
Skate-o-Meter

Sóc estudiant de Howest Kortrijk. Per mostrar les nostres habilitats als lectors que necessitàvem per construir un projecte, vaig optar per crear un comptaquilòmetres i un velocímetre per al meu monopatí amb un escàner RFID. En aquest instructiu estic explicant com he fet aquest projecte.

Vaig tenir aquesta idea perquè m’agrada patinar i fer creuers. Mentre navego, seria útil veure quanta distància he recorregut i veure la meva velocitat.

Tingueu en compte que es tracta d’un prototip.

Pas 1: components

Components

He utilitzat els components següents per crear aquest projecte:

  • Monopatí
  • Potenciòmetre
  • LCD
  • Sensor d'efecte Hall
  • Resistència de 10 k Ohm
  • Raspberry pi
  • Arduino Nano
  • Filferro de pont (femella a mascle)
  • Cable de pont (Raspberry Pi)
  • Filferro de pont (masculí a masculí)
  • PCB
  • Escàner RFID
  • Insígnia RFID
  • Powerbank

Consulteu BillOfMaterials per obtenir enllaços i preus

Pas 2: cablejat

Cablejat
Cablejat

El vestíbul té 3 pins: un VCC, un GND i una sortida. El terra va a un GND. El VCC a 3,3 V i la sortida d’aquest exemple van a GPIO 26. Una resistència de 10 K Ohm fa que la sortida s’elevi.

Faig servir la comunicació en sèrie per USB entre el raspberry pi i l’arduino nano per llegir les insígnies. Això no apareix a la imatge, però és obligatori.

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

Pas 3: Esquema de base de dades

Esquema de base de dades
Esquema de base de dades

La meva base de dades té 3 taules:

  • Usuaris
  • Sessió
  • Dades

Tots els usuaris poden fer un seguiment de les dades per separat. Una sessió conté dades perquè pugueu saber amb quina rapidesa heu seguit determinats punts durant la sessió.

Pas 4: configureu Arduino Nano

Configureu Arduino Nano
Configureu Arduino Nano
Configureu Arduino Nano
Configureu Arduino Nano
Configureu Arduino Nano
Configureu Arduino Nano

Primer poseu el vostre arduino nano al vostre ordinador mitjançant el cable USB. Seleccioneu l’arduino i el port USB adequats per penjar-los.

A continuació, hem d'afegir la biblioteca que faig servir per llegir la insígnia RFID. Descarregueu 'rfid-master' i aneu a esbós, incloeu la biblioteca i després afegiu la biblioteca. ZIP. Aneu al zip que acabeu de descarregar i utilitzeu aquest, s’instal·larà automàticament. Després d'aquesta descàrrega, premeu ctrl + O editat "RFID_Read.ino", afegiu el mateix temps i aneu a aquest fitxer i obriu-lo.

Si heu fet tots aquests passos anteriors, podeu verificar el fitxer. Si es produeix un error la primera vegada, proveu-ho una vegada més. Si té èxit, podeu penjar-lo al vostre arduino. Mitjançant la drecera ctrl + shift + m podeu obrir el monitor sèrie. Podeu provar el fitxer aquí. Si la prova té èxit, podeu desconnectar l’arduino i connectar-lo a un port USB del raspberry pi

Pas 5: configureu el Raspberry Pi

En aquests passos configurarem el raspberry pi com a base de dades i servidor web.

EN AQUEST EXEMPLE UTILITZO L'USUARI "jo" SI UTILITZEU UN ALTRE USUARI QUE NECESSITEU CANVIAR ELS ARXIUS DE CONFIGURACIÓ, TENIU-HO EN COMPTE!

1. Creeu un usuari:

Creeu una variable

pieter @ rpipieter: ~ $ user = me

Fer que l'usuari sudo i afegir a tots els grups

grups = $ (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}

Inicieu la sessió al compte

pieter @ rpipieter: ~ $ su - me

Contrasenya: me @ my-rpi: ~ $

2. Connecteu-vos amb el WiFi

me @ rpipieter: ~ $ sudo -iroot @ rpipieter: ~ # echo 'Contrasenya' | wpa_passphrase "Nom de xarxa" >> /etc/wpa_supplicant/wpa_supplicant.conf root @ rpipieter: ~ # wpa_cli -i wlan0 reconfigura root @ rpipieter: ~ # tancament de sessió

Comproveu si Internet funciona

root @ rpipieter: ~ # wget google.com

3. Actualitzar el raspberry pi i instal·lar els paquets necessaris

me @ my-rpi: ~ $ sudo apt update

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

4. Cloneu el meu dipòsit de github

me @ rpipieter: ~ $ git clon

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

5. Creació de l’entorn virtual

Mentre feu aquestes ordres, hi haurà molts paquets instal·lats, això pot trigar una mica.

me @ rpipieter: ~ / skate-o-meter / skateometer $ python3 -m pip install --upgrade up setup 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- connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib pyserial pyjwt RPi. GPIO

6. Crear la base de dades i els usuaris

Estem utilitzant la base de dades mysql

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

pieter @ rpipieter: ~ $ sudo mysql

A continuació, copia, enganxa això

CONCESSIÓ DE SUBVENCIÓ, INSERIMENT, ACTUALITZACIÓ, ELIMINACIÓ ACTIVADA *. * A 'som-data' @ 'localhost'; CONFIGURA LA CONTRASENYA PER 'som-data' @ 'localhost' = CONTRASENYA ('sensor9810'); seleccioneu * des de mysql.user; CREA USUARI 'som-admin' @ 'localhost' IDENTIFICAT PER 'admin9810'; CREA USUARI 'som-web' @ 'localhost' IDENTIFICAT PER 'web9810'; CREA USUARI 'som-sensor' @ 'localhost' IDENTIFICAT PER 'sensor9810'; CREA DATABASE skateometerdb; CONCEDIU TOTS ELS PRIVILEGIS A skateometerdb. * A "som-admin" @ "localhost" AMB OPCIÓ DE CONCESSIÓ; CONCESSIÓ DE SUBVENCIÓ, INSERIMENT, ACTUALITZACIÓ, SUPRIMIÓ A skateometerdb. * TO 'som-web' @ 'localhost'; DONAR SELECCIÓ, INSERIR, ACTUALITZAR, ELIMINAR A skateometerdb. * A 'som-sensor' @ 'localhost'; PRIVILEGIS DE FLUSH;

A continuació, afegirem l’esquema de base de dades existent amb relacions.

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

7. Serveis

Aquí copiem els nostres fitxers de configuració i tornem a carregar la carpeta perquè puguem habilitar els serveis

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

Ara habilitarem els serveis perquè cada vegada que iniciem el raspberry pi, aquests s'iniciïn automàticament amb ell.

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

Enllaç simbòlic creat /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 Creació d'un enllaç simbòlic /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 reinicia nginx.service

Pas 6: habitatge + vestíbul

Habitatge + Hall
Habitatge + Hall

Habitatge

Primer vaig fer un forat al monopatí per a la pantalla LCD, el potenciòmetre i el brunzidor. Després d'això vaig soldar el LCD, el potenciòmetre i el brunzidor del PCB. Després vaig fer servir un pont per al RPI, el de 40 pins. Vaig posar un costat al raspberry pi i l'altre meitat el vaig tallar, aquest costat el farem servir per soldar. Al fitxer 'rpi-cable' podeu veure on heu de soldar quin cable.

Per a la carcassa he utilitzat una antiga caixa curver, hi he posat uns forats per a un cable ethernet i perquè el jumperwire entri a la caixa.

Guardo la caixa sota el monopatí amb una mica de cargol. Dins de la caixa ho vaig arreglar tot, perquè encaixés i també vaig utilitzar cargols i algunes gomes per mantenir-ho tot al seu lloc. Això fa que treure coses sigui més fàcil.

El RFID es munta a la il·luminació de la caixa i es manté al seu lloc amb els ziptires, un dels problemes que vaig trobar va ser que de vegades no escanejava, però amb alguns canvis el vaig fer funcionar.

Sensor d'efecte Hall

Primer vaig fer un forat a la roda i hi vaig posar un imant.

Per al vestíbul s'utilitzen 3 ponts (masculí a masculí), els he soldat també al meu PCB al mateix vestíbul. Vaig muntar el sensor del vestíbul al camió amb alguns ziptires. Assegureu-vos que l’imant i el sensor estiguin ben alineats, si no, no sempre registrarà el pols.

Pas 7: Inicieu l'aplicació

Pas 1:

Connecteu el gerd i el banc d’alimentació.

Pas 2:

Espereu fins que s'iniciï el programa; podeu seguir-ho a la pantalla LCD. Veureu l'adreça IP, aneu a aquesta adreça IP.

Pas 3:

Creeu un usuari, podeu fer-ho registrant-vos. Heu d’escanejar la insígnia per veure el vostre UID de la insígnia a la pantalla LCD.

Pas 4:

Si heu creat un usuari, podeu escanejar la vostra insígnia i començarà una sessió.

Pas 5:

Aneu de creuer

Pas 6:

Torneu a escanejar la insígnia per aturar la sessió

Pas 7:

Inicieu la sessió per veure la vostra sessió i les dades detallades de la sessió

Recomanat: