Taula de continguts:
- Pas 1: components
- Pas 2: cablejat
- Pas 3: Esquema de base de dades
- Pas 4: configureu Arduino Nano
- Pas 5: configureu el Raspberry Pi
- Pas 6: habitatge + vestíbul
- Habitatge
- Sensor d'efecte Hall
- Pas 7: Inicieu l'aplicació
Vídeo: Skate-o-Meter: 7 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
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
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
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
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
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:
Porta imatges amb altaveu incorporat: 7 passos (amb imatges)
Suport d'imatges amb altaveu incorporat: aquí teniu un gran projecte per dur a terme durant el cap de setmana, si voleu que us poseu un altaveu que pugui contenir imatges / postals o fins i tot la vostra llista de tasques. Com a part de la construcció, utilitzarem un Raspberry Pi Zero W com a centre del projecte i un
Com fer LED ICE SKATE: 6 passos (amb imatges)
Com fer patins de gel LED: poso LED de neopíxels al patí de gel. Cada vegada que el micròfon, que està connectat amb la placa Arduino, sent cap so sorollós. Envia diversos senyals als LED. És fàcil de fer, fins i tot per a principiants. Vaig compartir codis i instruccions. Intentem
Reconeixement d'imatges amb plaques K210 i Arduino IDE / Micropython: 6 passos (amb imatges)
Reconeixement d’imatges amb plaques K210 i Arduino IDE / Micropython: ja vaig escriure un article sobre com executar demostracions d’OpenMV a Sipeed Maix Bit i també vaig fer un vídeo de demostració de detecció d’objectes amb aquesta placa. Una de les moltes preguntes que la gent ha formulat és: com puc reconèixer un objecte que la xarxa neuronal no és tr
Gesture Hawk: robot controlat amb gestos manuals mitjançant la interfície basada en el processament d’imatges: 13 passos (amb imatges)
Gesture Hawk: robot controlat amb gestos manuals mitjançant interfície basada en el processament d’imatges: Gesture Hawk es va mostrar a TechEvince 4.0 com una interfície simple màquina basada en el processament d’imatges. La seva utilitat rau en el fet que no es requereixen cap sensor addicional ni un dispositiu portàtil, excepte un guant, per controlar el cotxe robòtic que funciona amb diferents
Com desmuntar un ordinador amb passos i imatges senzills: 13 passos (amb imatges)
Com desmuntar un ordinador amb passos i imatges senzills: és una instrucció sobre com desmuntar un ordinador. La majoria dels components bàsics són modulars i fàcilment eliminables. Tanmateix, és important que us organitzeu al respecte. Això us ajudarà a evitar la pèrdua de peces i també a fer el muntatge