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

Δυνατότητα σύνδεσης στο Internet: 13 βήματα
Δυνατότητα σύνδεσης στο Internet: 13 βήματα

Βίντεο: Δυνατότητα σύνδεσης στο Internet: 13 βήματα

Βίντεο: Δυνατότητα σύνδεσης στο Internet: 13 βήματα
Βίντεο: Πώς να διορθώσετε γρήγορα τη σύνδεσή σας στο Διαδίκτυο Εξερευνήθηκαν τρεις επιλογές 2024, Νοέμβριος
Anonim
Image
Image
Απαιτούνται αναλώσιμα
Απαιτούνται αναλώσιμα

Οδηγίες εγκατάστασης Outlet για διακομιστή ιστοσελίδων PowerHub & Ενεργοποίηση διαδικτύου

Κεντρικός κόμβος επιμονής δεδομένων για φωτισμό και πρίζες στο σπίτι σας!

Βήμα 1: Οδηγίες εγκατάστασης πύλης PowerHub Webserver Project & Internet Enabled Outlet

Κεντρικός κόμβος επιμονής δεδομένων για φωτισμό με δυνατότητα Internet και πρίζες στο σπίτι σας

Αναβοσβήνει σκληρός δίσκος RaspberriPi/Εγκαταστήστε το απαιτούμενο λογισμικό (χρησιμοποιώντας Ubuntu Linux) Λήψη "RASPBIAN JESSIE LITE"

Δημιουργήστε τον νέο σας σκληρό δίσκο για το DashboardPI

Τοποθετήστε το microSD στον υπολογιστή σας μέσω προσαρμογέα USB και δημιουργήστε την εικόνα του δίσκου χρησιμοποιώντας την εντολή dd

Εντοπίστε την κάρτα microSD που έχετε τοποθετήσει μέσω της εντολής df -h, αποσυνδέστε την και δημιουργήστε την εικόνα του δίσκου με την εντολή αντιγραφής δίσκου dd

$ df -h/dev/sdb1 7,4G 32K 7,4G 1%/μέσο/XXX/1234-5678

$ umount /dev /sdb1

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

if = τοποθεσία του αρχείου εικόνας RASPBIAN JESSIE LITE της = τοποθεσία της κάρτας microSD

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (σημείωση: σε αυτή την περίπτωση, είναι/dev/sdb,/dev/sdb1 ήταν ένα υπάρχον εργοστασιακό διαμέρισμα στο microSD)

Ρύθμιση του RaspberriPi

Τοποθετήστε τη νέα σας κάρτα microSD στο raspberrypi και ενεργοποιήστε την με μια οθόνη συνδεδεμένη στη θύρα HDMI

Σύνδεση

χρήστης: pi pass: βατόμουρο

Αλλάξτε τον κωδικό πρόσβασης του λογαριασμού σας για λόγους ασφαλείας

sudo passwd pi

Βήμα 2: Ενεργοποιήστε τις Προηγμένες επιλογές RaspberriPi

sudo raspi-config

Επιλέξτε: 1 Επέκταση συστήματος αρχείων

9 Προηγμένες επιλογές

Όνομα κεντρικού υπολογιστή A2 αλλάξτε το σε "WIFI-OUTLET"

A4 SSH Ενεργοποίηση διακομιστή SSH

A7 I2C Ενεργοποίηση διεπαφής i2c

Ενεργοποιήστε το πληκτρολόγιο Αγγλικών/ΗΠΑ

sudo nano/etc/default/πληκτρολόγιο

Αλλάξτε την ακόλουθη γραμμή: XKBLAYOUT = "εμείς"

Επανεκκινήστε το PI για αλλαγές διάταξης πληκτρολογίου / αλλαγή μεγέθους συστήματος αρχείων για να τεθεί σε ισχύ

$ sudo shutdown -r τώρα

Αυτόματη σύνδεση στο WiFi σας

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Προσθέστε τις ακόλουθες γραμμές για να συνδέσετε αυτόματα το raspberrypi στο WiFi του σπιτιού σας (εάν το ασύρματο δίκτυό σας ονομάζεται "linksys", για παράδειγμα, στο ακόλουθο παράδειγμα)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Επανεκκινήστε το PI για σύνδεση στο δίκτυο WiFi

$ sudo shutdown -r τώρα

Τώρα που το PI σας είναι τελικά στο τοπικό δίκτυο, μπορείτε να συνδεθείτε απομακρυσμένα σε αυτό μέσω SSH. Αλλά πρώτα πρέπει να λάβετε τη διεύθυνση IP που έχει αυτήν τη στιγμή.

$ ifconfig Αναζητήστε "inet addr: 192.168. XXX. XXX" στην έξοδο της ακόλουθης εντολής για τη διεύθυνση IP του PI σας

Μεταβείτε σε άλλο μηχάνημα και συνδεθείτε στο raspberrypi σας μέσω ssh

$ ssh [email protected]. XXX. XXX

Βήμα 3: Ξεκινήστε την εγκατάσταση των απαιτούμενων πακέτων

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

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

$ sudo apt-get install vim git python- ζητά python-gpiozero python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev python3-spidev python-spidev

Ενημέρωση τοπικών ρυθμίσεων ζώνης ώρας

$ sudo dpkg-επαναδιαμόρφωση tzdata

επιλέξτε τη ζώνη ώρας χρησιμοποιώντας τη διεπαφή

Ρύθμιση της απλής εντολής l εντολή [προαιρετικό]

vi ~/.bashrc

προσθέστε την ακόλουθη γραμμή:

ψευδώνυμο l = 'ls -lh'

πηγή ~/.bashrc

Διορθώστε την προεπιλεγμένη επισήμανση σύνταξης VIM [προαιρετικό]

sudo vi/etc/vim/vimrc

σχολιάστε την ακόλουθη γραμμή:

σύνταξη ενεργοποιημένη

Εγκαταστήστε προγράμματα οδήγησης Python i2c

Βήμα 4: ΔΗΜΙΟΥΡΓΗΣΤΕ ΤΟ WEB API

Οι ακόλουθες οδηγίες θα σας επιτρέψουν να δημιουργήσετε τον κεντρικό διανομέα που εξηγεί στις διάφορες πρίζες με δυνατότητα Wi -Fi και στους διακόπτες τοίχου που μπορείτε να δημιουργήσετε, ποιες συσκευές ενεργοποιούνται και απενεργοποιούνται. Αυτό είναι ένα μικρό σενάριο PHP για να το τοποθετήσετε σε έναν webhost της επιλογής σας. Έχει το ακόλουθο API για να λάβετε και να ορίσετε πληροφορίες σε αυτό. Σημείωση: μην ξεχάσετε να συμπεριλάβετε το αρχείο.htaccess για να πραγματοποιηθεί η σωστή δρομολόγηση URL.

Εγκαταστήστε το φάκελο "index.php", "values/" και settings.php (διαμορφωμένο στις δικές σας τιμές) σε διακομιστή ιστού με επιλογή PHP της επιλογής σας. Η τιμή του μυστικού κλειδιού στο αρχείο "settings.php" πρέπει να ταιριάζει με την τιμή του μυστικού κλειδιού που θα ορίζατε στο αρχείο "settings.py". Αυτό σε βασικό επίπεδο θα αποτρέψει οποιαδήποτε άλλη κίνηση στο διαδίκτυο από τη ρύθμιση / εγγραφή τιμών, ενεργοποιώντας τις συσκευές σας, τώρα χρειάζεστε αυτό το κατακερματισμένο κλειδί API στην κεφαλίδα αιτήματος HTTP για να το κάνετε αυτό.

Το API υποστηρίζει τις ακόλουθες δυνατότητες, για αυτό το έργο θα χρησιμοποιούμε μόνο τις τιμές "σημαίας" που είναι boolean τιμές που λένε στον διακόπτη να ενεργοποιηθεί και να απενεργοποιηθεί. Perhapsσως αν θέλατε να επωφεληθείτε από τις τιμές "ανάγνωσης" θα μπορούσατε να το έχετε, οπότε αν μια θερμοκρασία δωματίου γίνει πολύ ζεστή εξοικονομώντας μια θερμοκρασία εκεί, θα μπορούσε να ενεργοποιήσει έναν ανεμιστήρα παραθύρου κ.λπ.

Λάβετε τον Κώδικα

Κλωνοποιήστε το ακόλουθο έργο από το GitHub για να λάβετε τον κώδικα για την εκτέλεση του διακομιστή ιστού και της εξόδου RaspberryPI.

github.com/khinds10/PowerHub

Τελικά σημεία API όταν εκτελούνται σε διακομιστή ιστού

myhost/μήνυμα (λάβετε το τρέχον σύνολο μηνυμάτων)

myhost/message/set (HTTP POST μια ακατέργαστη τιμή συμβολοσειράς σε αυτό το URL για να ορίσετε ένα νέο μήνυμα)

myhost/flag/{id} (λάβετε την τρέχουσα κατάσταση boolean της σημαίας με ακέραιο αριθμό: {id})

myhost/flag/all (λάβετε όλη την τρέχουσα κατάσταση boolean όλων των σημαιών ως πίνακα)

myhost/flag/{id}/set (ορίστε την τρέχουσα κατάσταση boolean σε "true" για τη σημαία με ακέραιο αριθμό: {id})

myhost/flag/{id}/unset (ορίστε την τρέχουσα κατάσταση boolean σε "false" για τη σημαία με ακέραιο αριθμό: {id})

myhost/reading/{id} (λάβετε την τρέχουσα μέση τιμή για την ανάγνωση με ακέραιο αριθμό: {id})

myhost/reading/all (λάβετε την τρέχουσα μέση τιμή για όλες τις αναγνώσεις ως πίνακα)

myhost/reading/{id}/set (HTTP POST μια ακατέργαστη αριθμητική τιμή σε αυτήν τη διεύθυνση URL για να προσθέσετε μια νέα τιμή στον τρέχοντα υπολογισμένο μέσο όρο) - δείτε παρακάτω πόσες συνολικά τιμές έχουν καταρτιστεί στη μέση τιμή Διαμόρφωση Οι τιμές "αναγνώσεις" υπολογίζονται ως μέσοι όροι ορισμένου αριθμού πρόσφατων επίμονων αριθμητικών τιμών επίμονης ανάγνωσης. Ορίστε την ακόλουθη σταθερά στο πόσες από τις πιο πρόσφατες αναγνώσεις πρέπει να περιλαμβάνονται για να προκύψει ο μέσος όρος.

$ readingsAverageLimit = 5;

Ο διακομιστής δεδομένων διατηρεί τις τιμές σε απλά αρχεία που βρίσκονται με συμβάσεις ονοματοδοσίας παρακάτω. Σημείωση: Το {id} θα αντικατασταθεί από τον πραγματικό ακέραιο που παρουσιάζεται από τη διεύθυνση URL του εισερχόμενου αιτήματος.

$ valueFileFolder = 'τιμές' (όνομα του φακέλου που περιέχει τα αρχεία μέτρησης) $ messageFileName = 'message.msg' (όνομα του αρχείου κειμένου του μηνύματος) $ readingsFilesNames = 'ανάγνωση {id}.avg' (μέσο όρο CSV αρχείο αναγνώσεων) $ flagFilesNames = 'flag {id}.flg' (όνομα του αρχείου σημαίας boolean flag flag)

Βεβαιωθείτε ότι όλα τα αρχεία τιμών είναι εγγράψιμα από τις τιμές systemchmod 777/*

Βήμα 5: Απαιτούνται αναλώσιμα

Απαιτούνται αναλώσιμα
Απαιτούνται αναλώσιμα
Απαιτούνται αναλώσιμα
Απαιτούνται αναλώσιμα
Απαιτούνται αναλώσιμα
Απαιτούνται αναλώσιμα

Πριόνι οπής 1 ίντσας (για τρυπάνι)

Μονάδα ρελέ 5V 2 καναλιών

Duplex Receptacle Wall Plate

Duplex Receptacle

Pi Zero W

Surface Mount Backbox Dual Gang

Λευκά φωτιζόμενα κουμπιά

Βήμα 6: Δημιουργία πρίζας

Χτίζοντας την πρίζα
Χτίζοντας την πρίζα

Break Outlet Tabs

Σπάστε τη γλωττίδα στο πλάι της πρίζας για να ενεργοποιήσετε/απενεργοποιήσετε κάθε πρίζα ανεξάρτητα

Βήμα 7: Εγκατάσταση κουμπιών

Εγκατάσταση κουμπιών
Εγκατάσταση κουμπιών
Εγκατάσταση κουμπιών
Εγκατάσταση κουμπιών

Στην πρόσοψη εξόδου χρησιμοποιώντας το πριόνι οπής 1 , κόψτε 2 τρύπες για να τοποθετηθούν τα κουμπιά δίπλα στις πρίζες

Δοκιμή Μεγέθους εξαρτημάτων

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

Βήμα 8: Ρελέ καλωδίων

Καλώδιο ρελέ
Καλώδιο ρελέ
Καλώδιο ρελέ
Καλώδιο ρελέ

Συνδέστε το ρελέ στην πρίζα, από το καλώδιο επέκτασης που πηγαίνει στον τοίχο, συνδέστε το έδαφος (πράσινο) και το ουδέτερο (λευκό) απευθείας στην πρίζα Για το ζεστό (μαύρο) συνδέστε το στο ρελέ και στη συνέχεια από το ρελέ σε κάθε θερμό βύσμα εξόδου μεμονωμένα

Βήμα 9: Πρόσθετες εικόνες καλωδίωσης και συναρμολόγησης

Πρόσθετες εικόνες καλωδίωσης και συναρμολόγησης
Πρόσθετες εικόνες καλωδίωσης και συναρμολόγησης

Βήμα 10: Διάγραμμα καλωδίωσης

Διάγραμμα συνδεσμολογίας
Διάγραμμα συνδεσμολογίας

Χρησιμοποιήστε το διάγραμμα για να συνδέσετε σωστά τα εξαρτήματα για να λειτουργήσετε με τον κώδικα RaspberryPI Python.

Βήμα 11: Δοκιμή Dry Run

Δοκιμή Dry Run
Δοκιμή Dry Run
Δοκιμή Dry Run
Δοκιμή Dry Run
Δοκιμή Dry Run
Δοκιμή Dry Run

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

Βήμα 12: Ορίστε τα σενάρια εκκίνησης

crontab -e

προσθέστε τις ακόλουθες γραμμές

@reboot python /home/pi/PowerHub/device/outlet/buttons.py @reboot python /home/pi/PowerHub/device/outlet/relay.py

Συνιστάται: