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

SmartHome With Raspberry Pi: 5 βήματα
SmartHome With Raspberry Pi: 5 βήματα

Βίντεο: SmartHome With Raspberry Pi: 5 βήματα

Βίντεο: SmartHome With Raspberry Pi: 5 βήματα
Βίντεο: Home Assistant 2019. Установка на Raspberry Pi 3 b+ 2024, Νοέμβριος
Anonim
SmartHome με Raspberry Pi
SmartHome με Raspberry Pi

Για αυτό το έργο έφτιαξα ένα SmartHome που μπορεί να λειτουργήσει από έναν ιστότοπο και ένα κινητό. Για αυτό χρησιμοποιώ το Raspberry PI ως βάση δεδομένων και διακομιστή ιστού.

Προμήθειες

Αν θέλετε να ξεκινήσετε αυτό, χρειάζεστε πολλά πράγματα:

  • 5 λευκά led (5mm)
  • 1 αισθητήρας θερμοκρασίας ενός καλωδίου
  • 1 LDR (αντίσταση εξαρτώμενη από το φως)
  • 2 σερβοκινητήρες
  • 1 microSD (για Raspberry Pi)
  • 1 τροφοδοσία Breadboard
  • 1 Raspberry Pi 3 Μοντέλο B+
  • 3 Πλάκες αφρού
  • 1 βηματικό μοτέρ (5V)
  • 1 αναγνώστης RFID-RC522
  • 8 αντιστάσεις (220 Ohm)
  • 1 αντίσταση (10K Ohm)
  • 2 Breadboards
  • 2 πακέτα jumperwires
  • 1 οθόνη LCD 16x2
  • 1 PCF8574AN
  • 4 μικρά παράθυρα (τρισδιάστατη εκτύπωση)
  • 1 πόρτα (τρισδιάστατη εκτύπωση)
  • 2 μεγάλα παράθυρα (τρισδιάστατη εκτύπωση)
  • 1 πόρτα γκαράζ (τρισδιάστατη εκτύπωση)

Εάν χρειάζεστε όλα αυτά για να αγοράσετε, το μέγιστο κόστος θα είναι περίπου 150 €

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

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

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

Με αυτόν τον τρόπο, μπορείτε να δείτε αν έχετε αρκετές καρφίτσες στο Raspberry Pi για να συνδέσετε τα πάντα. Σε αυτήν την περίπτωση χρησιμοποίησα το PCF8574AN για τον έλεγχο της οθόνης LCD μου με λιγότερους ακροδέκτες GPIO.

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

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

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

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

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

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

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

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

Πρώτα απ 'όλα, πρέπει να σχεδιάσετε τη βάση δεδομένων χρησιμοποιώντας το Mysql Workbench. Εάν επιτευχθεί αυτό, πρέπει να εγκαταστήσετε τη βάση δεδομένων Mysql στο Raspberry Pi.

Το πρώτο βήμα που κάνετε είναι να ελέγξετε εάν το Pi σας είναι ενημερωμένο. Μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή:

sudo apt-get ενημέρωση

και

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

Τώρα μπορείτε να εγκαταστήσετε τον διακομιστή Mysql:

sudo apt-get install mysql-server

Εάν ο διακομιστής Mysql είναι εγκατεστημένος, εγκαταστήστε το πρόγραμμα -πελάτη Mysql

sudo apt-get install mysql-client

Αν κοιτάξετε τώρα στον κεντρικό υπολογιστή sql με την εντολή:

sudo mysql

Τώρα μπορείτε να εισαγάγετε τον κώδικα της βάσης δεδομένων σας ανοίγοντας το αρχείο.mwb με τον sql workbench και τον μηχανικό προώθησης. Αντιγράφετε τον κώδικα και τον επικολλάτε στο mysql από το Raspberry. Η βάση δεδομένων είναι φτιαγμένη.

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

παραχωρήστε όλα τα προνόμια στο smarthome.* στο 'yourname'@'%' που προσδιορίζεται με το 'yourname'?

φυσικά πρέπει να ανανεώσεις το τραπέζι τώρα

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

Για να το ελέγξετε, μπορείτε απλά να δοκιμάσετε:

χρησιμοποιήστε smarthome?

επιλέξτε * από το ιστορικό;

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

Βήμα 4: Ρύθμιση

Για να ορίσετε την εικόνα στο Raspberry Pi μπορείτε να χρησιμοποιήσετε το Putty, αυτό είναι ένα δωρεάν πρόγραμμα. Μπορείτε να βρείτε το βασικό αρχείο εικόνας εδώ:

Διεπαφές

Φυσικά πρέπει να ενεργοποιήσετε ορισμένες διεπαφές στο Pi. Πρώτα μεταβείτε στη σελίδα διαμόρφωσης.

sudo raspi-config

Τώρα μπορείτε να μεταβείτε στις κατηγορίες 1-Wire και Spi και να τις ενεργοποιήσετε και οι δύο. Θα τα χρειαστείτε για τον αισθητήρα θερμοκρασίας.

Wifi

Ακολουθήστε τα επόμενα βήματα για να αποκτήσετε wifi στο Pi.

Πρώτα συνδεθείτε ως root

sudo-i

Στη συνέχεια, συμπληρώστε το όνομα και τον κωδικό πρόσβασης του δικτύου wifi

wpa_passphrase = "wifiname" "password" >> /etc/wpa_supplicant/wpa_supplicant.conf

Στη συνέχεια, εισαγάγετε τον πελάτη WPA

wpa_cli

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

διεπαφή wlan0

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

επαναδιαμορφώσω

Και τώρα μπορείτε να ελέγξετε αν είστε συνδεδεμένοι

ip a

Πακέτα

Το πρώτο πράγμα που πρέπει να κάνετε είναι να ενημερώσετε τις πιο πρόσφατες εκδόσεις

sudo apt ενημέρωση

Για python εγκαθιστούμε και βεβαιωνόμαστε ότι το Pi επιλέγει τη σωστή έκδοση

update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1 ενημερωμένες-εναλλακτικές λύσεις --install/usr/bin/python python/usr/bin/python3 2

Για να λειτουργεί ο διακομιστής ιστού στον ιστότοπο, πρέπει να εγκαταστήσουμε το Apache2

sudo apt install apache2 -y

Ορισμένα πακέτα python πρέπει επίσης να εγκατασταθούν

  • Φλάσκα
  • Flask-Cors
  • Flask-MySQL
  • Φιάλη-SocketIO
  • PyMySQL
  • Python-socketIO
  • αιτήσεων
  • κουκούτσι
  • gpio
  • Gevent
  • Gevent-websocket

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

Βήμα 5: Κωδικός

Κώδικας
Κώδικας
Κώδικας
Κώδικας

backend

Για το backend, γράφουμε τον κώδικα σε python και χρησιμοποιώντας pycharm για εγγραφή. Μπορείτε να ελέγξετε τις διαδρομές από το backend με ταχυδρόμο. Με αυτήν την εφαρμογή μπορείτε να χρησιμοποιήσετε τις μεθόδους POST και GET. Στο backend χρησιμοποίησα multithreading, ώστε όλα να τρέχουν στο παρασκήνιο και να μπορούν να συνεργαστούν. Για να ρυθμίσετε την εικόνα στο Raspberry Pi μπορείτε να χρησιμοποιήσετε το Putty, αυτό είναι ένα δωρεάν πρόγραμμα.

προσώπου

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

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

github.com/NMCT-S2-Project-1/nmct-s2-proje…

Συνιστάται: