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

Raspberry Pi RF Τηλεχειριζόμενες πρίζες (τροφοδοτικά): 6 βήματα
Raspberry Pi RF Τηλεχειριζόμενες πρίζες (τροφοδοτικά): 6 βήματα

Βίντεο: Raspberry Pi RF Τηλεχειριζόμενες πρίζες (τροφοδοτικά): 6 βήματα

Βίντεο: Raspberry Pi RF Τηλεχειριζόμενες πρίζες (τροφοδοτικά): 6 βήματα
Βίντεο: Using Raspberry Pi as a RF Transmitter 2024, Ιούλιος
Anonim
Raspberry Pi RF Τηλεχειριζόμενες πρίζες (τροφοδοτικά)
Raspberry Pi RF Τηλεχειριζόμενες πρίζες (τροφοδοτικά)
Raspberry Pi RF Τηλεχειριζόμενες πρίζες (τροφοδοτικά)
Raspberry Pi RF Τηλεχειριζόμενες πρίζες (τροφοδοτικά)
Raspberry Pi RF Τηλεχειριζόμενες πρίζες (τροφοδοτικά)
Raspberry Pi RF Τηλεχειριζόμενες πρίζες (τροφοδοτικά)
Raspberry Pi RF Τηλεχειριζόμενες πρίζες (τροφοδοτικά)
Raspberry Pi RF Τηλεχειριζόμενες πρίζες (τροφοδοτικά)

Ελέγξτε τις φτηνές πρίζες 433MHz (πρίζες τοίχου) χρησιμοποιώντας ένα Raspberry Pi. Το Pi μπορεί να μάθει τους κωδικούς ελέγχου που εξάγονται από το τηλεχειριστήριο των πριζών και να τους χρησιμοποιεί υπό έλεγχο προγράμματος για να ενεργοποιήσει οποιαδήποτε ή όλες τις απομακρυσμένες πρίζες σε όλο το σπίτι.

Ο σχεδιασμός δεν βασίζεται σε εξωτερική συνδεσιμότητα στο Διαδίκτυο (δηλ.) "Internet of Things" και επομένως είναι (IMHO) πολύ πιο ασφαλής από τους ελεγκτές που βασίζονται στο διαδίκτυο. Τούτου λεχθέντος, προσπάθησα να ενσωματωθώ στο Google Home, αλλά γρήγορα έχασα τη θέληση για ζωή, όταν μερικές φορές οι εντολές χρειάστηκαν αρκετές δεκάδες δευτερόλεπτα για να εκτελεστούν ή δεν εκτελέστηκαν καθόλου.

Μια προφανής εφαρμογή γύρω από την περίοδο των Χριστουγέννων είναι ο έλεγχος των φώτων του χριστουγεννιάτικου δέντρου και (αν είστε έτσι κεκλιμένοι) έξω από τα φώτα της οθόνης. Αν και αυτό είναι μια απλή χρήση, με την κατασκευή αυτού του Instructable θα καταλήξετε με ένα εξαιρετικά ευέλικτο χειριστήριο υποδοχών που μπορεί να ανταποκριθεί στις εισόδους αισθητήρων και σε άλλες συσκευές στο οικιακό σας δίκτυο, όπως το Raspberry Pis που εκτελεί Linux Motion.

Για παράδειγμα, έχω ένα σετ φώτων κουζίνας που ανάβουν όταν μια κάμερα που εκτελεί «Κίνηση» ανιχνεύει κίνηση στην κουζίνα και στη συνέχεια τα σβήνει μετά από πέντε λεπτά χωρίς δραστηριότητα. Λειτουργεί πολύ καλά!

Με το «Tasker» και το «AutoTools SSH» από το κατάστημα Google Play, μπορείτε να ρυθμίσετε όλα τα είδη φανταστικών τηλεχειριστηρίων που βασίζονται σε τηλέφωνα.

Το έργο βασίζεται σε φθηνούς πίνακες δέκτη και πομπού 433MHz που διατίθενται ευρέως στο eBay. Αυτά είναι συμβατά με (στο Ηνωμένο Βασίλειο τουλάχιστον) απομακρυσμένες πρίζες 433MHz που πωλούνται με τηλεχειριστήρια. Το έργο μου περιλαμβάνει έναν δέκτη, ώστε να μπορούν να ενσωματωθούν εύκολα και γρήγορα νέα σετ εντολών τηλεχειριστηρίου. Ένα σημείο που πρέπει να σημειωθεί - οι απομακρυσμένες πρίζες που διατίθενται στο Ηνωμένο Βασίλειο φαίνεται να έρχονται σε δύο γεύσεις - αυτές με αναγνωριστικό προγραμματισμένο με διακόπτη στην πρίζα και εκείνες που βασίζονται στον προγραμματισμό από το τηλεχειριστήριο. Αυτό το έργο είναι συμβατό και με τα δύο, αλλά τα πρώτα δεν χάνουν την ταυτότητά τους σε διακοπή ρεύματος και ως εκ τούτου είναι προτιμότερα.

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

Αν και δεν είναι απολύτως απαραίτητο για αυτό το έργο, πρόσθεσα επίσης έναν ανεμιστήρα ψύξης και έναν πίνακα χειριστηρίου. Χωρίς ανεμιστήρα, το Pi μπορεί να ζεσταθεί αρκετά (περίπου 60 ° C). Λεπτομέρειες μπορεί να παρέχονται σε μεταγενέστερο Instructable.

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

Το Instructable προϋποθέτει κάποια ικανότητα συγκόλλησης και μια παροδική εξοικείωση με την Python, το Bash και την επικοινωνία με το Pi σας μέσω SSH (αν και θα προσπαθήσω να κάνω τις οδηγίες όσο το δυνατόν πιο ολοκληρωμένες). Είναι επίσης γραμμένο στα βρετανικά αγγλικά, οπότε αν διαβάζετε στην άλλη πλευρά της λίμνης, αγνοήστε τα επιπλέον γράμματα σε λέξεις και τα περίεργα ονόματα για πράγματα (όπως «πρίζες», τα οποία θα γνωρίζετε ως κάτι σαν "πρίζες τοίχου").

Οποιαδήποτε σχόλια, προτεινόμενες βελτιώσεις & χρήσεις κλπ. Είναι επίσης πολύ ευπρόσδεκτα!

Βήμα 1: Προετοιμασία θήκης

Προετοιμασία περίπτωσης
Προετοιμασία περίπτωσης
Προετοιμασία περίπτωσης
Προετοιμασία περίπτωσης
Προετοιμασία περίπτωσης
Προετοιμασία περίπτωσης

Χρησιμοποίησα έναν παλιό δρομολογητή TP-Link TD-W8960N για αυτό το έργο. Είναι ωραίο μέγεθος και μόλις έμαθα πώς να μπω σε αυτό, είναι πολύ εύκολο να δουλέψω.

Διατήρησα επίσης την τροφοδοσία 12v @ 1A του δρομολογητή, η οποία είναι λίγο κάτω από την τροφοδοσία, αλλά στην πράξη είναι εντάξει για αυτήν την εφαρμογή.

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

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

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

Εάν αισθάνεστε γενναίοι (όπως ήμουν), μπορείτε να αφαιρέσετε τον διακόπτη ώθησης, την πρίζα dc και τις υποδοχές RJ45 από την πλακέτα κυκλώματος. Ο καλύτερος τρόπος που βρήκα για να το κάνω αυτό είναι να σφίξω την πλακέτα σε μια κατεύθυνση και να εφαρμόσω θερμότητα από ένα πιστόλι θερμότητας ενώ βάζω με ένα κατάλληλο εργαλείο ανοίγματος λεπτής θήκης ή κατσαβίδι. Η λογική είναι ότι όλες οι συνδέσεις συγκόλλησης λιώνουν ταυτόχρονα, μειώνοντας τη συνολική θερμική τάση στην πλαστική θήκη του εξαρτήματος σε σύγκριση με τη χρήση συγκολλητικού σιδήρου σε κάθε διασταύρωση. Αυτή είναι τουλάχιστον η θεωρία. Στην πράξη, εμπλέκεται τύχη! Το πόσο θερμότητα θα εφαρμοστεί είναι θέμα κρίσης, αλλά να είστε προσεκτικοί και να κάνετε λάθος από πολύ λίγα. Εάν όλα πάνε καλά, θα καταλήξετε με τα χρήσιμα εξαρτήματα που φαίνονται στη φωτογραφία (ωστόσο θα σημειώσετε το λιωμένο κουμπί διακόπτη και την ελαφρώς παραμορφωμένη λωρίδα υποδοχής RJ45!).

Διαφορετικά, μπορείτε να αγοράσετε τα κομμάτια σας στο Διαδίκτυο.

Βήμα 2: Λίστα μερών

Raspberry Pi - Υποψιάζομαι ότι οποιαδήποτε γεύση θα κάνει, αλλά χρησιμοποίησα ένα 3B+

Πίνακας πομπού 433MHz - αναζητήστε στο eBay για '433MHz RF Transmitter with Receiver Kit for Arduino Arm Mcu Wireless' ή παρόμοιο

Πλακέτα δέκτη 433MHz - ditto. Συνήθως 1,98 per ανά ζευγάρι

LM2596 Ρυθμιστής Buck - eBay, συνήθως 1,95 £. Για μετατροπή ισχύος 12v σε 5v για το Pi

Light σωλήνας - αναζήτηση eBay για «Καλώδιο οπτικών ινών - 0.25 / 0.5 / 0.75 / 1 / 1.5 / 2 / 2.5 / 3mm Dia - Light Guide» - χρησιμοποίησα σωλήνα 2mm αλλά 1,5 mm θα ήταν ευκολότερο να δουλέψω μαζί του (πλήρωσα £ 2,95 για 1μ)

Μικροσκοπικός διακόπτης εναλλαγής 2 πόλων (ωραίο να είναι αλλά προαιρετικός)

Κολλητή πρίζα USB τύπου A 180 ° - μέσω eBay, πλήρωσα 1,90 £ για δέκα

Διπλός διακόπτης ώθησης πόλου (ωραίο να είναι αλλά προαιρετικό) - Πήρα το δικό μου από την πλακέτα μόντεμ/δρομολογητή

Υποδοχή (α) RJ45 - ανακτήθηκαν από την πλακέτα μόντεμ/δρομολογητή

Υποδοχή ρεύματος DC - μέσω eBay (10X DC Power Supply Jack Socket Female Panel Mount Connector 5.5 x 2.1mm £ 0.99)

Κεραίες 430MHz - μετατρέψτε τις κεραίες 2GHz του μόντεμ/δρομολογητή

Τροφοδοσία 12v dc 12W (ελάχιστο) - ιδανικά, αυτό θα συνοδεύεται από το μόντεμ/δρομολογητή. Εάν όχι, πρέπει να βεβαιωθείτε ότι η παραπάνω πρίζα DC ταιριάζει με αυτήν που χρησιμοποιείτε. Η απαίτηση 12v καθορίζεται από τον πομπό 433MHz

Τα εξαρτήματα για τη λειτουργία ανεμιστήρα ψύξης θα αναλυθούν σε μεταγενέστερο εγχειρίδιο.

Βήμα 3: Αναλώσιμα και εργαλεία

Θα χρειαστείτε τα ακόλουθα αναλώσιμα:

Συγκολλητικό (όπως απαιτείται)

Κόλλα θερμής τήξης (όπως απαιτείται)

Καλώδιο διασύνδεσης - (π.χ.) 22 & 24AWG (όπως απαιτείται)

Θερμοσυρρικνωτικό μανίκι (όπως απαιτείται)

Θυσιαστική γάτα. 5 καλώδιο μπαλωμάτων ethernet

Θυσιαστικό καλώδιο επιδιόρθωσης USB 2.

Εργαλεία:

Απογυμνωτές καλωδίων

Κόφτες σύρματος (κατά προτίμηση κοπτικές πλύσεις)

Εργαλείο βραβεύσεων

Κατάλληλο κατσαβίδι για να χωρίσει η θήκη.

Συγκολλητικό σίδερο

Όπλο κόλλας

Στεγνωτήρας μαλλιών (για να λυγίσει τους σωλήνες φωτισμού και για τυχόν αυτοσχέδιες διακοπές στο κομμωτήριο)

Δέκτης επικοινωνιών FM 433MHz (προαιρετικός - για την αντιμετώπιση προβλημάτων πομπού) - (π.χ.) AR1000

Βήμα 4: Συναρμολόγηση

Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση

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

Το Pi βρίσκεται περίπου στη μέση της θήκης, επιτρέποντας αρκετό χώρο για τη χρήση των διαφόρων συνδέσεων (σημειώστε ότι το HDMI δεν χρησιμοποιείται καθώς το Pi επικοινωνείται μέσω SSH (δηλαδή) «ακέφαλο»).

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

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

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

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

Μου πέρασε επίσης από το μυαλό ότι ο διακόπτης ώθησης θα μπορούσε να χρησιμοποιηθεί για να απενεργοποιήσει με χαρά το Pi (υπάρχουν πολλά σχέδια διαθέσιμα στο διαδίκτυο). Δεν ασχολήθηκα - σε αυτή την περίπτωση λειτουργεί ως απλός διακόπτης ενεργοποίησης/απενεργοποίησης. Απλά πρέπει να είμαι προσεκτικός για να κλείσω το Pi μέσω SSH πριν πατήσω το διακόπτη.

Θα σημειώσετε τους σωλήνες φωτισμού που χρησιμοποιούνται για τη διοχέτευση του φωτός από τα δύο LED στο Pi και από το LED κατάστασης τροφοδοσίας στο μπροστινό μέρος της θήκης. Χρησιμοποίησα θερμότητα από πιστολάκι για να λυγίσω τους σωλήνες (σίγουρα ΔΕΝ ΘΕΛΕΤΕ να χρησιμοποιήσετε πιστόλι θερμότητας!). Είναι πολύ δοκιμαστικό και λάθος αλλά αξίζει τον κόπο στο τέλος, καθώς μπορείτε να δείτε άμεσα τι σηματοδοτούν τα LED αντί να βασίζονται σε λογισμικό και εξωτερικά LED. Είναι επιλογή σου φυσικά. Το κόψιμο των σωλήνων γίνεται με ένα κοφτερό ζεύγος κοπτικών συρμάτων (οι καλύτεροι κοπτήρες είναι καλύτεροι) αλλά μπορείτε επίσης να χρησιμοποιήσετε κοφτερά ψαλίδια. Και πάλι, κόλλα θερμής τήξης μπορεί να χρησιμοποιηθεί για να στερεώσει τους σωλήνες στη θέση τους, αλλά προσέξτε να χρησιμοποιήσετε μόνο μια μικρή ποσότητα - η οποία κρυώνει γρήγορα - καθώς η κόλλα μπορεί να παραμορφώσει τους σωλήνες.

Ιδανικά θα πρέπει να τροποποιήσετε τις κεραίες. Θα έχουν συνήθως μέγεθος για να λειτουργούν στα 2GHz και θα κάνουν πολύ αναποτελεσματικές κεραίες όταν χρησιμοποιούνται στα 433MHz.

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

Κόψτε εκεί που φαίνεται για να αφαιρέσετε την αρχική κεραία 2GHz και εκθέστε τον άξονα. Προσπελάστε προσεκτικά τον εσωτερικό πυρήνα, αφαιρώντας την πλεξούδα μακριά και κολλήστε την σε ένα νέο κομμάτι σύρματος όπως φαίνεται. Το μήκος του νέου σύρματος είναι περίπου 1/4 μήκος κύματος 433MHz (δηλαδή) μήκος = 0,25 * 3E8/433E6 = 17cm. Το κάτω μέρος μπορεί να τυλιχτεί χρησιμοποιώντας ένα μικρό τρυπάνι ή παρόμοιο για να επιτρέψει σε όλο το μήκος να χωρέσει στο κάλυμμα της κεραίας.

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

Μόλις τροποποίησα την κεραία πομπού ως «κωφός» δέκτης είναι πιθανώς πλεονεκτικός όταν μαθαίνω τους κωδικούς τηλεχειριστηρίου RF (δείτε αργότερα).

Η σύνδεση ethernet πραγματοποιείται με καλωδίωση μιας θυσιαστικής γάτας. 5 καλώδιο διασύνδεσης στην πρίζα RJ45 που διασώθηκε από το μόντεμ. Κόψτε το καλώδιο ώστε να ταιριάζει με την απόσταση μεταξύ της υποδοχής Pi ethernet και της υποδοχής θήκης RJ45 και γυρίστε και τα οκτώ καλώδια. Χρησιμοποιήστε έναν ελεγκτή συνέχειας για να διασφαλίσετε ότι συνδέετε τον πείρο καλωδίου 1 στην πρίζα 1 κ.λπ. Καθώς χρησιμοποιείται μόνο μία από τις τέσσερις εξωτερικές πρίζες RJ45, σημειώστε ανάλογα την ενσύρματη πρίζα για να αποφύγετε αργότερα ενοχλητικά λάθη.

Ομοίως, ο σύνδεσμος USB είναι καλωδιωμένος χρησιμοποιώντας θυσιαστικό καλώδιο USB 2, ενσύρματη ακίδα 1 στον ακροδέκτη 1 κ.λπ.

Βήμα 5: Σημειώσεις πομπού

Σημειώσεις πομπού
Σημειώσεις πομπού
Σημειώσεις πομπού
Σημειώσεις πομπού
Σημειώσεις πομπού
Σημειώσεις πομπού

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

Το κύκλωμα του πομπού FS1000A που αγόρασα* φαίνεται στο διάγραμμα. Βρήκα δοκιμαστικά και λάθη ότι ένας πυκνωτής 3pF χρειαζόταν εγκατάσταση στη θέση C1 SoT (επιλέξτε στη δοκιμή) για να λειτουργήσει το πράγμα. Καθώς έχω έναν δέκτη ευρείας ζώνης που καλύπτει 430MHz, ήταν σχετικά εύκολο να αντιμετωπιστεί αυτό. Το πώς μπορείτε να δοκιμάσετε χωρίς δέκτη είναι μια ενδιαφέρουσα ερώτηση….

*Σημείωση: Αγόρασα μια δεύτερη παρτίδα πομπών αφού δεν κατάφερα να δουλέψω τους δύο πρώτους. Σε όλα αυτά έλειπε το πηνίο συλλέκτη. Χμμμ!

Είχα έναν πυκνωτή 3pF στο junk box μου, αλλά αυτό δεν θα ισχύει για τους περισσότερους ανθρώπους υποθέτω και σε κάθε περίπτωση, η απαιτούμενη τιμή μπορεί να είναι μεγαλύτερη, ας πούμε 7pF. Μια ακατέργαστη αντικατάσταση μπορεί να γίνει με δύο κομμάτια στριμμένου σύρματος (το καλώδιο συστραμμένου ζεύγους του γνωστού μου έχει χωρητικότητα περίπου 100pF ανά πόδι για να σας δώσει έναν οδηγό για το μήκος), αλλά δεν συνιστάται καθώς μπορεί να προκύψουν άλλα ζητήματα. Ας ελπίσουμε ότι θα είστε τυχεροί και δεν θα έχετε τέτοιο πρόβλημα. Θα μπορούσατε πάντα να αγοράσετε έναν πιο ακριβό (και επομένως πιθανώς) καλύτερα κατασκευασμένο πομπό.

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

Λάβετε επίσης υπόψη ότι η επιμεταλλωμένη οπή δίπλα στη λέξη "ANT" στον πομπό ΔΕΝ είναι η σύνδεση κεραίας - είναι αυτή στη γωνία χωρίς σήμανση (δείτε τη φωτογραφία). Αυτό ήταν το πρώτο λάθος που έκανα….

Η σύνδεση καρφιτσών με την ένδειξη "ATAD" θα πρέπει φυσικά να διαβάζει "DATA".

Βήμα 6: Επισκόπηση λογισμικού

Επισκόπηση λογισμικού
Επισκόπηση λογισμικού

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

Το βασικό λογισμικό που χρησιμοποίησα είναι το εξής:

  • Raspbian Stretch Lite
  • PiGPIO (μια φανταστική βιβλιοθήκη για οδήγηση servos κ.λπ.)
  • _433.py code (για κωδικοποίηση και αποκωδικοποίηση κωδικών ελέγχου RF) - συνδεδεμένος από τον ιστότοπο του PiGPIO.
  • Python3 (έρχεται με Raspbian)

Πρόσθετο λογισμικό που χρησιμοποιώ:

  • pyephem (υπολογίζει τις ώρες της αυγής και του σούρουπου - χρήσιμο για την αλλαγή φωτός)
  • Τα εξαιρετικά «Tasker» και «AutoTools SSH» για τη δημιουργία τηλεχειριστηρίου στο τηλέφωνό μου Android - δείτε τη φωτογραφία (και τα δύο διαθέσιμα στο κατάστημα Google Play). [Πώς να δημιουργήσετε μια «σκηνή» Tasker είναι εκτός του πεδίου εφαρμογής του Instructable, καθώς υπάρχει μια αρκετά απότομη καμπύλη μάθησης, αλλά είμαι ευτυχής να συζητήσω τι έκανα]

Ο δικός μου κωδικός (σε Python). Ακατέργαστο αλλά λειτουργικό:

  • tx.py - λογισμικό επιχειρημάτων μενού ή/και γραμμής εντολών που στέλνει τον κατάλληλο κωδικό στον πομπό 433MHz.
  • αυγή -σούρουπο - υπολογίζει τις ώρες της αυγής και του σούρουπου στην τοποθεσία μου και ενημερώνει το χρήστη crontab (χρησιμοποιείται για τα φώτα του χριστουγεννιάτικου δέντρου κ.λπ.)

Μπορείτε να έχετε πρόσβαση στον παραπάνω προσωπικό κωδικό μέσω του GitHub:

Η λειτουργικότητα του έργου παρέχεται από τον κώδικα PiGPIO και _433.py. Το τελευταίο έχει μια λειτουργία λήψης που ακούει εντολές τηλεχειριστηρίου από το τηλεχειριστήριο RF 433MHz και αποκωδικοποιεί τους παλμούς χρονισμού, παράγοντας μια έξοδο που μπορεί να αποθηκευτεί για μελλοντική χρήση από τη λειτουργία μετάδοσης. Αυτό επιτρέπει στο σύστημα να μάθει οποιοδήποτε «κανονικό» τηλεχειριστήριο RF 433MHz. Κατ 'αρχήν, μπορεί επίσης να χρησιμοποιηθεί για να μάθετε επίσης τα τηλεχειριστήρια RF του γείτονα σας. Θα σας συμβούλευα ανεπιφύλακτα, καθώς οι γείτονες σπάνια βλέπουν την αστεία πλευρά του τυχαίου χτυπήματος κουδουνιών. Δεν θα το έκανα.

Ρύθμιση

Καθώς το Pi σε αυτήν την εφαρμογή εκτελείται «ακέφαλο» (δηλαδή) χωρίς οθόνη ή πληκτρολόγιο, πρέπει να του μιλήσετε μέσω ssh. Υπάρχουν πολλοί διαθέσιμοι οδηγοί που καλύπτουν τον τρόπο ρύθμισης ενός Pi χωρίς ακέφαλο, αλλά για να είναι τα πράγματα απλά, υποθέτω ότι ξεκινάτε πρώτα το Pi με οθόνη και πληκτρολόγιο. Μόλις ξεκινήσει, ξεκινήστε το τερματικό και πληκτρολογήστε 'sudo raspi-config'. Επιλέξτε «5. Επιλογές διασύνδεσης »και στη συνέχεια« P2 SSH ». Ενεργοποιήστε τον διακομιστή ssh και κλείστε το raspi-config (το οποίο πιθανότατα θα καταλήξει σε επανεκκίνηση).

Οι επακόλουθες συναλλαγές με το Pi μπορούν στη συνέχεια να πραγματοποιηθούν από απομακρυσμένο τερματικό μέσω ssh. Σημειώστε ότι ο κώδικας δεν απαιτεί μια σταθερή διεύθυνση IP LAN για το Pi, αλλά σίγουρα βοηθά (και είναι σίγουρα απαραίτητο εάν ερευνήσετε τον έλεγχο Tasker). Και πάλι, υπάρχουν πολλά σεμινάρια on -line που καλύπτουν πώς να το κάνετε αυτό. Ο οικιακός μου δρομολογητής μου επιτρέπει να εκχωρήσω μια σταθερή διεύθυνση IP στη διεύθυνση MAC του Pi, οπότε το κάνω με αυτόν τον τρόπο, αντί να επεξεργάζομαι τη ρύθμιση του Pi.

Εγκατάσταση του PiGPIO:

ssh στο Pi και εισαγάγετε τις ακόλουθες εντολές:

sudo apt ενημέρωση

sudo apt install pigpio python-pigpio python3-pigpio

sudo apt install git

git clone

sudo apt install python3-RPi. GPIO

Για να εκτελέσετε το PiGPIO κατά την εκκίνηση:

crontab -e

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

Λάβετε τον κωδικό Python για μετάδοση και αποκωδικοποίηση απομακρυσμένων κωδικών RF 433MHz:

wget

αποσυμπίεση _433_py.zip

Μετακινήστε το αποσυμπιεσμένο _433.py σε έναν κατάλληλο κατάλογο (π.χ.) ~/λογισμικό/εφαρμογές

Πληκτρολόγηση (σε αυτόν τον κατάλογο)

_433.py

τοποθετεί το Pi σε λειτουργία 433 rx, περιμένοντας αποδιαμορφωμένους κωδικούς τηλεχειριστηρίου RF στον ακροδέκτη 38 GPIO.

Με τον δέκτη 433MHz συνδεδεμένο, όταν χρησιμοποιείται τηλεχειριστήριο 433MHz σε κοντινή απόσταση, κάτι σαν τα ακόλουθα δεδομένα θα εμφανιστούν στην οθόνη:

κωδικός = 5330005 bits = 24 (gap = 12780 t0 = 422 t1 = 1236)

Αυτά τα δεδομένα χρησιμοποιούνται στο πρόγραμμα Python για την αναγέννηση της μετάδοσης από το τηλεχειριστήριο.

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

_433.py> ~/software/apps/remotedata.txt

Μόλις λάβετε τα δεδομένα, το επόμενο βήμα είναι να τα χρησιμοποιήσετε για να επεξεργαστείτε τον κώδικα "tx.py" που μπορείτε να αντιγράψετε από το αποθετήριο GitHub. Αυτός ο κώδικας χρησιμοποιεί τα δεδομένα για να δημιουργήσει κυματομορφές κατανοητές από την απομακρυσμένη πρίζα που πρέπει να μεταδοθεί από τον πομπό 433MHz. Ας ελπίσουμε ότι οι απαιτούμενες τροποποιήσεις θα είναι αρκετά προφανείς και τα υπόλοιπα εξαρτώνται από εσάς…..

Συνιστάται: