Πίνακας περιεχομένων:
- Βήμα 1: Απαιτήσεις
- Βήμα 2: Συγκόλληση / Καλωδίωση
- Βήμα 3: Ρύθμιση Raspberry Pi
- Βήμα 4: Ρύθμιση βάσης δεδομένων
- Βήμα 5: Κωδικός
- Βήμα 6: Συνδεθείτε
Βίντεο: WeatherCar: 6 βήματα
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-10 13:46
Το WeatherCar, ένα μικρό σπιτικό έργο που μπορεί να οδηγήσει ενώ παράλληλα συλλέγει χρήσιμα δεδομένα!
Έκανα αυτό το έργο ως τελικό για την πρώτη μου χρονιά στο Howest of Kortrijk. Αυτό το έργο δεν έχει ακόμη καλό φινίρισμα, αλλά αυτό το έγγραφο αφορά όλα τα εσωτερικά αυτού του αυτοκινήτου, χωρίς να γίνει το πλήρες πλαίσιο.
Βήμα 1: Απαιτήσεις
Θα χρειαστείτε όλα αυτά τα στοιχεία για αυτό το έργο:
- Βατόμουρο PI
- 2 x μοτέρ (12v)
- Servo
- DHT11
- BMP280
- Μονάδα GPS GY-NEO6MV2
- 4 x τρανζίστορ NPN
- 2 x αντιστάσεις (1k και 2k)
- Οδηγός κινητήρα
- 2 x 6V μπαταρίες
- Πίνακας πρωτοτύπων
- Βηματικός ρυθμιστής τάσης
- Μονωμένο χάλκινο σύρμα
- Επίπεδο καλώδιο
- Παλιό καλώδιο Micro-USB
- Κόντρα πλακέ
Βήμα 2: Συγκόλληση / Καλωδίωση
Για το πρώτο βήμα θα πάμε κατευθείαν στη σύνδεση όλων των καλωδίων. (ΥΓ. Μπορείτε να χρησιμοποιήσετε ένα breadboard για έλεγχο πριν από τη συγκόλληση των πάντων)
Παρέχω ένα σχήμα που σας δείχνει πώς συνδέω τα πάντα, αν και δεν μπορούσα να βρω το σωστό μέρος για το motordriver μου. Για το motordriver μου χρησιμοποίησα τα 4 τρανζίστορ NPN για να μετατρέψω το σήμα μου 3.3v σε σήμα 12v για τον έλεγχο του προγράμματος οδήγησης του κινητήρα. Αυτό γιατί αυτό που χρησιμοποίησα υποστηρίζει μόνο 1 τάση (12v επειδή οι κινητήρες μου είναι 12v).
Βήμα 3: Ρύθμιση Raspberry Pi
Εάν δεν έχετε ήδη μια ρύθμιση, θα πρέπει πρώτα να το κάνετε αυτό, διαφορετικά μπορείτε να παραλείψετε αυτό το βήμα εάν έχετε τα απαιτούμενα προγράμματα από το τελευταίο απόσπασμα κώδικα σε αυτό το βήμα.
Πρώτα θα χρειαστεί να κατεβάσετε την έκδοση επιφάνειας εργασίας Raspbian, την οποία μπορείτε να βρείτε εδώ:
Αφού το κατεβάσετε, θα πρέπει να χρησιμοποιήσετε Etcher ή WinDiskImager για να τοποθετήσετε το αρχείο εικόνας στην κάρτα SD από το βατόμουρο Pi. (Αυτό μπορεί να διαρκέσει λίγο).
Όταν ολοκληρωθεί το πρόγραμμα, ανοίξτε τον εξερευνητή αρχείων και ανοίξτε τη μονάδα δίσκου που ονομάζεται "εκκίνηση". Εδώ θα βρείτε ένα αρχείο κειμένου "cmdline.txt". Ανοίξτε το και προσθέστε ip = 169.254.10.1 στο τέλος του αρχείου. Προσέξτε να μην προσθέσετε καταχωρήσεις στο αρχείο, καθώς αυτό μπορεί να οδηγήσει σε προβλήματα.
Τώρα που το PI έχει μια προεπιλεγμένη διεύθυνση IP, θα πρέπει να ενεργοποιήσουμε το SSH για να μπορέσουμε να συνδεθούμε με αυτό. Μπορείτε να το κάνετε αυτό δημιουργώντας ένα νέο αρχείο που ονομάζεται "SSH" χωρίς καμία επέκταση, αυτό θα πει στο raspberry pi να ενεργοποιήσει το ssh στην πρώτη εκκίνηση.
Με αυτό μπορούμε τώρα να συνδεθούμε στο raspberry pi χρησιμοποιώντας ένα καλώδιο ethernet. Συνδέστε το καλώδιο μεταξύ του υπολογιστή σας και του PI βατόμουρου. Τώρα θα χρειαστούμε έναν πελάτη SSH. Για αυτό χρησιμοποίησα στόκο (https://www.putty.org/). Ανοίξτε το στόκο και βάλτε 169.254.10.1 ως όνομα κεντρικού υπολογιστή. Μπορεί να χρειαστεί λίγος χρόνος για να μπορέσετε να συνδεθείτε.
Μόλις συνδεθείτε, συνδεθείτε με αυτά τα διαπιστευτήρια:
Είσοδος: piPassword: βατόμουρο
Τώρα μπορούμε να δημιουργήσουμε μια σύνδεση στο Διαδίκτυο, για να το κάνουμε αυτό. Εκτελέστε αυτήν την εντολή και αντικαταστήστε τον κωδικό πρόσβασης SSID και δικτύου με το όνομα και τον κωδικό πρόσβασης του wifi σας.
ηχώ "κωδικός πρόσβασης" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf
wpa_cli -i wlan0 αναδιαμόρφωση
Τώρα που έχουμε σύνδεση στο διαδίκτυο, μπορούμε να εγκαταστήσουμε python και άλλα απαραίτητα προγράμματα χρησιμοποιώντας τις ακόλουθες εντολές
sudo apt ενημέρωση
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
python3 -m pip εγκατάσταση -αναβάθμιση pip setuptools wheel virtualenv
mkdir weathercar && cd weathercar
python3 -m venv --system-site-packages env
πηγή env/bin/activ
python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio
Βήμα 4: Ρύθμιση βάσης δεδομένων
Τώρα που είστε raspberry pi έχει όλα τα απαραίτητα προγράμματα, θα χρειαστεί να διαμορφώσετε τη βάση δεδομένων. Αυτό μπορούμε να κάνουμε ξεκινώντας πρώτα το Mysql
sudo mariadb
και μετά
ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ 'project1-admin'@'localhost' IDENTIFIED BY 'adminpassword'; CREATE USER 'project1-web'@'localhost' IDENTIFIED BY 'webpassword'; CREATE USER 'project1-sensor'@'localhost' IDENTIFIED BY 'sensorpassword' ' ?
ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ weathercar_db;
ΧΟΡΗΓΗΣΗ ΟΛΩΝ ΤΩΝ ΠΡΟΒΟΛΩΝ ΣΤΟ weathercar.* Στο 'project1-admin'@'localhost' WITH GRANT OPTION. GRANT SELECT, INSERT, UPDATE, DELETE ON project1.* TO 'project1-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, ΔΙΑΓΡΑΦΗ ΣΤΟ project1.* ΣΤΟ 'project1-sensor'@'localhost'; FLUSH PRIVILEGES.
Βήμα 5: Κωδικός
Σε αυτό το βήμα θα κλωνοποιήσουμε τον απαραίτητο κώδικα στο raspberry pi σας. Αυτό θα κάνουμε κάνοντας αυτό:
Πρώτα απ 'όλα, βεβαιωθείτε ότι βρίσκεστε στον αρχικό κατάλογο εισάγοντας "cd"
CD
τώρα θα κλωνοποιήσουμε το αποθετήριο χρησιμοποιώντας
git clone
Τώρα μπορούμε να εισαγάγουμε τις ρυθμίσεις της βάσης δεδομένων χρησιμοποιώντας:
sudo mariadb weathercar_db </weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db </weathercar/sql/weathercar_db_sensoren.sql
Τώρα που τελειώσαμε τη βάση δεδομένων, μπορούμε να προχωρήσουμε και να ρυθμίσουμε την υπηρεσία μας
sudo cp weathercar/conf/project1-*. service/etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl start project1-*sudo systemctl ενεργοποίηση έργου1-*
Βήμα 6: Συνδεθείτε
Είμαστε σχεδόν εκεί, ένα ακόμη βήμα. Και αυτό παίρνει τη διεύθυνση IP που μας έδωσε το wifi.
Θα το κάνουμε βάζοντας
ip addr
θα εμφανιστούν ένα σωρό χάλια, αλλά θα πρέπει να μπορείτε να βρείτε το "wlan0" και στη συνέχεια μερικές γραμμές "inet 192.168.x.x"
βάλτε αυτήν τη διεύθυνση IP στο πρόγραμμα περιήγησής σας και απενεργοποιήστε. Είστε συνδεδεμένοι στον ιστότοπο.