Πίνακας περιεχομένων:
- Βήμα 1: Στοιχεία
- Βήμα 2: Καλωδίωση
- Βήμα 3: Σχέδιο βάσης δεδομένων
- Βήμα 4: Διαμόρφωση Arduino Nano
- Βήμα 5: Διαμορφώστε το Raspberry Pi
- Βήμα 6: Στέγαση + αίθουσα
- Στέγαση
- Αισθητήρας εφέ Hall
- Βήμα 7: Εκκίνηση της εφαρμογής
Βίντεο: Skate-o-Meter: 7 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Είμαι μαθητής στο Howest Kortrijk. Για να δείξουμε τις ικανότητές μας στους διδάσκοντες που χρειαζόμασταν για την κατασκευή ενός έργου, επέλεξα να δημιουργήσω ένα οδόμετρο και ταχύμετρο για το skateboard μου με έναν σαρωτή RFID. Σε αυτό το διδακτικό θα ήθελα να πω πώς έφτιαξα αυτό το έργο.
Μου ήρθε αυτή η ιδέα επειδή μου αρέσει να κάνω πατινάζ και να κάνω κρουαζιέρα. Ενώ ταξιδεύω θα ήταν βολικό να δω πόση απόσταση έχω διανύσει και να δω την ταχύτητά μου.
Λάβετε υπόψη ότι αυτό είναι ένα πρωτότυπο.
Βήμα 1: Στοιχεία
Συστατικά
Χρησιμοποίησα τα ακόλουθα στοιχεία για να δημιουργήσω αυτό το έργο:
- Skateboard
- Ποτενσιόμετρο
- οθόνη υγρού κρυστάλλου
- Αισθητήρας εφέ Hall
- Αντίσταση 10k Ohm
- Βατόμουρο πι
- Arduino Nano
- Καλώδιο βραχυκυκλωτήρα (θηλυκό σε αρσενικό)
- Jumper wire (Raspberry Pi)
- Καλώδιο άλτη (αρσενικό σε αρσενικό)
- PCB
- Σαρωτής RFID
- Σήμα RFID
- ΑΠΟΘΗΚΗ ΕΝΕΡΓΕΙΑΣ
Ανατρέξτε στο BillOfMaterials για συνδέσμους και τιμή
Βήμα 2: Καλωδίωση
Η αίθουσα έχει 3 ακίδες: ένα VCC, ένα GND και μια έξοδο. Το έδαφος πηγαίνει σε ένα GND. Το VCC στα 3.3V και η έξοδος σε αυτό το παράδειγμα πηγαίνει στο GPIO 26. Μια αντίσταση 10K Ohm τραβάει την έξοδο ψηλά.
Χρησιμοποιώ σειριακή επικοινωνία μέσω USB μεταξύ του raspberry pi και του arduino nano για να διαβάσω τα σήματα. Αυτό δεν φαίνεται στην εικόνα, αλλά απαιτείται!
D9 RST (Επαναφορά) D10 SDA (SS) (SPI SS) D11 MOSI (SPI MOSI) D12 MISO (SPI MISO) D13 SCK (SPI SCK) GND GND3.3V 3.3V
Βήμα 3: Σχέδιο βάσης δεδομένων
Η βάση δεδομένων μου έχει 3 πίνακες:
- Χρήστες
- Συνεδρία
- Δεδομένα
Κάθε χρήστης μπορεί να παρακολουθεί τα δεδομένα χωριστά. Μια συνεδρία έχει δεδομένα, ώστε να γνωρίζετε πόσο γρήγορα προχωρήσατε σε ορισμένα σημεία ενώ η συνεδρία ήταν σε εξέλιξη.
Βήμα 4: Διαμόρφωση Arduino Nano
Βάλτε πρώτα το arduino nano στον υπολογιστή σας μέσω του καλωδίου usb. Επιλέξτε το σωστό arduino και τη σωστή θύρα usb για μεταφόρτωση.
Στη συνέχεια πρέπει να προσθέσουμε τη βιβλιοθήκη που χρησιμοποιώ για την ανάγνωση του σήματος RFID. Κατεβάστε το 'rfid-master' και μεταβείτε στο σκίτσο, συμπεριλάβετε τη βιβλιοθήκη και, στη συνέχεια, προσθέστε βιβλιοθήκη. ZIP. Μεταβείτε στο zip που μόλις κατεβάσατε και χρησιμοποιήστε αυτό, θα εγκατασταθεί αυτόματα. Μετά από αυτό, κατεβάστε το επεξεργασμένο 'RFID_Read.ino' πατήστε ctrl + O προσθέστε την ίδια ώρα και μεταβείτε σε αυτό το αρχείο και ανοίξτε το.
Εάν κάνατε όλα αυτά τα βήματα παραπάνω, μπορείτε να επαληθεύσετε το αρχείο. Εάν παρουσιάσει σφάλματα για πρώτη φορά, απλώς δοκιμάστε το ξανά. Εάν αυτό είναι επιτυχές, μπορείτε να το ανεβάσετε στο arduino σας. Χρησιμοποιώντας τη συντόμευση ctrl+shift+m μπορείτε να ανοίξετε τη σειριακή οθόνη. Μπορείτε να δοκιμάσετε το αρχείο εδώ. Εάν η δοκιμή είναι επιτυχής, μπορείτε να αποσυνδέσετε το arduino και να το συνδέσετε σε μια θύρα usb του raspberry pi
Βήμα 5: Διαμορφώστε το Raspberry Pi
Σε αυτά τα βήματα θα ρυθμίσουμε το raspberry pi ως βάση δεδομένων και διακομιστή ιστού.
ΣΕ ΑΥΤΟ ΤΟ ΠΑΡΑΔΕΙΓΜΑ ΧΡΗΣΙΜΟΠΟΙΩ ΤΟ ΧΡΗΣΤΗ «εγώ» ΕΑΝ ΧΡΗΣΙΜΟΠΟΙΗΣΕΤΕ ΑΛΛΟ ΧΡΗΣΤΗ ΠΟΥ ΧΡΕΙΑΖΕΤΑΙ ΝΑ ΑΛΛΑΞΕΤΕ ΑΡΧΕΙΑ ΔΙΑΜΟΡΦΩΣΗΣ, ΚΡΑΤΗΣΤΕ ΤΟ ΣΚΕΗ!
1. Δημιουργήστε έναν χρήστη:
Δημιουργήστε μια μεταβλητή
pieter@rpipieter: ~ $ user = εγώ
Κάντε το χρήστη sudo και προσθέστε σε όλες τις ομάδες
ομάδες = $ (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}
Συνδεθείτε στο λογαριασμό
pieter@rpipieter: ~ $ su - εγώ
Κωδικός πρόσβασης: me@my-rpi: ~ $
2. Συνδεθείτε με το WiFi
me@rpipieter: ~ $ sudo -iroot@rpipieter: ~# echo 'Password' | wpa_passphrase 'Networkname' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter:# wpa_cli -i wlan0 αναδιαμόρφωση root@rpipieter: ~# αποσύνδεση
Ελέγξτε αν λειτουργεί το διαδίκτυο
root@rpipieter: ~# wget google.com
3. Ενημέρωση του raspberry pi και εγκατάσταση των απαραίτητων πακέτων
me@my-rpi: su $ 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 επανεκκίνηση -h τώρα
4. Κλωνοποίηση του αποθετηρίου μου github
me@rpipieter: ~ $ git clone
me@rpipieter: ~ $ cd skate-o-meter/skateometer/
5. Κάνοντας το εικονικό περιβάλλον
Ενώ κάνετε αυτές τις εντολές, θα εγκατασταθούν πολλά πακέτα, αυτό μπορεί να διαρκέσει λίγο.
me@rpipieter: ~/skate-o-meter/skateometer $ python 3 -m pip install-upgrade 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- connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib pyserial pyjwt RPi. GPIO
6. Δημιουργία βάσης δεδομένων και χρηστών
Χρησιμοποιούμε βάση δεδομένων mysql
pieter@rpipieter:/skate-o-meter/skateometer $ cd
pieter@rpipieter: su $ sudo mysql
Στη συνέχεια, αντιγράψτε, επικολλήστε αυτό
GRANT SELECT, INSERT, UPDATE, DELETE ON *. * TO 'som-data'@'localhost'; SET PASSWORD FOR 'som-data'@'localhost' = PASSWORD ('sensor9810'); επιλέξτε * από το mysql.user; ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ 'som-admin'@'localhost' IDENTIFIED BY 'admin9810'; ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ 'som-web'@'localhost' IDENTIFIED BY 'web9810'? ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ 'som-sensor'@'localhost' IDENTIFIED BY 'sensor9810'; ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ skateometerdb; ΧΟΡΗΓΗΣΗ ΟΛΩΝ ΤΩΝ ΠΡΟΤΙΜΙΣΜΑΤΩΝ ΣΤΟ skateometerdb.* Στο 'som-admin'@'localhost' WITH GRANT OPTION. GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* ΣΤΟ 'som-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb.* TO 'som-sensor'@'localhost'? ΠΡΟΣΦΟΡΕΣ ΠΡΟΣΦΟΡΑΣ;
Στη συνέχεια, θα προσθέσουμε το υπάρχον σχήμα βάσης δεδομένων με σχέσεις.
me@rpipieter:/skate-o-meter/skateometer $ sudo mysql <sql/skateometerdb_dump-withoutdata.sql
7. Υπηρεσίες
Εδώ αντιγράφουμε τα αρχεία διαμόρφωσής μας και φορτώνουμε ξανά το φάκελο, ώστε να μπορέσουμε να ενεργοποιήσουμε τις υπηρεσίες
me@rpipieter:/skate-o-meter/skateometer $ sudo cp conf/som-*. service/etc/systemd/systemme@rpipieter:/skate-o-meter/skateometer $ sudo systemctl δαίμονας-επαναφόρτωση
Τώρα θα ενεργοποιήσουμε τις υπηρεσίες έτσι ώστε κάθε φορά που ξεκινάμε το raspberry pi να ξεκινούν αυτόματα με αυτό.
me@rpipieter:/skate-o-meter/skateometer $ sudo systemctl ενεργοποίηση som-flask.service
Δημιουργήθηκε 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 ενεργοποίηση som-data.service Δημιουργήθηκε symlink /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 -ενεργοποιημένο/προεπιλεγμένο 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 επανεκκίνηση nginx.service
Βήμα 6: Στέγαση + αίθουσα
Στέγαση
Πρώτα έκανα μια τρύπα στο skateboard μου για την οθόνη LCD, το ποτενσιόμετρο και το βομβητή. Μετά από αυτό, κόλλησα την οθόνη LCD, το ποτενσιόμετρο και το βομβητή στο PCB. Στη συνέχεια χρησιμοποίησα ένα jumperwire για το RPI, αυτό με 40 ακίδες. Βάζω τη μία πλευρά στο πιπέρι βατόμουρου και την άλλη μισή την κόβω, αυτή την πλευρά που πρόκειται να χρησιμοποιήσουμε για συγκόλληση. Στο αρχείο 'rpi-cable' μπορείτε να δείτε πού πρέπει να κολλήσετε ποιο σύρμα.
Για το περίβλημα χρησιμοποίησα ένα παλιό κουρτίνα, έβαλα μερικές τρύπες για μια καλωδίωση και για να μπει το jumperwire στο κουτί.
Κρατάω το κουτί κάτω από το skateboard με κάποια βίδα. Μέσα στο κουτί τακτοποίησα τα πάντα, ώστε να ταιριάζει και επίσης χρησιμοποίησα βίδες και μερικά λάστιχα για να κρατήσω τα πάντα στη θέση τους. Αυτό διευκολύνει την αφαίρεση των αντικειμένων.
Το RFID είναι τοποθετημένο στο φως του κουτιού και κρατιέται στη θέση του με ziptires, ένα πρόβλημα που συνάντησα ήταν ότι μερικές φορές δεν σάρωσε, αλλά με κάποιες αλλαγές το έκανα να λειτουργήσει.
Αισθητήρας εφέ Hall
Πρώτα άνοιξα μια τρύπα στον τροχό μου και έβαλα έναν μαγνήτη σε αυτόν.
Για την αίθουσα χρησιμοποιούνται 3 jumperwires (αρσενικά σε αρσενικά) τα έκανα συγκόλληση στο PCB μου, καθώς και στην ίδια την αίθουσα. Τοποθέτησα τον αισθητήρα του χώρου στο φορτηγό μου με μερικά φερμουάρ. Βεβαιωθείτε ότι ο μαγνήτης και ο αισθητήρας είναι ευθυγραμμισμένοι καλά, διαφορετικά δεν θα καταγράφει πάντα τον παλμό.
Βήμα 7: Εκκίνηση της εφαρμογής
Βήμα 1:
Συνδέστε το βατόμουρο και το power bank.
Βήμα 2:
Περιμένετε μέχρι να ξεκινήσει το πρόγραμμα, μπορείτε να το ακολουθήσετε στην οθόνη LCD. Θα δείτε τη διεύθυνση IP, μεταβείτε σε αυτήν τη διεύθυνση IP.
Βήμα 3:
Δημιουργήστε έναν χρήστη, μπορείτε να το κάνετε κάνοντας εγγραφή. Πρέπει να σαρώσετε το σήμα για να δείτε το UID του σήματος στην οθόνη LCD.
Βήμα 4:
Εάν δημιουργήσατε έναν χρήστη, μπορείτε να σαρώσετε το σήμα σας και θα ξεκινήσει μια περίοδος σύνδεσης.
Βήμα 5:
Πηγαίνετε κρουαζιέρα
Βήμα 6:
Σαρώστε ξανά το σήμα για να σταματήσετε τη συνεδρία
Βήμα 7:
Συνδεθείτε για να δείτε τη συνεδρία σας και λεπτομερή δεδομένα από τη συνεδρία
Συνιστάται:
Πώς: Εγκατάσταση Raspberry PI 4 Headless (VNC) Με Rpi-imager και εικόνες: 7 βήματα (με εικόνες)
Howto: Εγκατάσταση Raspberry PI 4 Headless (VNC) Με Rpi-imager και Εικόνες: Σκοπεύω να χρησιμοποιήσω αυτό το Rapsberry PI σε ένα σωρό διασκεδαστικά έργα στο ιστολόγιό μου. Μη διστάσετε να το ελέγξετε. Iθελα να επιστρέψω στη χρήση του Raspberry PI, αλλά δεν είχα πληκτρολόγιο ή ποντίκι στη νέα μου τοποθεσία. Είχε περάσει λίγος καιρός από τότε που έστησα ένα Raspberry
Πώς να φτιάξετε LED ICE SKATE: 6 βήματα (με εικόνες)
Πώς να φτιάξετε LED ICE SKATE: Έβαλα LED neopixel στο πατινάζ μου. Κάθε φορά που το μικρόφωνο, το οποίο είναι συνδεδεμένο με την πλακέτα Arduino, ακούει κάθε θορυβώδη ήχο. Στέλνει διάφορα σήματα στα LED. Είναι εύκολο να γίνει, ακόμη και για αρχάριους. Μοιράστηκα κωδικούς και οδηγίες. Ας δοκιμάσουμε
Skate All the Way !: 4 Βήματα
Skate All the Way!: Εισαγωγή: Καθώς οι περισσότεροι από εσάς αγαπάτε το πατινάζ και γνωρίζουμε ότι το πατινάζ είναι αρκετά δύσκολο. Πρέπει να ισορροπήσετε για να οδηγήσετε το σανίδι και επίσης χρειάζεστε πολλή δύναμη για να σπρώξετε το skateboard χρησιμοποιώντας το αριστερό ή το δεξί πόδι. Σε αυτή τη γενιά
Πώς να αποσυναρμολογήσετε έναν υπολογιστή με εύκολα βήματα και εικόνες: 13 βήματα (με εικόνες)
Πώς να αποσυναρμολογήσετε έναν υπολογιστή με εύκολα βήματα και εικόνες: Αυτή είναι μια οδηγία σχετικά με τον τρόπο αποσυναρμολόγησης ενός υπολογιστή. Τα περισσότερα από τα βασικά στοιχεία είναι αρθρωτά και αφαιρούνται εύκολα. Ωστόσο, είναι σημαντικό να είστε οργανωμένοι σε αυτό. Αυτό θα σας βοηθήσει να αποφύγετε την απώλεια εξαρτημάτων και επίσης να κάνετε την επανασυναρμολόγηση να
Αποδώστε τρισδιάστατες εικόνες των PCB σας χρησιμοποιώντας Eagle3D και POV-Ray: 5 βήματα (με εικόνες)
Αποδώστε τρισδιάστατες εικόνες των PCB σας χρησιμοποιώντας Eagle3D και POV-Ray: Χρησιμοποιώντας Eagle3D και POV-Ray, μπορείτε να δημιουργήσετε ρεαλιστικές τρισδιάστατες αποδόσεις των PCB σας. Το Eagle3D είναι ένα σενάριο για EAGLE Layout Editor. Αυτό θα δημιουργήσει ένα αρχείο ανίχνευσης ακτίνων, το οποίο θα σταλεί στο POV-Ray, το οποίο με τη σειρά του θα βγει τελικά από το τελικό im