Isi kandungan:

Skate-o-Meter: 7 Langkah (dengan Gambar)
Skate-o-Meter: 7 Langkah (dengan Gambar)

Video: Skate-o-Meter: 7 Langkah (dengan Gambar)

Video: Skate-o-Meter: 7 Langkah (dengan Gambar)
Video: Touchgrind Skate 2 - Pre-release video, Gameplay 2024, Julai
Anonim
Skate-o-Meter
Skate-o-Meter

Saya pelajar di Howest Kortrijk. Untuk menunjukkan kemahiran kami kepada pensyarah yang kami perlukan untuk membina projek, saya memilih untuk membuat odometer dan speedometer untuk papan selaju saya dengan pengimbas RFID. Dalam arahan ini saya ingin mengatakan bagaimana saya membuat projek ini.

Saya mengemukakan idea ini kerana saya suka meluncur dan bersiar-siar. Semasa saya melakukan pelayaran, sangat berguna untuk melihat sejauh mana jarak yang saya lalui dan melihat kelajuan saya.

Perlu diingat bahawa ini adalah prototaip.

Langkah 1: Komponen

Komponen

Saya menggunakan komponen berikut untuk membuat projek ini:

  • Papan Luncur
  • Potensiometer
  • LCD
  • Sensor kesan dewan
  • Perintang 10k Ohm
  • Pai raspberi
  • Arduino Nano
  • Kawat jumper (Perempuan hingga lelaki)
  • Kawat jumper (Raspberry Pi)
  • Kawat pelompat (Lelaki hingga lelaki)
  • PCB
  • Pengimbas RFID
  • Lencana RFID
  • Bank kuasa

Lihat BillOfMaterials untuk pautan dan harga

Langkah 2: Pendawaian

Pendawaian
Pendawaian

Dewan mempunyai 3 pin: VCC, GND dan output. Tanah menuju ke GND. VCC hingga 3.3V dan output dalam contoh ini pergi ke GPIO 26. Perintang Ohm 10K menarik output tinggi.

Saya menggunakan komunikasi bersiri melalui USB antara raspberry pi dan arduino nano untuk membaca lencana. Ini bukan dalam gambar, tetapi diperlukan!

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

Langkah 3: Skim Pangkalan Data

Skim Pangkalan Data
Skim Pangkalan Data

Pangkalan data saya mempunyai 3 jadual:

  • Pengguna
  • Sesi
  • Data

Setiap pengguna dapat mengesan data secara berasingan. Sesi mempunyai data sehingga anda tahu seberapa cepat anda mencapai titik tertentu semasa sesi itu berlangsung.

Langkah 4: Konfigurasikan Arduino Nano

Konfigurasikan Arduino Nano
Konfigurasikan Arduino Nano
Konfigurasikan Arduino Nano
Konfigurasikan Arduino Nano
Konfigurasikan Arduino Nano
Konfigurasikan Arduino Nano

Mula-mula letakkan arduino nano anda di komputer anda melalui kabel usb. Pilih arduino yang betul dan port usb yang betul untuk dimuat naik.

Seterusnya kita perlu menambah perpustakaan yang saya gunakan untuk membaca lencana RFID. Muat turun 'rfid-master' dan pergi ke lakaran, sertakan perpustakaan dan kemudian tambahkan perpustakaan. ZIP. Pergi ke zip yang baru anda muat turun dan gunakan yang ini, ia akan dipasang secara automatik. Selepas itu muat turun 'RFID_Read.ino' saya yang diedit tekan ctrl + O tambahkan masa yang sama dan pergi ke fail ini dan buka.

Sekiranya anda melakukan semua langkah di atas, anda boleh mengesahkan failnya. Sekiranya bug kali pertama, cubalah sekali lagi. Sekiranya ini berjaya, anda boleh memuat naiknya ke arduino anda. Dengan menggunakan pintasan ctrl + shift + m anda boleh membuka monitor bersiri. Anda boleh menguji fail di sini. Sekiranya ujian berjaya, anda boleh mencabut arduino dan memasangkannya ke port usb dari raspberry pi

Langkah 5: Konfigurasikan Raspberry Pi

Dalam langkah-langkah ini, kami akan menyediakan pi raspberry sebagai pangkalan data dan pelayan laman web.

DALAM CONTOH INI SAYA MENGGUNAKAN PENGGUNA 'saya' JIKA ANDA MENGGUNAKAN LAIN PENGGUNA ANDA PERLU MENGUBAH FILIF KONFIG, JAUHKAN INI PADA MIND!

1. Buat pengguna:

Buat pemboleh ubah

pieter @ rpipieter: ~ $ pengguna = saya

Membuat sudo pengguna dan menambah ke semua kumpulan

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

Log masuk ke akaun

pieter @ rpipieter: ~ $ su - saya

Kata Laluan: saya @ my-rpi: ~ $

2. Sambungkan dengan WiFi

saya @ rpipieter: ~ $ sudo -iroot @ rpipieter: ~ # echo 'Kata Laluan' | wpa_passphrase 'Networkname' >> /etc/wpa_supplicant/wpa_supplicant.conf root @ rpipieter: ~ # wpa_cli -i wlan0 konfigurasi semula root @ rpipieter: ~ # logout

Periksa sama ada internet berfungsi

root @ rpipieter: ~ # wget google.com

3. Membuat raspberry pi terkini dan memasang pakej yang diperlukan

saya @ my-rpi: ~ $ sudo apt kemas kini

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

4. Klon repositori github saya

saya @ rpipieter: ~ $ git clone

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

5. Membuat persekitaran maya

Semasa menjalankan perintah ini, banyak pakej akan dipasang, ini mungkin memerlukan sedikit masa.

me @ rpipieter: ~ / skate-o-meter / skateometer $ python3 -m pip memasang - tingkatkan pemasangan setuptools wheel virtualenv

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

6. Membuat pangkalan data dan pengguna

Kami menggunakan pangkalan data mysql

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

pieter @ rpipieter: ~ $ sudo mysql

Kemudian salin, tampal ini

GRANT SELECT, INSERT, UPDATE, DELETE ON *. * TO 'som-data' @ 'localhost'; SET PASSWORD UNTUK 'som-data' @ 'localhost' = PASSWORD ('sensor9810'); pilih * dari mysql.user; BUAT PENGGUNA 'som-admin' @ 'localhost' DIKENALI OLEH 'admin9810'; BUAT PENGGUNA 'som-web' @ 'localhost' DIKENALI OLEH 'web9810'; BUAT PENGGUNA 'som-sensor' @ 'localhost' DIKENALI OLEH 'sensor9810'; BUAT DATABASE skateometerdb; MEMBERIKAN SEMUA KEISTIMEWAAN DI skateometerdb. * Kepada 'som-admin' @ 'localhost' DENGAN PILIHAN GRANT; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb. * KE 'som-web' @ 'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb. * KE 'som-sensor' @ 'localhost'; KEISTIMEWAAN FLUSH;

Selanjutnya kita akan menambah skema pangkalan data yang ada dengan hubungan.

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

7. Perkhidmatan

Di sini kami menyalin fail konfigurasi kami dan memuat semula folder sehingga kami dapat mengaktifkan perkhidmatan

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

Sekarang kami akan mengaktifkan perkhidmatan tersebut sehingga setiap kali kami memulakan raspberry pi ini secara automatik akan memulakannya.

saya @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl aktifkan perkhidmatan som-flask.service

Symlink /etc/systemd/system/multi-user.target.wants/som-flask.service → /etc/systemd/system/som-flask.service yang dibuat. me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl aktifkan som-data.service Dibuat symlink /etc/systemd/system/multi-user.target.wants/som-data.service → / etc / systemd / sistem / som-data.service. saya @ 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

saya @ rpipieter: ~ / skate-o-meter / skateometer $ sudo cp conf / nginx / etc / nginx / sites-available / skateometerme @ rpipieter: ~ / skate-o-meter / skateometer $ sudo rm / etc / nginx / laman web -diaktifkan / lalai saya @ 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 mulakan semula nginx.service

Langkah 6: Perumahan + Dewan

Perumahan + Dewan
Perumahan + Dewan

Perumahan

Mula-mula saya membuat lubang di papan luncur saya untuk LCD, potensiometer dan buzzer. Selepas itu saya menyolder LCD, potensiometer dan buzzer pada PCB. Kemudian saya menggunakan jumperwire untuk RPI, yang mempunyai 40 pin. Saya meletakkan satu sisi di raspberry pi dan separuh lagi yang saya potong, bahagian ini akan kita gunakan untuk menyolder. Dalam fail 'rpi-cable' anda dapat melihat di mana anda perlu menyolder wayar mana.

Untuk selongsong saya menggunakan kotak lengkung lama, saya meletakkan beberapa lubang di dalamnya untuk kabel ethernet dan agar jumperwire masuk ke dalam kotak.

Saya menyimpan kotak di bawah papan selaju dengan beberapa skru. Di dalam kotak itu saya menyusun semuanya, sehingga sesuai dan juga menggunakan skru dan beberapa getah untuk menyimpan semuanya di tempatnya. Ini menjadikan pengambilan barang lebih mudah.

RFID dipasang ke kotak yang menyala dan dipegang di tempat dengan ziptire, satu masalah yang saya hadapi ialah kadang-kadang ia tidak mengimbas, tetapi dengan beberapa perubahan saya membuatnya berfungsi.

Sensor kesan dewan

Mula-mula saya menggerudi lubang di roda saya dan meletakkan magnet di dalamnya.

Untuk dewan itu digunakan 3 jumperwire (lelaki hingga lelaki) saya juga mematerinya di PCB saya juga di dewan itu sendiri. Saya memasang sensor dewan di trak saya dengan beberapa ziptire. Pastikan magnet dan sensor diselaraskan dengan baik, jika tidak, denyut nadi tidak akan selalu berlaku.

Langkah 7: Memulakan Aplikasi

Langkah 1:

Pasang raspberry dan power bank.

Langkah 2:

Tunggu sehingga program bermula, anda boleh mengikuti ini di LCD. Anda akan melihat alamat IP, pergi ke alamat IP ini.

Langkah 3:

Buat pengguna, anda boleh melakukannya dengan mendaftar. Anda perlu mengimbas lencana untuk melihat UID lencana anda pada LCD.

Langkah 4:

Sekiranya anda membuat pengguna, anda boleh mengimbas lencana anda dan sesi akan dimulakan.

Langkah 5:

Pergi pelayaran

Langkah 6:

Imbas lencana sekali lagi untuk menghentikan sesi

Langkah 7:

Log masuk untuk melihat sesi anda dan data terperinci dari sesi tersebut

Disyorkan: