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

Έξυπνος χώρος στάθμευσης με χρήση Raspberry Pi: 5 βήματα
Έξυπνος χώρος στάθμευσης με χρήση Raspberry Pi: 5 βήματα

Βίντεο: Έξυπνος χώρος στάθμευσης με χρήση Raspberry Pi: 5 βήματα

Βίντεο: Έξυπνος χώρος στάθμευσης με χρήση Raspberry Pi: 5 βήματα
Βίντεο: Marlin Firmware 2.0.x Explained 2024, Νοέμβριος
Anonim
Έξυπνος χώρος στάθμευσης με χρήση Raspberry Pi
Έξυπνος χώρος στάθμευσης με χρήση Raspberry Pi

Σε αυτές τις οδηγίες θα δημιουργήσουμε ένα πλήρως αυτόματο σύστημα στάθμευσης συνδεδεμένο σε μια διεπαφή ιστού. Θα μπορείτε να δείτε τι σημείο έχει ληφθεί, να αποφασίσετε ποιος μπαίνει και ποιος βγαίνει και είναι εξοπλισμένο με αυτόματο σύστημα φωτισμού.

Προμήθειες

Σκεύη, εξαρτήματα

  • 2x αισθητήρες υπερήχων
  • Σερβοκινητήρα 1x
  • 4x λευκά LED
  • 1x Αντίσταση εξαρτώμενη από το φως
  • Οθόνη LCD 1x 2*16

Χρήση υπολογιστή

  • 1x Raspberry Pi 3 B+
  • 1x κάρτα SD (8-16GB η επιλογή είναι δική σας)
  • 1x Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A
  • 1x MCP3008
  • 1x Αντίσταση 2,2K Ohm
  • 9x αντιστάσεις 1K Ohm

Διάφορος

  • Καλώδια βραχυκυκλωτήρων
  • Breadboard
  • Καλώδιο UTP
  • Προσαρμογέας για το raspberry pi σας
  • Ένα φύλλο multiplex (μπορείτε να χρησιμοποιήσετε οποιοδήποτε είδος υλικού θέλετε για το περίβλημα)
  • Ένα πιστόλι κόλλας

Λογισμικό

  • Στόκος
  • Λογισμικό για επεξεργασία κώδικα (μπορείτε να χρησιμοποιήσετε ό, τι θέλετε αρκεί να υποστηρίζει: Python, HTML, CSS και Java script
  • Win32 Disk Imager
  • Εικόνα Raspbian OS
  • VNC Viewer (προαιρετικό)

Βήμα 1: Ρύθμιση RPI

Πριν ξεκινήσουμε με την καλωδίωση του υλικού, γράφοντας το

λογισμικό και να φτιάξουμε το περίβλημα θα χρειαστεί να ρυθμίσουμε το PI σας με το απαραίτητο λογισμικό που θα χρειαστείτε για να εκτελέσετε το έργο.

Θα χρειαστείτε μια εικόνα του Raspbian για να τοποθετήσετε την κάρτα SD και να την γράψετε στην κάρτα SD Win32 Disk Imager. Μπορείτε να βρείτε συνδέσμους και για τους δύο παρακάτω.

- Win32 Disk Imager:

- Raspbian εικόνα:

Η εγκατάσταση

  1. Ανοίξτε το Win32 Disk Imager

    1. Επιλέξτε την εικόνα που μόλις κατεβάσατε μέσω του εικονιδίου φακέλου
    2. Επιλέξτε την κάρτα SD μέσω του αναπτυσσόμενου μενού
    3. Κάντε κλικ στο γράψιμο
    4. Όταν ολοκληρωθεί η διαδικασία, ο υπολογιστής σας πιθανότατα θα σας ρωτήσει εάν θέλετε να μορφοποιήσετε την κάρτα SD μην το κάνετε αυτό

Όταν τελειώσετε με αυτά τα βήματα, θα χρειαστεί να κάνετε κάποια επιπλέον πράγματα, ώστε να έχετε πρόσβαση στο λογισμικό του PI σας.

  1. Ανοίξτε την κάρτα SD στον εξερευνητή σας
  2. Ανοίξτε το αρχείο "cmdline.txt"
  3. Θα δείτε μια μεγάλη γραμμή κειμένου στο τέλος προσθέστε: ip = 169.254.10.1
  4. Αποθηκεύστε το αρχείο
  5. Δημιουργήστε ένα αρχείο με το όνομα ssh χωρίς επέκταση (αν δεν ξέρετε πώς να το κάνετε αυτό, απλά κάντε κλικ στο νέο αρχείο, επιλέξτε νέο αρχείο κειμένου διαγράψτε την επέκταση και ονομάστε το ssh)
  6. Το τελευταίο βήμα αυτού του μέρους είναι η ασφαλής εξαγωγή της κάρτας SD και η τοποθέτησή της στο Raspberry PI

Συνδετικός

Όταν τελειώσετε με τα προηγούμενα βήματα, ήρθε η ώρα να συνδεθείτε στο pi για πρώτη φορά. Πρώτα θα χρειαστεί να συνδέσετε το καλώδιο UTP, το ένα άκρο στον υπολογιστή σας και το άλλο στο pi σας (είναι σημαντικό να συνδέσετε το καλώδιο LAN πριν το συνδέσετε).

  1. Εγκατάσταση Putty:
  2. Μόλις το εγκαταστήσετε, ανοίξτε το και εισαγάγετε 169.254.10.1 στο πλαίσιο IP
  3. Επιλέξτε SSH και συμπληρώστε τη θύρα 22
  4. Κάντε κλικ στο άνοιγμα
  5. Συμπληρώστε το όνομα χρήστη: pi και τον κωδικό βατόμουρου αυτό είναι το τυπικό όνομα σύνδεσης σε μια ολοκαίνουργια εικόνα

Raspi-config

Πριν προχωρήσουμε θα πρέπει να αλλάξετε αρκετές ρυθμίσεις στο μενού raspi-config ανοίξτε το χρησιμοποιώντας:

sudo raspi-config

1. Ενεργοποιήστε το I2C και το SPI κάτω από τις επιλογές στην κατηγορία διεπαφών

2. Επιλέξτε την επιλογή WIFI μέσω της κατηγορίας τοπικής προσαρμογής

3. Ορίστε τη ρύθμιση Desktop/CLI στην κατηγορία επιλογών εκκίνησης σε Desktop Autologin.

4. Στην επιλογή Σύνθετες επιλογές, επιλέξτε A1 Expand Filesystem (αυτό διασφαλίζει ότι χρησιμοποιείτε το χώρο ολόκληρης της κάρτας SD

5. Τώρα βγείτε και κάντε sudo επανεκκίνηση

Wifi

Τώρα ήρθε η ώρα να ρυθμίσετε τη σύνδεση wifi εκτός πορείας, θα χρειαστείτε τα διαπιστευτήρια του wifi σας.

Πρώτα μεταβείτε στη λειτουργία root εκτελώντας αυτήν την εντολή

Sudo -i

Τώρα έχετε τα απαραίτητα δικαιώματα για να εκτελέσετε αυτές τις εντολές:

Βεβαιωθείτε ότι έχετε αλλάξει το SSID στο όνομα wifi και το PASSWORD στον κωδικό πρόσβασης wifi

Wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf

Εισαγάγετε τον πελάτη WPA εκτελώντας αυτήν την εντολή:

wpa_cli

Επιλέξτε τη διεπαφή

Διασύνδεση wlan0

Φορτώστε ξανά τη διαμόρφωση

Αναδιαμόρφωση

Τελευταίο αλλά όχι λιγότερο σημαντικό ελέγξτε αν λειτούργησε. Μπορείτε να το κάνετε εισάγοντας:

Ιπ α

Εδώ μπορείτε να ελέγξετε αν έχετε ένα ip κάτω από τις διεπαφές WLAN0, αν όχι sudo επανεκκίνηση (δεν αποτυγχάνει ποτέ (:).

Εάν δεν αισθάνεστε άνετα να το κάνετε μέσω της γραμμής εντολών, μπορείτε πάντα να το κάνετε μέσω του GUI του Raspbian που είναι λίγο πιο φιλικό προς το χρήστη.

  1. Εγκαταστήστε το VNC-viewer εδώ:
  2. Κάντε κλικ στο αρχείο, νέα σύνδεση και εισαγάγετε στη γραμμή διευθύνσεων IP: 169.254.10.1 και επιλέξτε όποιο όνομα θέλετε
  3. Συμπληρώστε το όνομα χρήστη: pi και τον κωδικό βατόμουρο
  4. Κάντε κλικ στο εικονίδιο wifi και συνδεθείτε με αυτόν τον τρόπο

Πακέτα

Τώρα που είμαστε συνδεδεμένοι στο διαδίκτυο μπορούμε να εγκαταστήσουμε τα πακέτα που χρειαζόμαστε για να τρέξουμε όλο τον κώδικα.

Πρώτα θα χρειαστεί να ανανεώσουμε τη λίστα πακέτων στην πιο πρόσφατη εκτελώντας:

sudo apt ενημέρωση

sudo apt αναβάθμιση

Διακομιστής ιστοσελίδων Apache

Θα χρειαστούμε έναν διακομιστή ιστού για την εκτέλεση της διαδικτυακής μας εφαρμογής. Αυτό μπορούμε να το πετύχουμε εγκαθιστώντας διακομιστή apache στον ιστό εκτελώντας αυτήν την εντολή:

sudo apt install apach2 -y

Πακέτα Python

Για να λειτουργήσουν όλα θα χρειαστούμε αρκετά πακέτα. Αυτά είναι που θα χρειαστούμε.

  • Φλάσκα
  • Flask-Cors
  • Φιάλη-Επέκταση
  • Flask-MySQL
  • Φιάλη-SocketIO
  • Python-socketio

Μπορείτε να τα εγκαταστήσετε εκτελώντας αυτήν την εντολή:

pip install Flask Flask-Cors Flask-Extension Flask-MySQL Flask-SocketIO python-socketio

Βήμα 2: Βάση δεδομένων

Βάση δεδομένων
Βάση δεδομένων

MariaDB

Εκτελέστε την ακόλουθη εντολή για να εγκαταστήσετε το MariaDB, αυτό είναι το σύστημα βάσης δεδομένων που απαιτείται για να παρακολουθείτε όλα τα δεδομένα που διαβάζουν οι αισθητήρες.

sudo apt install mariadb-server

Τώρα θα πρέπει να εξασφαλίσουμε την εγκατάστασή μας

Mysql_secure_installation

Μόλις εκτελέσετε την εντολή, θα μας ζητήσει έναν κωδικό πρόσβασης root που δεν έχουμε ακόμη, οπότε απλά πατήστε enter.

Τώρα θα σας ρωτήσει αν θέλετε ένα για λόγους ασφαλείας θέλουμε ένα, οπότε πατήστε το Y στο πληκτρολόγιό σας και επιλέξτε όποιον κωδικό θέλετε.

Τώρα θα συνεχίσει να σας κάνει μερικές ακόμη ερωτήσεις, απλώς απαντήστε το Υ σε όλες

Εντάξει τώρα που φτάσαμε σε αυτό το σημείο πρέπει να μπούμε στο κέλυφος SQL.

Για να γίνει αυτό, πρέπει πρώτα να ξαναγίνουμε root για να μας δώσουμε τα προνόμια να το κάνουμε εισάγοντας ξανά αυτήν την εντολή:

sudo -i

Τώρα εισάγετε το κέλυφος mysql

mysql

Τώρα θα δημιουργήσουμε έναν χρήστη που θα θέτει το όνομα που θέλετε ανάμεσα στα εισαγωγικά πριν από το @ και τον κωδικό πρόσβασης που θέλετε αφού προσδιοριστεί από

Τώρα πρέπει να ξεπλύνουμε τον πίνακα δικαιωμάτων εκτελώντας αυτήν την εντολή:

ΠΡΟΣΦΟΡΕΣ ΠΡΟΣΦΟΡΑΣ;

Αφού ολοκληρώσετε αυτά τα βήματα, μπορείτε να δημιουργήσετε ξανά το σχέδιο db από την παραπάνω εικόνα. Δυστυχώς, δεν μπορώ να σας δώσω μια ένδειξη της βάσης δεδομένων επειδή αντιμετωπίζω κάποια σφάλματα λογισμικού.

Βήμα 3: Καλωδίωση

Καλωδίωση
Καλωδίωση
Καλωδίωση
Καλωδίωση
Καλωδίωση
Καλωδίωση

Τώρα ήρθε η ώρα να κάνουμε την καλωδίωση του έργου. Για να κάνετε τη διαδικασία λίγο πιο εύκολη κάνοντας πρώτα ένα πρόγραμμα σε ένα πρόγραμμα που ονομάζεται fritzing. Το Fritzing το καθιστά ευκολότερο να αναδημιουργήσετε την καλωδίωση σας στην πραγματική ζωή και έχετε μια σαφή εικόνα του τι φτιάχνετε.

Βήμα 4: Στέγαση

Στέγαση
Στέγαση
Στέγαση
Στέγαση
Στέγαση
Στέγαση

Το πρώτο βήμα είναι να κόψετε το ξύλο στα σχήματα όπως φαίνεται στο σχέδιο. Το έκανα μέσω κοπής με λέιζερ, αλλά ένα κανονικό πριόνι θα λειτουργήσει εξίσου καλά. Μετά από αυτό θα θέλετε να βάψετε το ξύλο μαύρο για να πάρει το άσφαλτο. Μόλις στεγνώσει το χρώμα, μπορείτε να βάψετε τις λευκές λωρίδες για να έχετε την αίσθηση του χώρου στάθμευσης. Για το φράχτη ψεκάζω βαμμένα καλαμάκια για να μοιάζουν με κοντάρια. Για την ίδια την περίφραξη επισυνάπτω μερικές γκόες στους στύλους. Το φράγμα είναι φτιαγμένο από paer maché, το οποίο έβαψα με σπρέι αργότερα.

Βήμα 5: Κωδικοποίηση

Κωδικοποίηση
Κωδικοποίηση
Κωδικοποίηση
Κωδικοποίηση
Κωδικοποίηση
Κωδικοποίηση

Backend: Το backend του έργου είναι γραμμένο σε Python και TSQL. Διαβάζει όλα τα δεδομένα των αισθητήρων και τα γράφει στη βάση δεδομένων που δημιουργήσαμε λίγο νωρίτερα. Λειτουργεί επίσης έναν διακομιστή ιστού, ώστε να μπορούμε να συνδέσουμε το προσώπου μας σε αυτό. Έγραψα τον κώδικα που απαιτείται για το backend στο pycharm αλλά φυσικά δεν μπορείτε να χρησιμοποιήσετε ό, τι θέλετε.

Μπορείτε να βρείτε τον κωδικό για το backend εδώ:

Frontend: Το frontend είναι γραμμένο σε HTML, CSS και Javascript. Χρησιμοποίησα έναν συνδυασμό κώδικα visual studio και phpstorm για να γράψω τον κώδικα. Ο κώδικας βασικά γράφει ολόκληρο τον ιστότοπο και στα αρχεία javascript μπορείτε να βρείτε τον κώδικα που απαιτείται για να λάβετε τα δεδομένα από το backend.

Μπορείτε να βρείτε τον κωδικό για το frontend εδώ:

Συνιστάται: