Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Σε αυτό το σεμινάριο, θα εξηγήσω πώς μπορείτε να φτιάξετε μια έξυπνη βαλίτσα με ένα Raspberry Pi.
Όταν τελειώσετε, θα μπορείτε να παρακολουθείτε τη βαλίτσα σας παγκοσμίως και να τη ζυγίζετε χωρίς να χρειάζεται ζυγαριά.
Ας αρχίσουμε!
Βήμα 1: Στοιχεία που χρειάζεστε
- Raspberry Pi (φυσικά xd)
- Καλώδια βραχυκύκλωσης
- Μια βαλίτσα
- Ένα powerbank για την τροφοδοσία του Pi σας
- Adafruit Ultimate GPS breakout + Antenna
- HX711 ενισχυτής κυψέλης φορτίου
- Συνδυαστής αισθητήρα φόρτωσης
- Τέσσερις κυψέλες φορτίου 50 κιλών
- Δύο (ξύλινες) σανίδες που δεν λυγίζουν πολύ εύκολα (π.χ. κόντρα πλακέ). Βεβαιωθείτε ότι οι σανίδες έχουν την ίδια διάσταση και ότι ταιριάζουν στη βαλίτσα σας.
- Οθόνη LCD (προαιρετικό, θα το χρησιμοποιήσω για να εμφανίσω την IP του Raspberry Pi μου, έτσι ώστε ο χρήστης να μπορεί να γνωρίζει σε ποια ιστοσελίδα πρέπει να μεταβεί για να δει τις πληροφορίες της βαλίτσας)
Βήμα 2: Συναρμολόγηση της βαλίτσας σας
Στην εικόνα μπορείτε να δείτε πώς πρέπει να συνδέσετε όλα τα διαφορετικά μέρη. Εάν αντιμετωπίζετε προβλήματα, ακολουθήστε τα εξής βήματα:
Για να συνδέσετε το GPS σας:
- VIN -> Raspberry Pi pin 1 (3.3V)
- GND -> Raspberry Pi pin 6 (GND)
- TX -> Raspberry Pi pin 10 (RXD)
- RX -> Raspberry Pi pin 8 (TXD)
Για να συνδέσετε την οθόνη LCD: (δεν το σχεδίασα στο σχήμα Fritzing γιατί θα ήταν ακατάστατο..)
- VSS -> Raspberry Pi pin 6 (GND)
- VDD -> Raspberry Pi pin 2 (5V)
- V0 -> ποτενσιόμετρο (αυτό φροντίζει για τη ρύθμιση της αντίθεσης)
- RS -> Raspberry Pi pin 18 (GPIO24)
- RW -> Raspberry Pi pin 6 (GND)
- E -> Raspberry Pi pin 32 (GPIO25)
- D0 -> Raspberry Pi pin 42 (GPIO12)
- D1 -> Raspberry Pi pin 46 (GPIO16)
- D2 -> Raspberry Pi pin 48 (GPIO20)
- D3 -> Raspberry Pi pin 50 (GPIO21)
- D4 -> Raspberry Pi pin 11 (GPIO17)
- D5 -> Raspberry Pi pin 13 (GPIO27)
- D6 -> Raspberry Pi pin 15 (GPIO22)
- D7 -> Raspberry Pi pin 33 (GPIO13)
- A -> Raspberry Pi pin 2 (5V)
- K -> Raspberry Pi pin 6 (GND)
Για να συνδέσετε τα κελιά φόρτωσης:
-
Στη μέση του πίνακα συνδυασμού, μπορείτε να δείτε ότι υπάρχουν τέσσερις στήλες με κάθε τρεις συνδέσεις (-, + και C). Ένα κελί φορτίου έχει ακριβώς τρία καλώδια (λευκό, κόκκινο και μαύρο). Συνδέστε κάθε αισθητήρα φορτίου σε μια στήλη ως εξής:
- - -> Μαύρο
- + -> Λευκό
- C -> Κόκκινο
-
Μόλις το κάνετε αυτό, συνδέστε την πλακέτα συνδυασμού στον ενισχυτή κυψέλης φορτίου HX711 ως εξής:
- Κόκκινο -> E+
- Μαύρο -> E-
- Πράσινο -> Α-
- Λευκό -> Α
-
Τέλος, συνδέστε το HX711 στο Raspberry Pi σας:
- VCC -> Raspberry Pi pin 17 (3.3V)
- GND -> Raspberry Pi pin 9 (GND)
- DT -> Raspberry Pi pin 29 (GPIO5)
- SCK -> Raspberry Pi pin 31 (GPIO6)
(Β- και Β+ στο HX711 και το Κίτρινο στον πίνακα συνδυασμού παραμένει κενό)
Για να συνδέσετε τα κελιά φόρτωσης στις πλακέτες σας:
- Αρχικά, βεβαιωθείτε ότι οι κυψέλες φορτίου έχουν τοποθετηθεί ομοιόμορφα στον πίνακα.
- Στη συνέχεια, για κάθε κυψέλη φορτίου, κάντε μια μικρή, ορθογώνια τρύπα, έτσι ώστε το "καπάκι" της κυψέλης φορτίου να μην αγγίζει το έδαφος. Αν το έκανε, θα λάβατε αρνητικές τιμές.
- Τοποθετήστε τις κυψέλες φορτίου στη σωστή τους θέση και συνδέστε τις με βίδες στην πλακέτα.
- Στη συνέχεια, συνδέστε την πλακέτα συνδυαστή στο πάνω μέρος της σανίδας, έτσι ώστε οι ακίδες να βρίσκονται "έξω" από την επιφάνεια της σανίδας.
-
Ασφαλίστε τα καλώδια από τις κυψέλες φορτίου με κάποια ταινία στον πίνακα.
- Μετά από αυτό, φτιάξτε μικρούς κύβους με λίγο ξύλο και συνδέστε τους στη μεσαία μπάρα κάθε κυψέλης με λίγη κόλλα. Το βάρος θα μετρηθεί με το δίπλωμα της μεσαίας ράβδου.
- Τέλος, στερεώστε τη δεύτερη σανίδα στους μικρούς κύβους με λίγη κόλλα.
Βήμα 3: Τοποθέτηση των εξαρτημάτων στη βαλίτσα σας
Μόλις συνδέσετε τα πάντα, ήρθε η ώρα να βάλετε τα πάντα στη βαλίτσα σας.
Ζυγαριά: Το μόνο πράγμα που πρέπει να βρίσκεται στο ίδιο μέρος, ανεξάρτητα από τη ζυγαριά, γι 'αυτό φροντίστε να τα συνδέσετε πολύ καλά στο κάτω μέρος της βαλίτσας με κάποια ισχυρή κόλλα ή βίδες.
Μονάδα GPS: Για να πάρω ένα καλύτερο σήμα GPS, έκανα μια μικρή τρύπα στη βαλίτσα μου, έτσι ώστε το πάνω μέρος της κεραίας να μπορεί να στερεωθεί στο εξωτερικό της βαλίτσας.
Οθόνη LCD: Για να τοποθετήσετε την οθόνη LCD στη βαλίτσα σας, αν θέλετε, κάνετε μια ορθογώνια τρύπα που έχει το ίδιο μέγεθος με την οθόνη LCD. Στη συνέχεια, συνδέστε την οθόνη LCD με κάποια ισχυρή κόλλα.
Άλλα μέρη: Μπορείτε να τοποθετήσετε τα άλλα μέρη, όπως το Raspberry Pi και το powerbank, στο κάτω μέρος ή στα πλάγια της βαλίτσας με λίγη κόλλα. Μπορείτε να το κάνετε όπως θέλετε.
Συνοψίζοντας λοιπόν, βεβαιωθείτε ότι όλα τα εξαρτήματα είναι καλά συνδεδεμένα με τη βαλίτσα, έτσι ώστε τίποτα να μην μπορεί να ξεφύγει.
Βήμα 4: Ρύθμιση του Raspberry Pi
Για να ξεκινήσουμε τα πράγματα, πρέπει πρώτα να κάνουμε κάποια ρύθμιση, οπότε απλώς πληκτρολογήστε τις ακόλουθες εντολές:
Πρώτα εγκαταστήστε μερικά πακέτα:
sudo apt updatesudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
-
Στη συνέχεια, δημιουργήστε ένα εικονικό
περιβάλλον
:
python3 -m pip install-upgrade pip setuptools wheel virtualenvmkdir project1 && cd project1python3 -m venv --system-site-packages envsource env/bin/activpython -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth MySQL mysql-connector-python passlib
- Στη συνέχεια, κλωνοποιήστε αυτό το έργο σε π.χ. PyCharm (το έργο έχει 4 φακέλους)
- Βεβαιωθείτε ότι ο διερμηνέας έργου είναι python στο Raspberry Pi σας
- Για να διαμορφώσετε τη βάση δεδομένων:
cd project1
sudo mariadb <sql/db_init.sql
- Κάντε σύνδεση με τη βάση δεδομένων σας στο PyCharm
- Τέλος, κάντε δεξί κλικ στο αρχείο 'lugapp.sql' στο φάκελο 'sql' και επιλέξτε 'run'. Αυτό θα θέσει τους πίνακες στη βάση δεδομένων σας Pi.
Στη συνέχεια, το μόνο που πρέπει να τροποποιήσετε είναι στα αρχεία ρυθμίσεων στο φάκελο "CONF". Διαβάστε κάθε αρχείο σε αυτόν τον φάκελο και κάντε αλλαγές όπου είναι απαραίτητο. (π.χ. διαδρομή εργασίας, χρήστης…).
Τα τελευταία βήματα:
Αντιγράψτε τα αρχεία "project1-flask.service" και "project1-lcd.service" στο/etc/systemd/system χρησιμοποιώντας την ακόλουθη εντολή:
sudo cp conf/project1-*. service/etc/systemd/system/
Στη συνέχεια, φορτώστε ξανά:
sudo systemctl δαίμονας-επαναφόρτωση
Τέλος, ξεκινήστε τις δύο υπηρεσίες:
sudo systemctl ενεργοποίηση έργου1-*
sudo systemctl start project1-*