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

Αυτόματη, αυτόματη έξοδος με τρέχουσα μέτρηση σε πραγματικό χρόνο: 6 βήματα
Αυτόματη, αυτόματη έξοδος με τρέχουσα μέτρηση σε πραγματικό χρόνο: 6 βήματα

Βίντεο: Αυτόματη, αυτόματη έξοδος με τρέχουσα μέτρηση σε πραγματικό χρόνο: 6 βήματα

Βίντεο: Αυτόματη, αυτόματη έξοδος με τρέχουσα μέτρηση σε πραγματικό χρόνο: 6 βήματα
Βίντεο: Δωρεάν webinar για την ψηφιακή κάρτα εργασίας από το Taxheaven και την Epsilon Net 2024, Ιούλιος
Anonim
Αυτόματη, αυτόματη έξοδος με τρέχουσα μέτρηση σε πραγματικό χρόνο
Αυτόματη, αυτόματη έξοδος με τρέχουσα μέτρηση σε πραγματικό χρόνο
Αυτόματη, αυτόματη έξοδος με τρέχουσα μέτρηση σε πραγματικό χρόνο
Αυτόματη, αυτόματη έξοδος με τρέχουσα μέτρηση σε πραγματικό χρόνο
Αυτόματη, αυτόματη έξοδος με τρέχουσα μέτρηση σε πραγματικό χρόνο
Αυτόματη, αυτόματη έξοδος με τρέχουσα μέτρηση σε πραγματικό χρόνο
Αυτόματη, αυτόματη έξοδος με τρέχουσα μέτρηση σε πραγματικό χρόνο
Αυτόματη, αυτόματη έξοδος με τρέχουσα μέτρηση σε πραγματικό χρόνο

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

Τα συστατικά που απαιτούνται για αυτό το έργο είναι:

Προμήθειες

Πριν ξεκινήσουμε αυτά είναι τα πράγματα που σίγουρα θα χρειαστείτε για να δημιουργήσετε ένα κουτί Switch-IT όπως το δικό μου. Αυτές οι προμήθειες θα κοστίσουν περίπου 50 έως 100 ευρώ ανάλογα με την περιοχή σας και τις τρέχουσες τιμές.

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

ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ

  • Βατόμουρο πι 4
  • Κάρτα Micro SD 16 GB (ή περισσότερο)
  • Arduino Uno
  • Μετατροπέας στάθμης 5V-3.3V
  • Μονάδα ρελέ 5V
  • ACS712 20A - τρέχουσα μονάδα
  • 1838 μονάδα δέκτη IR 37,9 kHz
  • Τηλεχειριστήριο IR (χρησιμοποιώ ένα Elegoo)
  • κοινή κάθοδος RGB
  • 3 * 330Ω αντιστάσεις
  • κουμπί
  • RFID-RC522
  • LCD 1602A-1
  • Υποδοχή τοίχου Niko
  • Δοχείο μετρητή 10K Ω
  • Τροφοδοσία 230 έως 5V - 7A

Καλώδια

  • Καλώδιο USB-B σε USB-A
  • Καλώδιο τροφοδοσίας USB-C
  • Καλώδιο Ethernet

Διάφορος

  • Ανδρικά-θηλυκά Jumperwires
  • Male-Male Jumperwires
  • Συγκολλητικό κασσίτερο
  • Συρρικνωμένος σωλήνας

Ειδικά μέρη θήκης (ΠΡΟΑΙΡΕΤΙΚΑ)

  • 50 * καρύδια και έντονα
  • μεταλλική θήκη 40x40x5 cm με καπάκι
  • ταινία διπλής όψης
  • Αποστάτες ύψους 6 * 1cm
  • led-holder
  • Ταινία Velcro
  • οδηγούς καλωδίων

Λογισμικό

  • balenaEtcher:
  • Στόκος
  • ράσμπιαν
  • Κωδικός Visual Studio
  • Arduino IDE

Βήμα 1: Ρύθμιση του Rasbian

Ρύθμιση Rasbian
Ρύθμιση Rasbian
Ρύθμιση Rasbian
Ρύθμιση Rasbian

Πρώτα απ 'όλα θα αναβοσβήσουμε το Rasbian στην κάρτα SD. Θα το κάνουμε χρησιμοποιώντας το balenaEtcher.

  1. Ανοίξτε το balenaEtcher
  2. Επιλέξτε την εικόνα Rasbian
  3. Επιλέξτε την κάρτα SD
  4. Πατήστε Flash για λίγα λεπτά μέχρι να αναβοσβήνει

Προσθήκη APIPA στον κατάλογο εκκίνησης: Θα χρησιμοποιήσουμε μια διεύθυνση APIPA για τον προγραμματισμό και τη διαμόρφωση των ρυθμίσεων στο RPI. Για να το κάνω αυτό:

  1. Μπαίνει στον κατάλογο εκκίνησης στην κάρτα SD
  2. Ανοίξτε το "cmdline.txt"
  3. Προσθέστε "169.254.10.1" στο τέλος του εγγράφου και αποθηκεύστε το
  4. Προσθέστε ένα αρχείο που ονομάζεται "ssh" στον κατάλογο εκκίνησης (ΜΗΝ ΔΩΣΕΤΕ ΑΥΤΟ ΤΟ ΑΡΧΕΙΟ ΕΠΕΚΤΑΣΗ)
  5. Αφού το κάνετε αυτό, μπορείτε να εξαγάγετε την κάρτα SD από τον υπολογιστή σας.

Έχει πρόσβαση στο RPI χρησιμοποιώντας το PuTTy

Τώρα μπορούμε να συνδέσουμε την κάρτα SD στο RPI μας, να συνδέσουμε το RPI στον υπολογιστή σας χρησιμοποιώντας ένα καλώδιο ethernet.

Για να συνδεθούμε στο RPI θα χρησιμοποιήσουμε το PuTTy με τη διεύθυνση APIPA.

  1. Ανοίξτε το PuTTy
  2. Συμπληρώστε τη διεύθυνση APIPA ως όνομα κεντρικού υπολογιστή (169.254.10.1)
  3. Βεβαιωθείτε ότι η θύρα είναι 22 και έχει επιλεγεί SSH
  4. Τώρα μπορείτε να ανοίξετε τη σύνδεση
  5. Το προεπιλεγμένο όνομα χρήστη είναι: pi
  6. Με προεπιλεγμένο κωδικό πρόσβασης: βατόμουρο

ρυθμίσεις raspi-config

Άνοιγμα raspi-config χρησιμοποιώντας:

sudo raspi-config

  • Αλλάξτε τον κωδικό πρόσβασης χρήστη
  • Στις επιλογές τοπικοποίησης επιλέξτε τη ζώνη ώρας
  • Ρυθμίστε το WiFi χρησιμοποιώντας τις επιλογές δικτύου και μετά την επιλογή Wi-Fi όπου πρέπει να συμπληρώσετε το SSID και τον κωδικό πρόσβασής σας.

Εγκαταστήστε το Python 3

Σε αυτό το έργο χρησιμοποιούμε Python, οπότε θα ορίσουμε την προεπιλογή σε Python3 insteat του Python2, χρησιμοποιώντας τις ακόλουθες εντολές

update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1

εναλλακτικές λύσεις ενημέρωσης-εγκατάσταση/usr/bin/python python/usr/bin/python3 2

Πακέτα Python

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

pip εγκατάσταση Flask

pip install Flask_cors pip install Flask_socketio pip install python-mysql-connecton

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

Στη συνέχεια, θα εγκαταστήσουμε το σύστημα διαχείρισης βάσης δεδομένων (MariaDB), θα το κάνουμε χρησιμοποιώντας:

sudo apt install mariadb-server

Πληκτρολογήστε "Y" και Enter για να συνεχίσετε. Μετά από μερικά δευτερόλεπτα, η διαδικασία εγκατάστασης έχει ολοκληρωθεί και το MariaDB είναι σχεδόν έτοιμο για χρήση.

Για να ορίσετε στη βάση δεδομένων έναν κωδικό πρόσβασης, χρησιμοποιήστε την εντολή:

sudo mysql_secure_installation

Στη συνέχεια, πατήστε Enter, καθώς ο τρέχων κωδικός πρόσβασης είναι κενός. Στη συνέχεια, πατήστε "Y" για να ορίσετε έναν κωδικό πρόσβασης, τώρα μπορείτε να συμπληρώσετε όποιον κωδικό θέλετε, φροντίστε να τον θυμάστε γιατί τον χρειαζόμαστε για να κάνουμε μια σωστή σύνδεση μεταξύ back-and front-end.

Τώρα, πατήστε "Y" 3 φορές για να: αφαιρέσετε ανώνυμους χρήστες, να μην επιτρέψετε τη σύνδεση root από απόσταση και να αφαιρέσετε τη δοκιμαστική βάση δεδομένων. Τέλος, πατήστε ξανά "Y" για να φορτώσετε ξανά τα προνόμια.

Τώρα το MariaDB και όλα τα απαραίτητα πακέτα έχουν εγκατασταθεί με επιτυχία.

Βήμα 2: Πιάστε τον κώδικα και ρυθμίστε τον

Πιάστε τον κώδικα και ρυθμίστε τον
Πιάστε τον κώδικα και ρυθμίστε τον
Πιάστε τον κώδικα και ρυθμίστε τον
Πιάστε τον κώδικα και ρυθμίστε τον

Τώρα που έχουμε όλα τα πακέτα εγκατεστημένα, μπορούμε να πάρουμε τον κώδικα.

Ο κωδικός είναι διαθέσιμος στο Github, ώστε να μπορείτε να τον κλωνοποιήσετε χρησιμοποιώντας:

git clone

Αυτή είναι η πρόσοψη

git clone

Αυτό είναι το backend

Εγκατάσταση της ίδιας της βάσης δεδομένων

Για να εγκαταστήσετε τη βάση δεδομένων, μεταβείτε στο αρχείο.sql που βρίσκεται στο φάκελο backend χρησιμοποιώντας τις ακόλουθες εντολές (φροντίστε να το ορίσετε στη δική σας διαδρομή.

mysql

δημιουργία βάσης δεδομένων switchit κλείσιμο mysql -u root -p switchit <Your_Path_to_Backend_Repo/switchit.sql

Εγκατάσταση του Apache

Τώρα που έχουμε όλο τον κώδικα και τη ρύθμιση της βάσης δεδομένων, μπορούμε να εγκαταστήσουμε το Apache και να τρέξουμε το backend μας σε αυτό. Θα το κάνουμε χρησιμοποιώντας:

apt -get install apache2 -y

Στη συνέχεια, αντικαταστήστε τα αρχεία στο/var/ww/html με αυτά του φακέλου από το φάκελο frontend.

Εάν όλα πήγαν καλά, θα πρέπει να μπορείτε να συνδεθείτε στον ιστότοπό σας χρησιμοποιώντας τη διεύθυνση APIPA: 169.254.10.1 στο πρόγραμμα περιήγησής σας.

Βήμα 3: Επικοινωνία Arduino

Επικοινωνία Arduino
Επικοινωνία Arduino

Για να διαβάσετε τον τρέχοντα αισθητήρα μας και τον αισθητήρα RFID χρησιμοποιούμε arduino, για να το κάνετε αυτό χρησιμοποιήστε τον παρακάτω κώδικα arduino. Ανεβάστε το χρησιμοποιώντας ένα καλώδιο USB-A σε USB-B και το λογισμικό arduino IDE. Όταν μεταφορτωθεί, το μέρος του arduino έχει ολοκληρωθεί.

Τώρα πρέπει να βρούμε το όνομα της σειριακής συσκευής στο PI. Για να το κάνετε αυτό, βεβαιωθείτε ότι στο /boot/config.txt "enable_uart = 1" έχει οριστεί σωστά. Βεβαιωθείτε επίσης ότι το "console = serial0, 115200" έχει αφαιρεθεί από το cmdline.txt.

Στη συνέχεια, ελέγξτε τις θύρες χρησιμοποιώντας

ls -l /dev

Τότε ένα από τα σειριακά ονόματα θα πρέπει να είναι το Arduino. Συμπληρώστε αυτό το όνομα στη συνάρτηση arduinocom στο app.py

ser = serial. Serial ('/dev/ttyS0', 9600)

Κάντε το μόνο εάν η σειριακή επικοινωνία δεν λειτουργεί.

Βήμα 4: Εναλλαγή καλωδίωσης

Wiring Up Switch-it
Wiring Up Switch-it
Wiring Up Switch-it
Wiring Up Switch-it

Η καλωδίωση των πάντων είναι αρκετά απλή, αν και θα πρέπει να έχετε κατά νου τα εξής:

  • Να είστε προσεκτικοί με την πρίζα, τα 230 βολτ μπορεί να είναι θανατηφόρα.
  • Βεβαιωθείτε ότι χρησιμοποιείτε μετατροπέα επιπέδου για επικοινωνία μεταξύ του RPI και του Arduino.
  • Πριν από τη συγκόλληση του RGB, βεβαιωθείτε ότι χρησιμοποιείτε την κόκκινη και πράσινη καρφίτσα. Δοκιμάστε το εκ των προτέρων!
  • Δοκιμάστε εάν τίποτα δεν βραχυκυκλώνεται ΠΡΙΝ τροφοδοτήσετε το κύκλωμα.

Βήμα 5: Εκτέλεση του κώδικα

Τώρα όλα είναι σωστά συνδεδεμένα μπορούμε να τρέξουμε το πρόγραμμά μας.

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

sudo nano myscript.service

Στη συνέχεια, επικολλήστε (βεβαιωθείτε ότι χρησιμοποιείτε τον δικό σας κατάλογο app.py:

[Unit] Description = Switchit After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // αλλαγή στον κατάλογο app.py // StandardOutput = κληρονομεί StandardError = κληρονομεί Επανεκκίνηση = πάντα User = pi [Εγκατάσταση] WantedBy = multi-user.target

Στη συνέχεια, πατήστε "ctrl + X" και αντιγράψτε το στο/etc/systemd/system.

Στη συνέχεια, η ακόλουθη εντολή για να εκτελεστεί αυτόματα:

sudo systemctl ενεργοποιήστε την υπηρεσία myscript.service

Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με αυτό στον ιστότοπο RaspBerry Pi.

Επανεκκίνηση και τέλος

Τώρα επανεκκινήστε το PI χρησιμοποιώντας:

sudo επανεκκίνηση -h τώρα

Έτσι φτιάχνετε το Switch-it!

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

Βήμα 6: (ΠΡΟΑΙΡΕΤΙΚΑ) η στέγαση

(ΠΡΟΑΙΡΕΤΙΚΑ) η Στέγαση
(ΠΡΟΑΙΡΕΤΙΚΑ) η Στέγαση
(ΠΡΟΑΙΡΕΤΙΚΑ) η Στέγαση
(ΠΡΟΑΙΡΕΤΙΚΑ) η Στέγαση
(ΠΡΟΑΙΡΕΤΙΚΑ) η Στέγαση
(ΠΡΟΑΙΡΕΤΙΚΑ) η Στέγαση
(ΠΡΟΑΙΡΕΤΙΚΑ) η Στέγαση
(ΠΡΟΑΙΡΕΤΙΚΑ) η Στέγαση

Μπορείτε να χτίσετε το περίβλημα εξ ολοκλήρου σύμφωνα με τις προτιμήσεις σας. Χρησιμοποίησα μεταλλική θήκη που είναι 40x40x5 cm με καπάκι. Δεδομένου ότι χρησιμοποίησα ένα μεταλλικό, έπρεπε να ανοίξω τρύπες και να χρησιμοποιήσω αποστάτες για να βγάλω τα πάντα από το έδαφος. Επέλεξα να χρησιμοποιήσω ένα κεντρικό σημείο όπου είναι διαθέσιμα τα 5V, 3.3V και gnd. Κάθε ηλεκτρική σύνδεση συγκολλάται με ένα κομμάτι συρρικνωμένου σωλήνα στο πάνω μέρος του. Για να κάνω τη διαχείριση καλωδίων χρησιμοποίησα τακάκια με ιμάντες μεταφοράς.

Συνιστάται: