Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Saya seorang mahasiswa di Howest Kortrijk. Untuk menunjukkan keahlian kami kepada lektor yang kami butuhkan untuk membangun sebuah proyek, saya memilih untuk membuat odometer dan speedometer untuk skateboard saya dengan pemindai RFID. Dalam instruksi ini saya akan mengatakan bagaimana saya membuat proyek ini.
Saya datang dengan ide ini karena saya suka meluncur dan berlayar. Saat saya berlayar, akan berguna untuk melihat seberapa jauh jarak yang telah saya tempuh dan melihat kecepatan saya.
Perlu diingat ini adalah prototipe.
Langkah 1: Komponen
Komponen
Saya menggunakan komponen berikut untuk membuat proyek ini:
- Skateboard
- Potensiometer
- LCD
- Sensor efek hall
- Resistor 10k Ohm
- Raspberry pi
- Arduino Nano
- Kawat jumper (Wanita ke pria)
- Kawat jumper (Raspberry Pi)
- Kawat jumper (Pria ke pria)
- PCB
- Pemindai RFID
- lencana RFID
- Bank Daya
Lihat BillOfMaterials untuk tautan dan harga
Langkah 2: Pengkabelan
Aula memiliki 3 pin: VCC, GND dan output. Ground menuju ke GND. VCC ke 3.3V dan output dalam contoh ini menuju ke GPIO 26. Sebuah resistor 10K Ohm menarik output tinggi.
Saya menggunakan komunikasi serial melalui USB antara raspberry pi dan arduino nano untuk membaca lencana. Ini tidak ada 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: Skema Basis Data
Database saya memiliki 3 tabel:
- Pengguna
- Sidang
- Data
Setiap pengguna dapat melacak data secara terpisah. Sesi memiliki data sehingga Anda tahu seberapa cepat Anda mencapai titik tertentu saat sesi berlangsung.
Langkah 4: Konfigurasikan Arduino Nano
Pertama masukkan arduino nano Anda di pc Anda melalui kabel usb. Pilih arduino kanan dan port usb kanan untuk mengunggah.
Selanjutnya kita perlu menambahkan perpustakaan yang saya gunakan untuk membaca lencana RFID. Unduh 'rfid-master' dan buka sketsa, sertakan perpustakaan dan kemudian tambahkan perpustakaan. ZIP. Buka zip yang baru saja Anda unduh dan gunakan yang ini, itu akan menginstal secara otomatis. Setelah itu unduh 'RFID_Read.ino' yang telah saya edit tekan ctrl + O tambahkan waktu yang sama dan buka file ini dan buka.
Jika Anda melakukan semua langkah di atas, Anda dapat memverifikasi file. Jika bug pertama kali, coba saja sekali lagi. Jika ini berhasil, Anda dapat mengunggahnya ke arduino Anda. Dengan menggunakan shortcut ctrl+shift+m Anda dapat membuka serial monitor. Anda dapat menguji file di sini. Jika tes berhasil, Anda dapat mencabut arduino dan mencolokkannya di port usb raspberry pi
Langkah 5: Konfigurasikan Raspberry Pi
Dalam langkah-langkah ini kita akan mengatur raspberry pi sebagai database dan server web.
DALAM CONTOH INI SAYA MENGGUNAKAN PENGGUNA 'saya' JIKA ANDA MENGGUNAKAN PENGGUNA LAIN ANDA PERLU MENGUBAH FILE KONFIGURASI, PERHATIKAN INI!
1. Buat pengguna:
Buat variabel
pieter@rppieter:~ $ pengguna=saya
Membuat pengguna sudo dan menambahkan ke semua grup
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}
Masuk ke akun
pieter@rppieter:~ $ su - saya
Kata sandi: saya@rpi-saya:~$
2. Terhubung dengan WiFi
me@rppieter:~ $ sudo -iroot@rppieter:~# echo 'Kata Sandi' | wpa_passphrase 'Networkname' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter:~# wpa_cli -i wlan0 konfigurasi ulang root@rpipieter:~# logout
Periksa apakah internet berfungsi
root@rppieter:~# wget google.com
3. Membuat raspberry pi mutakhir dan menginstal paket yang dibutuhkan
me@my-rpi:~$ sudo apt update
me@my-rpi:~$ sudo apt upgrade me@rppieter:~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme@my-rpi:~$ sudo reboot -h sekarang
4. Kloning repositori github saya
me@rppieter:~ $ git clone
saya@rppieter:~ $ cd skate-o-meter/skateometer/
5. Membuat lingkungan virtual
Saat melakukan perintah ini akan ada banyak paket yang diinstal, ini mungkin memakan waktu.
me@rppieter:~/skate-o-meter/skateometer $ python3 -m pip install --upgrade pip setuptools wheel virtualenv
me@rpipieter:~/skate-o-meter/skateometer $ python3 -m venv --system-site-packages env (env) me@rppieter:~/skate-o-meter/skateometer $ python -m pip install mysql- konektor-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib pyserial pyjwt RPi. GPIO
6. Membuat database dan pengguna
Kami menggunakan database mysql
pieter@rppieter:~/skate-o-meter/skateometer $ cd
pieter@rppieter:~ $ sudo mysql
Kemudian salin, tempel ini
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'som-data'@'localhost';SET PASSWORD FOR 'som-data'@'localhost' = PASSWORD('sensor9810'); pilih * dari mysql.user; BUAT PENGGUNA 'som-admin'@'localhost' DIIDENTIFIKASI OLEH 'admin9810'; BUAT PENGGUNA 'som-web'@'localhost' DIIDENTIFIKASI DENGAN 'web9810'; BUAT PENGGUNA 'som-sensor'@'localhost' DIIDENTIFIKASI DENGAN 'sensor9810'; BUAT DATABASE skateometerdb; HIBAH SEMUA HAK ISTIMEWA DI skateometerdb.* ke 'som-admin'@'localhost' DENGAN GRANT OPTION; GRANT SELECT, INSERT, UPDATE, DELETE PADA skateometerdb.* KE 'som-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE PADA skateometerdb.* UNTUK 'som-sensor'@'localhost'; HAK ISTIMEWA;
Selanjutnya kita akan menambahkan skema database yang ada dengan relasi.
me@rppieter:~/skate-o-meter/skateometer $ sudo mysql < sql/skateometerdb_dump-withoutdata.sql
7. Layanan
Di sini kami menyalin file konfigurasi kami dan memuat ulang folder sehingga kami dapat mengaktifkan layanan
me@rpipieter:~/skate-o-meter/skateometer $ sudo cp conf/som-*.service /etc/systemd/systemme@rppieter:~/skate-o-meter/skateometer $ sudo systemctl daemon-reload
Sekarang kita akan mengaktifkan layanan sehingga setiap kali kita memulai raspberry pi ini akan secara otomatis memulainya.
me@rppieter:~/skate-o-meter/skateometer $ sudo systemctl aktifkan som-flask.service
Membuat symlink /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 Membuat symlink /etc/systemd/system/multi-user.target.wants/som-data.service → /etc/systemd/ sistem/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@rppieter:~/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
Langkah 6: Perumahan + Aula
Perumahan
Pertama saya membuat lubang di skateboard saya untuk LCD, potensiometer dan bel. Setelah itu saya melakukan solder LCD, potensiometer dan buzzer pada PCB. Kemudian saya menggunakan jumperwire untuk RPI, yang memiliki 40 pin. Saya meletakkan satu sisi di raspberry pi dan setengah lainnya saya potong, sisi ini akan kita gunakan untuk menyolder. Di file 'rpi-cable' Anda dapat melihat di mana Anda perlu menyolder kawat mana.
Untuk casing saya menggunakan kotak tuas yang melengkung, saya membuat beberapa lubang di dalamnya untuk eternit dan untuk kabel jumper untuk masuk ke dalam kotak.
Saya menyimpan kotak di bawah skateboard dengan beberapa sekrup. Di dalam kotak saya mengatur semuanya, sehingga cocok dan juga menggunakan sekrup dan beberapa karet untuk menjaga semuanya tetap di tempatnya. Hal ini membuat mengambil barang lebih mudah.
RFID dipasang ke kotak yang menyala dan ditahan dengan ritsleting, satu masalah yang saya temui adalah kadang-kadang tidak memindai, tetapi dengan beberapa perubahan saya membuatnya berfungsi.
Sensor efek hall
Pertama saya mengebor lubang di roda saya dan menaruh magnet di dalamnya.
Untuk aula digunakan 3 kabel jumper (jantan ke jantan) saya menyoldernya di PCB saya juga di aula itu sendiri. Saya memasang sensor hall di truk saya dengan beberapa ritsleting. Pastikan magnet dan sensor sejajar dengan baik, jika tidak maka tidak akan selalu mencatat pulsa.
Langkah 7: Memulai Aplikasi
Langkah 1:
Colokkan raspberry dan bank daya.
Langkah 2:
Tunggu hingga program dimulai, Anda dapat mengikuti ini di LCD. Anda akan melihat alamat IP, buka alamat IP ini.
Langkah 3:
Buat pengguna, Anda dapat melakukannya dengan mendaftar. Anda perlu memindai lencana untuk melihat UID lencana Anda di LCD.
Langkah 4:
Jika Anda membuat pengguna, Anda dapat memindai lencana Anda dan sesi akan dimulai.
Langkah 5:
Pergi berlayar keliling
Langkah 6:
Pindai lencana lagi untuk menghentikan sesi
Langkah 7:
Masuk untuk melihat sesi Anda dan data terperinci dari sesi