Πίνακας περιεχομένων:

WeatherCar: 6 βήματα
WeatherCar: 6 βήματα

Βίντεο: WeatherCar: 6 βήματα

Βίντεο: WeatherCar: 6 βήματα
Βίντεο: Extreme Cold Starts in Freezing Temperatures Compilation 2024, Ιούλιος
Anonim
WeatherCar
WeatherCar

Το 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 στο πρόγραμμα περιήγησής σας και απενεργοποιήστε. Είστε συνδεδεμένοι στον ιστότοπο.

Συνιστάται: