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

DIY Υπαίθριος φωτισμός χαμηλής τάσης ελεγχόμενος χρησιμοποιώντας Raspberry Pi: 11 βήματα (με εικόνες)
DIY Υπαίθριος φωτισμός χαμηλής τάσης ελεγχόμενος χρησιμοποιώντας Raspberry Pi: 11 βήματα (με εικόνες)

Βίντεο: DIY Υπαίθριος φωτισμός χαμηλής τάσης ελεγχόμενος χρησιμοποιώντας Raspberry Pi: 11 βήματα (με εικόνες)

Βίντεο: DIY Υπαίθριος φωτισμός χαμηλής τάσης ελεγχόμενος χρησιμοποιώντας Raspberry Pi: 11 βήματα (με εικόνες)
Βίντεο: 2835-120 2024, Ιούλιος
Anonim
DIY Εξωτερικός φωτισμός χαμηλής τάσης ελεγχόμενος χρησιμοποιώντας Raspberry Pi
DIY Εξωτερικός φωτισμός χαμηλής τάσης ελεγχόμενος χρησιμοποιώντας Raspberry Pi
DIY Υπαίθριος φωτισμός χαμηλής τάσης ελεγχόμενος χρησιμοποιώντας Raspberry Pi
DIY Υπαίθριος φωτισμός χαμηλής τάσης ελεγχόμενος χρησιμοποιώντας Raspberry Pi
DIY Εξωτερικός φωτισμός χαμηλής τάσης ελεγχόμενος χρησιμοποιώντας Raspberry Pi
DIY Εξωτερικός φωτισμός χαμηλής τάσης ελεγχόμενος χρησιμοποιώντας Raspberry Pi

Γιατί;

Πρέπει να ομολογήσω, είμαι, όπως και πολλοί άλλοι, μεγάλος οπαδός του διαδικτύου των πραγμάτων (ή του IoT). Είμαι ακόμα κουρασμένος να συνδέω όλα μου τα φώτα, τις συσκευές, την μπροστινή πόρτα, την πόρτα του γκαράζ και ποιος ξέρει τι άλλο στο εκτεθειμένο διαδίκτυο. Ειδικά με γεγονότα όπως η πρόσφατη κατάρρευση των υπηρεσιών Amazon S3 και συνεπείς ευπάθειες ασφαλείας. Or έχουμε ακόμη και συσκευές IoT που χρησιμοποιούμε; Τι γίνεται αν ο πάροχος διαδικτύου διακόψει την υπηρεσία ή διακοπεί; Πάρα πολλά σημεία αποτυχίας για μένα.

Τα τελευταία 3 χρόνια, είχα μια τέτοια έκρηξη εξερευνώντας και μαθαίνοντας με το Raspberry Pi και σε όλο αυτό το διάστημα είχα την ευκαιρία να κάνω τα πάντα, από ένα αυτοματοποιημένο σύστημα στάγδην κηπουρικής, να αναζωογονήσω τον παλιό μου εκτυπωτή λέιζερ προσθέτοντας συνδεσιμότητα δικτύου και καλύπτοντας σε κάποιο γλυκό ρετρό gaming (αν και το Arduino είναι ακόμα η πρώτη μου αγάπη…).

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

Ευχαριστίες:

TheFreeElectron - Απλή και διαισθητική διεπαφή ιστού για το Raspberry Pi σας - αν κλείσετε την ιστοσελίδα, ελέγξτε εδώ, έμπνευση για την πλευρά του διακομιστή

CodePen - καταπληκτική πηγή για έμπνευση και μάθηση CSS

Κωδικός Ακαδημίας - Είμαι παλιός σχολικός τύπος HTML, με μερικά. NET & C# να έχουν ενσωματωθεί. Python, CSS, Javascript, PHP - όλα αυξήθηκαν σε ένα εύχρηστο/hackable επίπεδο με τη βοήθεια της Code Academy.

Βασική Επισκόπηση:

Ισχύς χαμηλής τάσης (12V φώτα/ρελέ & 5V RPi/ρελέ) παρέχεται από ένα μόνο τροφοδοτικό ATX

Ρύθμιση Raspberry Pi με Apache (διακομιστής ιστού), WiringPi (διαχείριση GPIO) χρησιμοποιώντας κύρια σελίδα PHP (διακομιστή) με Javascript (πλευρά χρήστη) και Python (σενάρια) για παρακολούθηση της κατάστασης GPIO και εμφάνιση σχετικών πληροφοριών για την κύρια ιστοσελίδα. Πλαίσια ελέγχου (μεταμφιεσμένα) που χρησιμοποιούνται για τον έλεγχο καρφιτσών GPIO, οι οποίοι ελέγχουν ρελέ, οι οποίοι ελέγχουν τα φώτα! Είναι βασικά μαγικό.

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

Είμαι ενθουσιασμένος για κοινή χρήση και ανυπομονώ για τα σχόλια αυτής της κοινότητας. Ας κυλήσουμε - αρχίστε να τελειώνετε.

Βήμα 1: Υλικό, ανταλλακτικά και εργαλεία

Υλικό, ανταλλακτικά και εργαλεία
Υλικό, ανταλλακτικά και εργαλεία

Υπάρχουν καλύτερα μέρη για χρήση; Ναί.

Πήρα το σύστημά μου να λειτουργεί επαρκώς με αυτά τα μέρη; Ναί.

Πρέπει να δοκιμάσετε κάτι λίγο διαφορετικό; Γιατί όχι;! Υλικό/Λογισμικό

  1. RaspberryPi - όσο πιο καθαρό τόσο το καλύτερο και το RPi3 εξαιρετικό αφού θα χρειαστείτε wifi

    • Υποθέτοντας: Έχετε ένα νέο φορτίο Rasbian
    • Υποθέτοντας: Έχετε αλλάξει τον προεπιλεγμένο κωδικό πρόσβασης και έχετε ενεργοποιήσει το SSH (με οθόνη)
    • Or χωρίς οθόνη (δείτε Βήμα 1)
  2. Τροφοδοτικό ATX - το ανακυκλωμένο είναι το καλύτερο, είχα το δικό μου από την παλιά πλατφόρμα τυχερού παιχνιδιού - δώστε προσοχή στα watt όταν δουλεύετε πόσα φώτα θέλετε και ιδανικά, αναζητήστε ένα [email protected]+ ράγα τροφοδοσίας - αυτό είναι το μοβ σύρμα και θα τροφοδοτήσει το RPi με ενέργεια χωρίς να χρειάζεται να τρέξει ολόκληρο το σύστημα αναρρόφησης ισχύος
  3. Υπαίθρια φώτα (12v) - αυτά ήταν υπέροχα: χαμηλή ισχύς, αξιοπρεπής απόδοση, λογική τιμή
  4. Ενότητες ρελέ 5v ή/και 12v
  5. Κάποιος τύπος περιβλήματος - χρησιμοποίησα ένα κουτί διακλάδωσης PVC 8X8X4
  6. Σημειωματάριο ++ w/ NppFTP - χρησιμοποιείται για γρήγορη φόρτωση και επεξεργασία αρχείων RPi
  7. Στόκος - χρησιμοποιείται για την εγκατάσταση μερικών επιπλέον πακέτων στο RPi

Ανταλλακτικά

  1. Καλώδιο τροφοδοσίας εξωτερικού χώρου 12V
  2. Συρματόσχοινα
  3. PVC 1/2 "και μερικές αρθρώσεις ορθής γωνίας - 2 πόδια και 2 ορθές γωνίες για κάθε ξεχωριστή γραμμή που σχεδιάζετε να τρέξετε
  4. Κάποιο καλώδιο ethernet
  5. Συρμάτινα άλματα - διάφορα αρσενικά/θηλυκά κομπό
  6. Φτιάξτε τους δικούς σας συνδετήρες Molex
  7. Σωλήνες συρρίκνωσης θερμότητας
  8. Ηλεκτρική ταινία
  9. Καλώδιο MicroUSB
  10. Προαιρετικά: Αυτά τα καλώδια είναι φοβερά - τα χρησιμοποιείτε όλη την ώρα (παιδικά οχήματα, έξυπνος κήπος (βύσματα ηλεκτρομαγνητικής βαλβίδας) και καλώδιο τροφοδοσίας USB που συνδέει το ATX με το RPi)

Εργαλεία

  1. Καλό ζευγάρι κοπτών σύρματος - στη μικρότερη πλευρά
  2. Κατσαβίδι Phillips
  3. Μικρή πένσα από μύτη βελόνας
  4. Προαιρετικά: Βολτόμετρο με ελεγκτή συνέχειας - πολλά καλώδια και πολύ χρήσιμο για τη διάγνωση προβλημάτων…
  5. Κάποια στιγμή

Βήμα 2: Γνωρίστε το τροφοδοτικό σας

Γνωρίστε το τροφοδοτικό σας
Γνωρίστε το τροφοδοτικό σας
Γνωρίστε το τροφοδοτικό σας
Γνωρίστε το τροφοδοτικό σας

Ρίχνοντας μια ματιά σε όλο το χάος των καλωδίων που ξεφεύγουν από το τροφοδοτικό ATX. Ανάλογα με την ηλικία σας, θα έχετε έναν κύριο σύνδεσμο mobo (20-22 ακίδες - απεικόνιση pinout) και ισχύ για κάθε είδους άλλα πράγματα - μονάδες δίσκου, κάρτες γραφικών, βοηθητική ισχύ κ.λπ.

  • Η γραμμή +5VSB (Stand By) είναι μοβ. Αυτό θα είναι αφιερωμένο στην ισχύ RPi σας όλη την ώρα
  • Η γραμμή PS_ON είναι πράσινη. Όταν αυτό συνδεθεί με τη γείωση, θα ενεργοποιήσει τα κόκκινα και κίτρινα τροφοδοτικά
  • Οι γραμμές +5V είναι κόκκινες. Μία γραμμή μπορεί να τροφοδοτήσει 2-3 ρελέ 5V
  • Οι γραμμές +12V είναι κίτρινες. Θα χρειαστείτε 3-4 για να τροφοδοτήσετε τον εξωτερικό φωτισμό
  • Οι γραμμές GROUND/COMMON είναι μαύρες. Θα χρειαστείτε μερικά από αυτά για καθένα από τα άλλα χρώματα
  • Όλα τα άλλα χρώματα δεν θα χρησιμοποιηθούν για αυτό το έργο

Βήμα 3: Προετοιμάστε το τροφοδοτικό

Πρώτον, έκανα μια αποποίηση ευθύνης:

Αντιμετωπίζετε ηλεκτρική ενέργεια, αν δεν γνωρίζετε/ή δεν σέβεστε τι κάνετε - μπορείτε πραγματικά να βλάψετε τον εαυτό σας, ή ακόμα χειρότερα … Πριν συνεχίσετε, βεβαιωθείτε ότι αυτή τη φορά και ΚΑΘΕ ΦΟΡΑ, εργάζεστε με μια μη συνδεδεμένη ισχύ ATX τροφοδοτήστε και δώστε του χρόνο να αποφορτιστεί πριν το ανοίξετε. Δεν είμαι υπεύθυνος για την αποτυχία σας να σεβαστείτε και να ακολουθήσετε μερικούς απλούς κανόνες για να σας κρατήσω ασφαλή.

ΕΝΤΑΞΕΙ! Προχωράω!

  1. Αποσυνδέστε το τροφοδοτικό και περιμένετε 10-15 λεπτά για να αποφορτιστούν οι πυκνωτές
  2. Χρησιμοποιήστε κατσαβίδι phillips και αφαιρέστε τις βίδες από τη θήκη τροφοδοσίας (FYI, ακυρωθεί η εγγύηση - καλός λόγος για ανακύκλωση)
  3. Κόψτε όλα τα Molex/βύσματα σύνδεσης για να έχετε ένα σωρό δωρεάν καλώδια
  4. Διαχωρίστε και οργανώστε τα μοβ, πράσινα, κίτρινα, κόκκινα και μαύρα καλώδια
  5. Κόψτε προσεκτικά όλα τα άλλα καλώδια μέσα στη θήκη - δεν θα τα χρειαστείτε και αυτό θα εξοικονομήσει χώρο
  6. Καλύψτε τα άκρα των κομμένων καλωδίων με λίγη ηλεκτρική ταινία
  7. Σφραγίστε τη θήκη εφεδρικά μόνο με τα καλώδια που χρειάζεστε από την παροχή, βεβαιωθείτε ότι έχετε κόψει τα καλώδια όχι κοντά σε ψύκτρες ή ανεμιστήρες

Βήμα 4: Δύναμη στο Pi

Δύναμη στο Pi!
Δύναμη στο Pi!
Δύναμη στο Pi!
Δύναμη στο Pi!
Δύναμη στο Pi!
Δύναμη στο Pi!

Πριν ξεκινήσετε τον έλεγχο των ρελέ, ας ενεργοποιήσουμε το RPi.

Θυμηθείτε, δεν καλύπτω τα βασικά για την αρχική ρύθμιση του RPi (Φόρτωση λειτουργικού συστήματος σε κάρτα SD, ρύθμιση νέου κωδικού πρόσβασης και ενεργοποίηση SSH) - ελέγξτε ξανά την ενότητα υλικού/λογισμικού (βήμα 2) για συνδέσμους προς καλυμμένους μεγάλους συνδέσμους αυτά τα πράγματα.

Ρίξτε μια ματιά στην πρώτη εικόνα - ας δημιουργήσουμε το υβριδικό καλώδιο που θα μεταφέρει τη μοβ γραμμή από το ATX στο RPi:

Καλώδιο τροφοδοσίας USB σε ATX

  1. Χρησιμοποιώντας τους κόφτες σας, κόψτε το καλώδιο micro USB πιο κοντά στο άκρο USB από το άκρο του micro USB
  2. Απογυμνώστε προσεκτικά το εξωτερικό περίβλημα του καλωδίου
  3. Θα πρέπει να έχετε 4 καλώδια (Μαύρο, Κόκκινο, Πράσινο & Λευκό)
  4. Αφήστε 1/2 "έως 3/4" του μαύρου και του κόκκινου και αφαιρέστε αυτές τις άκρες για να εκθέσετε τον χαλκό
  5. Κόψτε το Πράσινο και το Λευκό εντελώς, δεν θα τα χρειαστείτε - αυτό είναι μόνο για ενέργεια, χωρίς δεδομένα
  6. Πάρτε μερικά από τα καλώδια που κόψατε από το τροφοδοτικό ATX (Κόκκινο και Μαύρο)
  7. Συνδέστε τα στο καλώδιο USB

    • Μερικοί τρόποι για να το κάνετε αυτό - με σειρά μακροζωίας:

      • (Α) Απογύμνωσε και τα δύο άκρα, τα κόλλησε και στη συνέχεια χρησιμοποίησε λίγη θερμοσυρρίκνωση
      • (Β) Περιστρέψτε δύο απογυμνωμένα άκρα κατά μήκος και στη συνέχεια συρρικνώστε τη θερμότητα
      • (Γ) Συνδέστε δύο απογυμνωμένα άκρα με μερικά μικρά παξιμάδια σύρματος
      • (Δ) Περιστρέψτε δύο απογυμνωμένα άκρα μαζί και τυλίξτε με κάποια ηλεκτρική ταινία
  8. Εάν χρησιμοποιείτε τους συνδετήρες, απογυμνώστε τα άλλα άκρα και βάλτε το 1/4 " - 3/8" αξίας εκτεθειμένο μέσα στη φίσα (φροντίστε να ταιριάζει με τη θετική και την αρνητική πλευρά)
  9. Εάν χρησιμοποιείτε το βύσμα, αφαιρέστε το μοβ σύρμα από το ATX και ένα μαύρο ξανά, παρακολουθήστε θετικά και αρνητικά (μοβ σε κόκκινο και μαύρο σε μαύρο)
  10. Εάν δεν χρησιμοποιείτε υποδοχή σύνδεσης, απλώς συνδέστε τους με καλώδιο.

Μόλις συνδεθείτε στο τροφοδοτικό και το RPi, ελέγξτε ξανά για να βεβαιωθείτε ότι δεν έχετε άλλα απογυμνωμένα καλώδια και συνδέστε ξανά το τροφοδοτικό. Όταν ενεργοποιείτε το τροφοδοτικό, θα πρέπει να έχετε ένα Raspberry Pi που λειτουργεί!

Εάν όχι - ελέγξτε ξανά τις συνδέσεις σας, τα θετικά στοιχεία, τη γείωση κ.λπ.

Χωρίς ζάρια; Χρησιμοποιήστε τον ελεγκτή συνέχειας του βολτόμετρου σας για να ελέγξετε το καλώδιο σας. Πρέπει να ακούσετε ένα μπιπ όταν αγγίζετε και τα δύο άκρα. Επίσης, ελέγξτε ότι η μοβ γραμμή από την τροφοδοσία ATX είναι +5v.

Ακόμα δεν πας; Δοκιμάστε ένα κόκκινο καλώδιο για +5v, θα μπορούσε να το χρησιμοποιήσει αλλά θα αλλάξει λίγο το επόμενο βήμα και θα καταναλώσει μεγαλύτερη ισχύ.

Τώρα ας κάνουμε ένα διάλειμμα από το υλικό και δουλέψουμε στο soft skillz μας.

Βήμα 5: SSH Into RPi & Grab Some Software

SSH Into RPi & Πιάσε Λογισμικό
SSH Into RPi & Πιάσε Λογισμικό

Α, η ομορφιά του ανοιχτού κώδικα… τόσο μεγάλη…

Ας ξεκινήσουμε με λίγο Putty.

Υπάρχουν πάρα πολλοί μεγάλοι πόροι για αυτό το μικροσκοπικό αλλά μικρό πρόγραμμα. Εάν έχετε ενεργοποιήσει το SSH και έχετε αλλάξει τον προεπιλεγμένο κωδικό πρόσβασης, τότε είστε έτοιμοι. Ας το ενεργοποιήσουμε και ας κατεβάσουμε μερικά νέα πακέτα και λογισμικό.

Το Open Source είναι η καλύτερη πηγή

Ας ξεκινήσουμε με όλα τα σημαντικά:

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

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

Ναι σε όλες τις ερωτήσεις.

Τώρα ας πάρουμε τη Βιβλιοθήκη WiringPi - κάνει το GPIO πολύ πιο εύχρηστο.

$ sudo apt-get install git-core

Ναι σε όλες τις ερωτήσεις - τώρα για να το φτιάξουμε:

$ git κλωνοποίηση git: //git.drogon.net/wiringPi

$ cd ~/wiringPi $./ build

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

$ sudo apt-get install apache2 php5 libapache2-mod-php5

Εάν όλα πάνε καλά, θα πρέπει να μπορείτε να πληκτρολογήσετε τη διεύθυνση IP του RPi και να δείτε "Λειτουργεί!"

Στη συνέχεια, δώστε στον εαυτό σας πρόσβαση:

$ sudo chown pi: pi/var/www/html/$ sudo chmod 755/var/www/html/

Πλευρική σημείωση για διευθύνσεις IP

Ένας από τους λόγους που μου αρέσει αυτός ο σχεδιασμός IoT είναι ότι είναι δικός μου. iIoT αν θέλετε. Μην ανησυχείτε για το «σύννεφο» ή άλλες υπηρεσίες. ΑΛΛΑ, θα πρέπει να καθορίσετε πώς θέλετε να λειτουργεί για τον εαυτό σας. Το κλειδί για οποιαδήποτε επιλογή είναι η ανάγκη για μια σταθερή, σταθερή διεύθυνση IP - διαφορετικά, ποτέ δεν θα ξέρετε πού να πάτε για να ανάψετε και να σβήσετε τα φώτα σας. Προσωπικά χρησιμοποιώ την επιλογή (Γ), αλλά την κλήση σας.

Μερικές επιλογές:

  • (Α) στατική διεύθυνση IP για το RPi
  • (Β). Ανάθεση τοπικού τομέα
  • (Γ) Επιτρέψτε στο δρομολογητή σας να εκχωρεί το ίδιο, κάθε φορά. Εξαρτάται από τις δυνατότητες του δρομολογητή σας - αναζητήστε μια ρύθμιση που ονομάζεται "Κράτηση διευθύνσεων" συνήθως στις Προηγμένες ρυθμίσεις LAN.

Βήμα 6: Συνδεθείτε στο RPi μέσω NotePad ++ SSH

Συνδεθείτε στο RPi μέσω NotePad ++ SSH
Συνδεθείτε στο RPi μέσω NotePad ++ SSH
Συνδεθείτε στο RPi μέσω NotePad ++ SSH
Συνδεθείτε στο RPi μέσω NotePad ++ SSH

Θα χρησιμοποιήσω το Σημειωματάριο ++ για να επεξεργαστείτε τα αρχεία HTML, PHP, Python, Javascript & CSS και ένα πρόσθετο που ονομάζεται NppFTP για να πραγματοποιήσετε γρήγορα και εύκολα αυτές τις αλλαγές στο RPi σας - κομψό, απλό και γρήγορο. Το NppFTP έρχεται ως προεπιλογή στην έκδοση 32-bit, αλλά αν χρησιμοποιείτε 64-bit, τώρα υποστηρίζεται επίσης, αλλά θα πρέπει να το εγκαταστήσετε με μη αυτόματο τρόπο.

  1. Ανοίξτε το Notepadd ++
  2. Πρόσθετα NppFTP Εμφάνιση παραθύρου NppFTP (μπορεί επίσης να επιλέξετε μικρό φάκελο με εικονίδιο συνδέσμου αλυσίδας)
  3. Στο παράθυρο NppFTP, επιλέξτε το εικονίδιο COG και "Ρυθμίσεις προφίλ"
  4. Αυτό θα πρέπει να είναι κενό για εσάς εάν δεν το έχετε χρησιμοποιήσει ποτέ, επιλέξτε "Προσθήκη νέου"
  5. Όνομα κεντρικού υπολογιστή = Διεύθυνση IP RPi στο τοπικό σας δίκτυο
  6. Το SFTP είναι ο τύπος, με τη θύρα 22 (SSH)
  7. Το όνομα χρήστη είναι "Pi" και ο κωδικός πρόσβασης είναι ο πρόσφατα ενημερωμένος κωδικός πρόσβασής σας … σωστά;!
  8. Επίσης, ορίστε τον προεπιλεγμένο κατάλογο σε '/var/www/html/' - θα διευκολύνει τα πράγματα
  9. Πατήστε το εικονίδιο σύνδεσης και επιλέξτε το προφίλ που μόλις δημιουργήσατε - θα πρέπει να σας συμπιέσει απευθείας στον νέο σας κατάλογο

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

Ανοίξτε το index.php, gpio.php, css.css και script.js στο Σημειωματάριο ++ και, στη συνέχεια, μπορείτε να τα ανεβάσετε στο φάκελο html.

Δοκιμάστε το εισάγοντας τη διεύθυνση IP του RPi σας - θα πρέπει να δείτε την προεπιλεγμένη φόρτωση της σελίδας ελέγχου.

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

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

Βήμα 7: Επισκόπηση διεπαφής & Index.php

The Interface Overview & Index.php
The Interface Overview & Index.php
The Interface Overview & Index.php
The Interface Overview & Index.php

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

Όπως μπορείτε να δείτε από την πρώτη εικόνα - το Javascript που περιλαμβάνεται στο index.php χρησιμοποιείται για να καλέσετε το gpio.php όταν αλλάζει η κατάσταση του πλαισίου ελέγχου μας (δηλαδή ο διακόπτης). Το gpio.php στη συνέχεια γράφει και διαβάζει τις καρφίτσες του gpio.

Ας ξεκινήσουμε με το index.php στα συνημμένα. Θα το πάρω μια ενότητα κάθε φορά, επισημαίνοντας τις περιοχές και μερικές συγκεκριμένες σημειώσεις που θα σας βοηθήσουν.

Οι πρώτοι σύνδεσμοι είναι προς το φύλλο στυλ CSS και ένα προσαρμοσμένο εικονίδιο που είναι χάρτης bitx 32X32 με επέκταση ".ico"

Το δεύτερο είναι λίγο Javascript, ένα προσαρμοσμένο χρονομετρημένο παράδειγμα από το w3schools που τροποποιήθηκε για να προσθέσει λίγο AM/PM και ένα παχύ έντερο που αναβοσβήνει (ακριβώς πώς ήθελα να εμφανίζεται για μένα, ίσως θέλετε διαφορετικό;)

Πρώτα, λίγο PHP - αυτό θα εκτελεστεί πρώτα - μόνο στον διακομιστή (δεν μπορεί να εμφανιστεί στην πηγή μόλις φορτωθεί η σελίδα) - επίσης ο λόγος δεν μπορεί να συνεχίσει να το χρησιμοποιεί για να γράψει καταστάσεις καρφίτσας.

$ nm_array = πίνακας ("Ο διακόπτης σας 1", "Ο διακόπτης σας 2" κ.λπ..);

// εδώ προσθέτετε τις περιοχές που θέλετε ξεχωριστό έλεγχο στα φώτα // Μπορείτε να προσθέσετε όσες θέλετε/χρειάζεστε - έχει ρυθμιστεί να μετράει και να δημιουργεί ανάλογα διακόπτες

$ wthr_array = πίνακας (); // άδειο τώρα, αλλά διατηρεί ένα σημείο δεδομένων που συμπληρώνεται από ένα σενάριο Python

Ο επόμενος βρόχος πρόκειται να χρησιμοποιήσει τις λειτουργίες PHP's "system" και "exec" για να ρυθμίσει όλες τις λειτουργίες pin χρησιμοποιώντας το WiringPi (όλες οι έξοδοι) και στη συνέχεια να τις διαβάσει. Με πολλές πηγές που μπορούν να κάνουν αλλαγές, ήθελα να βεβαιωθώ ότι οι νέες σελίδες θα βλέπουν την πραγματική τρέχουσα κατάσταση. Ένα Javascript αργότερα θα τα διαβάσει και θα ορίσει τα πλαίσια ελέγχου ως επιλεγμένα ή μη επιλεγμένα ανάλογα.

Τέλος, εάν θέλετε να εκτελέσετε το σενάριο Python για να τραβήξετε ένα σημείο δεδομένων και να συμπληρώσετε το $ wthr_array.

Επόμενο Στην κλάση div "κεφαλίδα" - κάθε ένα από τα στοιχεία της λίστας αντιπροσωπεύει το περιεχόμενο των κοντέινερ στην κεφαλίδα της ιστοσελίδας (Timeρα, Τίτλος & Θερμ.)

Ο βρόχος PHP που θα κάνει βρόχο με βάση τον αριθμό των ονομάτων διακόπτη που έχετε προσθέσει στη σειρά $ nm_array.

Αυτό που είναι σημαντικό εδώ είναι ότι εκχωρεί επίσης αριθμούς PIN με διαδοχική σειρά. Ξεκινώντας με PIN0 έως οποιονδήποτε αριθμό, αλλά πραγματικά περιορισμένο με βάση τον αριθμό των καρφιτσών GPIO που διατίθενται στο RPi σας, άρα 16. Αυτό θα είναι πολύ σημαντικό στο επόμενο βήμα όταν αρχίσουμε να ελέγχουμε πραγματικά πράγματα.

Λίγες γρήγορες σημειώσεις για μερικά από τα άλλα αρχεία:

base.css

Τα δικά σας χρώματα (web, rgb, κ.λπ.) για τη σελίδα έχουν οριστεί στις γραμμές 68, 111 και 134. Τα επέλεξα επειδή είναι τα ίδια χρώματα που επέλεξε ο σούπερ δημιουργός μιας γυναίκας μου για να ζωγραφίσει τη νέα πίσω βεράντα, έτσι βοηθάει στη σύνδεση της διεπαφής στο σημείο όπου εκτελείται συνήθως η διεπαφή.

Ξεκινώντας από τη γραμμή 194, μπορείτε να τροποποιήσετε την εμφάνιση και την αίσθηση των εναλλαγών

gettemp.py

Αυτό το εξαιρετικά απλό σενάριο Python είναι έτοιμο να κουνηθεί μόλις λάβετε το δικό σας κλειδί API από τον καιρό υπόγειο, καθώς και θα σας δείξει ορισμένα στατιστικά στοιχεία σχετικά με τη χρήση της σελίδας σας (κάθε φορά που η σελίδα φορτώνει μια κλήση - ώστε να μπορείτε να δείτε ορισμένα δεδομένα)

Βήμα 8: Ελέγξτε τα πράγματα με 12V

Χειριστήριο με 12V
Χειριστήριο με 12V
Χειριστήριο με 12V
Χειριστήριο με 12V
Χειριστήριο με 12V
Χειριστήριο με 12V

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

Αυτό συμβαίνει επειδή θα χρειαστεί να συνδέσουμε το GREEN (PS_ON) σε μια γείωση για να ενεργοποιήσουμε την κύρια ισχύ.

Ας βγάλουμε ένα από αυτά τα ρελέ.

  1. Απογυμνώστε και συνδέστε το ΠΡΑΣΙΝΟ καλώδιο σε έναν από τους ακροδέκτες του ρελέ
  2. Απογυμνώστε και συνδέστε ένα μαύρο καλώδιο σε έναν από τους ακροδέκτες ρελέ δίπλα στον πράσινο

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

  1. Απογυμνώστε το ένα άκρο και ενός ΚΟΚΚΙΝΟΥ & ΜΑΥΡΟΥ αφήνοντας τη μία θηλυκή πλευρά και συνδέστε με ένα περικόχλιο σύρμα το ΚΟΚΚΙΝΟ στο ΜΟΡΦΟ (το ίδιο με το οποίο είναι συνδεδεμένο το RPi σας) και το ΜΑΥΡΟ στο ΜΑΥΡΟ
  2. Η γυναικεία πλευρά αυτών θα μεταβεί στο ρελέ ΚΟΚΚΙΝΟ σε θετικό και ΜΑΥΡΟ σε αρνητικό
  3. Το ΧΡΩΜΑ που επιλέξατε θα είναι αρσενικό στο GPIO (δείτε την εικόνα - θα πάμε με το WiringPi PIN 0)

    ΣΗΜΕΙΩΣΗ: Χρησιμοποιώ ένα καλώδιο κορδέλας για να συνδέσω το GPIO, αλλά μπορείτε να μεταβείτε απευθείας στην κεφαλίδα του RPi

  4. Η θηλυκή πλευρά θα μεταβεί στο "σήμα" ή S pin του ρελέ

Επιστρέψτε στην κύρια σελίδα σας (διεύθυνση IP του RPi σας) - ο πρώτος διακόπτης, ίσως ο μόνος διακόπτης, θα πρέπει τώρα να βγάλει το ATX PS εκτός λειτουργίας, να ενεργοποιήσει τον ανεμιστήρα και να αρχίσει να στέλνει χυμό σε όλα τα 12V, 5V & 3.3 V καλώδια.

Αυτό που είναι ωραίο, είναι ότι μπορείτε να σταματήσετε εδώ. Απλώς συνδέστε τον φωτισμό σας σε δύο γραμμές 12V και θα έχετε έναν απλό, ψηφιακό διακόπτη για να τον ελέγχετε.

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

Βήμα 9: Περισσότερος έλεγχος με ισχύ (και δεδομένα) μέσω Ethernet (P (& D) oE)

Περισσότερος έλεγχος με ισχύ (και δεδομένα) μέσω Ethernet (P (& D) oE)
Περισσότερος έλεγχος με ισχύ (και δεδομένα) μέσω Ethernet (P (& D) oE)
Περισσότερος έλεγχος με ισχύ (και δεδομένα) μέσω Ethernet (P (& D) oE)
Περισσότερος έλεγχος με ισχύ (και δεδομένα) μέσω Ethernet (P (& D) oE)
Περισσότερος έλεγχος με ισχύ (και δεδομένα) μέσω Ethernet (P (& D) oE)
Περισσότερος έλεγχος με ισχύ (και δεδομένα) μέσω Ethernet (P (& D) oE)

Mightσως αναρωτιέστε τι είναι όλο αυτό το καλώδιο ethernet που πρόσθεσα στη λίστα τροφοδοσίας.

Χρησιμοποιώντας το ethernet, μπορούμε να στείλουμε 5V μαζί με ένα σήμα GPIO ακριβώς σε άλλες συνδέσεις ρελέ για να αυξήσουμε περαιτέρω τον έλεγχο του συστήματος φωτισμού μας. Perhapsσως θέλετε ξεχωριστό έλεγχο ορισμένων περιοχών της αυλής; Or εμπρός και πίσω τμήματα; Αυτό θα το επιτρέψει.

Θα εκθέσω την ιδέα και μερικές βέλτιστες πρακτικές και μπορείτε να την προσαρμόσετε ώστε να ταιριάζει στις ανάγκες σας.

Ρίξτε μια ματιά στην πρώτη και τη δεύτερη εικόνα. Λαμβάνοντας μια γραμμή +5V από το τροφοδοτικό μας, το στέλνω κάτω ένα σετ στριμμένου καλωδίου Ethernet.

  1. Αφαιρέστε προσεκτικά το εξωτερικό περίβλημα από το καλώδιο ethernet - δεν θέλετε να καταστρέψετε τα καλώδια 24-23 AWG
  2. Επιλέξτε δύο σύνολα χρωμάτων και ξεβιδώστε τα προσεκτικά - το ένα θα είναι η τάση και το άλλο το έδαφος

    ΣΗΜΕΙΩΣΗ: Πολύ καλή ιδέα να τεκμηριώσετε τι χρώμα είναι αυτό για τι όταν συνδέετε την άλλη πλευρά

  3. Απογυμνώστε τα άκρα και των δύο καλωδίων και του σύρματος μέχρι ένα RED (+5v) και μια ΜΑΥΡΑ γείωση στο τροφοδοτικό σας (εικόνα 2)
  4. Κάντε το ίδιο για ένα άλλο χρώμα καλωδίου, αλλά αντλήστε έναν βραχυκυκλωτήρα από καρφίτσα GPIO

Οι σύνδεσμοι Molex με τους οποίους συνδέθηκα στην ενότητα προμήθειες είναι πραγματικά χρήσιμοι εδώ. Πάρτε τα 3 σετ στριμμένων ζευγαριών, σφίξτε τα στις θηλυκές υποδοχές Molex μαζί με έναν συνδετήρα 3 ακροδεκτών και θα προσαρτηθούν ακριβώς στο ρελέ. (εικόνα 3). Βεβαιωθείτε ότι παρακολουθείτε την παραγγελία, το ρελέ μου χρειάστηκε να είναι σε +, - & S. Εάν κάνετε ένα καλώδιο Molex όχι με αυτή τη σειρά, μπορεί να είναι δύσκολο να τα αναδιατάξετε.

Εάν "μεταφέρετε" τη ράγα τροφοδοσίας ethernet στο ρελέ σας, τότε μπορείτε να εκτελέσετε αυτήν τη γραμμή όπου θέλετε και να την πατήσετε σε διάφορες τοποθεσίες.

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

Βήμα 10: Φωτίστε αυτήν την αυλή

Φωτίστε αυτήν την αυλή!
Φωτίστε αυτήν την αυλή!
Φωτίστε αυτήν την αυλή!
Φωτίστε αυτήν την αυλή!
Φωτίστε αυτήν την αυλή!
Φωτίστε αυτήν την αυλή!

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

Λάβετε υπόψη ότι θα θάψετε καλώδιο για αυτό. Το καλώδιο με το οποίο συνδέθηκα είναι αυτό που χρησιμοποίησα και έχει βαθμολογία για υπόγεια ταφή, πράγμα που σημαίνει ότι πρέπει να είστε ιδιαίτερα προσεκτικοί για να μην κόψετε σε καλωδιακές γραμμές, γραμμές Διαδικτύου ΧΕΙΡΟΤΕΡΗ ΠΕΡΙΠΤΩΣΗ, καλώδια ρεύματος … επικοινωνήστε με την τοπική "κλήση πριν σκάψετε" εάν είστε αβέβαιοι. Επίσης, παρακολουθείτε τι είναι θετικό και τι αρνητικό. Πάντα ήξερα ότι το καλώδιο με τις "λέξεις" (λευκά γράμματα) ήταν το αρνητικό και κενό ήταν η θετική γραμμή)

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

Αρχικά, έτρεξα τις γραμμές 12V μέσα από το κουτί διακλάδωσης (εικόνα 2).

Αυτό το σύρμα έπεσε στο έδαφος, μέσω ενός αγωγού PVC 1/2 "με ορθή γωνία στο κάτω μέρος, κάτω στο έδαφος περίπου 6-8". Μια τάφρος που είναι σκληρή με το βραχώδες χώμα μας (έπρεπε να χρησιμοποιήσω αξίνα) αλλά ίσως ζείτε κάπου με πραγματική βρωμιά…

Η γραμμή εμφανίζεται (εικόνα 4), πάλι με ορθή γωνία και PVC 1/2 και προσαρτημένη στο δέντρο. Έχω καταλήξει να γεμίζω την κορυφή του PVC με λίγο πυρίτιο για να μην τραβιέται το σύρμα από παιδιά.

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

Χρησιμοποίησα συρματόσχοινα, προσέχοντας να μην τρυπήσω το σύρμα για να το οδηγήσω πίσω από το δέντρο (εικόνα 5)

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

Ξεπλύνετε και επαναλάβετε για όσα φώτα θέλετε να τρέξετε!

Δοκιμάστε το ενεργοποιώντας ένα τηλέφωνο, iPad ή έναν υπολογιστή και μεταβαίνοντας στη διεύθυνση IP σας RPi.

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

Βήμα 11: Βελτιώσεις σε εξέλιξη & Συμπλήρωση

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

Ενημέρωση Υπηρεσίας Καιρού

Ξεκίνησε να χρησιμοποιώ το Accuweather API αντί για το WeatherUnderground (διακοπή υπηρεσίας API) - το «gettemp.py» προστέθηκε για να δείξει πώς!

Προσθήκη φυσικών κουμπιών

Πήρα μια μονάδα 4 κουμπιών παρόμοια με αυτήν που βλέπω στην αίθουσα συνεδριάσεων του γραφείου μας και έκτοτε, την ένωσα με 4 GPIO που παρακολουθούνται από ένα σενάριο python όταν η μονάδα είναι ενεργοποιημένη. Τώρα μπορείτε επίσης να τα χρησιμοποιήσετε ως άλλη μέθοδο για να τα απενεργοποιήσετε όλα και με τον τρόπο που έχω προγραμματίσει την κύρια σελίδα, θα ελέγξει για να δει ποια είναι η τρέχουσα κατάσταση του πείρου GPIO πρώτα, ώστε να μην έχετε αντιφατικά σήματα εισόδου Το Οι άνθρωποι στο touchplate.com ήταν εξαιρετικά χρήσιμοι για να απαντήσουν στις ερωτήσεις μου για να λειτουργήσει - ευχαριστώ!

Διαφορετικά δεδομένα από τον καιρό υπόγειο

Έχω αρχίσει να αφαιρώ αστρολογικά δεδομένα από το WU (ανατολή, δύση ηλίου, κλπ). Δουλεύω για να ανάβουν και να σβήνουν τα φώτα 30 λεπτά πριν το ηλιοβασίλεμα και να σβήσουν επίσης σε συγκεκριμένες ώρες. Θα μπορούσα να χρησιμοποιήσω μερικούς αναλογικούς αισθητήρες για αυτό, αλλά όχι την καλύτερη χρήση του RPi, οπότε παίζοντας με μια λύση λογισμικού.

Προσθήκη αυτόματης ενεργοποίησης/απενεργοποίησης

Η πίσω βεράντα μου είναι ένα συμπαγές 10 μέτρα από σκυρόδεμα που χύσαμε πριν από περίπου 2 χρόνια. Αυτό το περασμένο έτος είχαμε έναν άστατο καιρό-μια μέρα θα ήταν 35-40F έξω, μετά την επόμενη, 70-80F με 60-80% υγρασία. Αυτό προκάλεσε συμπύκνωση στην πλάκα, καθιστώντας την πολύ ολισθηρή. Για την καταπολέμηση αυτού του ζητήματος, πρόσθεσα ένα σενάριο python για να κατεβάσω τη θερμοκρασία των προηγούμενων ημερών (για να προσδιορίσω μια κατά προσέγγιση θερμοκρασία για την πλάκα) και το σημείο δρόσου για να προσδιορίσω εάν είναι οι κατάλληλες συνθήκες για τη δημιουργία συμπύκνωσης στη βεράντα (https:// www. weatherquestions.com/What_is_condensati… Εάν η θερμοκρασία είναι μικρότερη από το σημείο δρόσου - τότε οι ανεμιστήρες ενεργοποιούνται, αν όχι, παραμένουν εκτός λειτουργίας. Επίσης, δεν θα αντικατασταθεί εάν οι ανεμιστήρες έχουν ενεργοποιηθεί χειροκίνητα και η διεπαφή της ιστοσελίδας αλλάζει λίγο αν το "AI" έχει ενεργοποιήσει τους ανεμιστήρες. Έχω προσθέσει 4 αρχεία: dryout.py, auto_on.py & auto_off.py (θέση στο φάκελο python) και ενημερωμένο index.php (θέση στον κύριο φάκελο) - εσείς " Θα χρειαστεί να ενημερώσετε το κλειδί API καιρού κάτω από το έδαφος.

Στο τερματικό:

$ sudo crontab -e

Στη συνέχεια, προσθέστε τα παρακάτω στο κάτω μέρος:

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

0 * * * */usr/bin/python /var/www/html/python/dryout.py

Τώρα κάθε ώρα, θα εκτελείται το dryout.py. OR μπορείτε να το χρησιμοποιήσετε ως πρότυπο για άλλη λειτουργία, ίσως ενεργοποιώντας και σβήνοντας τα φώτα χρησιμοποιώντας μια άλλη σκανδάλη; Setρα δύσης/ανατολής; OR αν έχει απλώς ζέστη έξω και θέλετε οι ανεμιστήρες να ενεργοποιούνται αυτόματα εάν η θερμοκρασία. φτάνει στους XX βαθμούς;

Προσθήκη αισθητήρων κίνησης

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

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

Συνιστάται: