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

Web IR Remote With Esp8266 (NodeMCU): 4 βήματα
Web IR Remote With Esp8266 (NodeMCU): 4 βήματα

Βίντεο: Web IR Remote With Esp8266 (NodeMCU): 4 βήματα

Βίντεο: Web IR Remote With Esp8266 (NodeMCU): 4 βήματα
Βίντεο: Arduino, ESP8266 - IR Remote 2024, Νοέμβριος
Anonim
Web IR Remote With Esp8266 (NodeMCU)
Web IR Remote With Esp8266 (NodeMCU)

Πρόβλημα

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

Λύση

Αγοράζετε μια Logitech Harmony;-)

Αλλά αν δεν θέλετε να ξοδέψετε αυτά τα χρήματα, μπορείτε να φτιάξετε κάτι παρόμοιο για κάτω από 10 $. Συνδέοντας ένα υπέρυθρο LED σε ένα ESP8266 (σ.σ. όπως το Arduino αλλά με ενσωματωμένο WiFi) μπορούμε εύκολα να κατασκευάσουμε μια συσκευή με την οποία μπορούμε να ελέγξουμε συσκευές με μια μικρή ιστοσελίδα από οποιονδήποτε υπολογιστή ή κινητό τηλέφωνο στο WiFi σας.

Ο, τι χρειάζεσαι

  • Πίνακας ανάπτυξης NodeMCU (αποστέλλονται από την Ασία για <5 €)
  • Αισθητήρας IR (OS-1838B ή TSOP38238)
  • IR LED
  • Αντίσταση 100Ω
  • NPN Transistor (δηλ. 2N2222)
  • μικρό κομμάτι πρωτότυπου PCB
  • σύνδεσμος τεσσάρων ακίδων που ταιριάζει στο NodeMCU (δηλαδή προσαρμογέας τροφοδοσίας δισκέτας)

Εάν έχετε ένα παλιό τηλεχειριστήριο, πιθανότατα μπορείτε να χρησιμοποιήσετε το IR LED και το τρανζίστορ από αυτό.

Βήμα 1: Συναρμολόγηση του υλικού

Συναρμολόγηση του υλικού
Συναρμολόγηση του υλικού
Συναρμολόγηση του υλικού
Συναρμολόγηση του υλικού
Συναρμολόγηση του υλικού
Συναρμολόγηση του υλικού
Συναρμολόγηση του υλικού
Συναρμολόγηση του υλικού

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

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

Συνέδεσα τα πάντα σε ένα βύσμα που αφαίρεσα από ένα σπασμένο τροφοδοτικό υπολογιστή (αυτό για τη δισκέτα).

Βήμα 2: Εγκατάσταση της εφαρμογής στο NodeMCU

Ρυθμίστε το περιβάλλον σας για να μεταγλωττίσετε προγράμματα για το esp8266 με το Arduino IDE: [https://github.com/espressif/arduino-esp32

Κλωνοποίηση ή Λήψη του πηγαίου κώδικα της εφαρμογής από το αποθετήριο github

Στο Arduino IDE, εγκαταστήστε τη βιβλιοθήκη IRremoteESP8266 (Μενού: Σκίτσο -> Διαχείριση βιβλιοθηκών). Αντιγράψτε το αρχείο config.h.example και ονομάστε αυτό το αντίγραφο config.h. Πρέπει τουλάχιστον να καθορίσετε το SSID και τον κωδικό πρόσβασης του WiFi σας στο config.h για να μπορέσετε να συνδεθείτε με τον διακομιστή ιστοσελίδων. Το Arduino Sketch θα πρέπει τώρα να μπορεί να μεταγλωττιστεί και να μεταφορτωθεί. Συνδέστε την πλακέτα ανάρτησης που δημιουργήσατε σε 3V, Ground, D5, D6.

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

Βήμα 3: Προσαρμογή της σελίδας HTML για τον έλεγχο του NodeMCU

Η διαδικασία σε αυτό το βήμα εμφανίζεται επίσης στο βίντεο.

Στον κατάλογο πηγαίου κώδικα υπάρχει επίσης ένα 'ir.html'. Εάν έχει ρυθμιστεί σωστά, αυτό θα "μιλήσει" στο NodeMCU.

Έτσι, το πρώτο βήμα είναι να πείτε στο αρχείο κάτω από τη διεύθυνση που μπορεί να βρει το NodeMCU. Ανοίξτε το αρχείο ir.html σε έναν επεξεργαστή κειμένου και αναζητήστε μια γραμμή που μοιάζει με αυτήν:

var host = '192.168.2.121';

Αλλάξτε την τιμή ανάμεσα στα τσιμπούρια ώστε να ταιριάζει με τη διεύθυνση που εκτυπώνεται στον διακομιστή ιστού στη σειριακή οθόνη μετά την εκκίνηση.

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

Ρύθμιση εντολών

Τώρα θέλουμε έναν τρόπο να στείλουμε ένα σήμα με αυτούς τους χρονισμούς από το ίδιο το τσιπ. Για αυτό πρέπει να προσθέσουμε τους χρονισμούς που μόλις καταγράψαμε στη λίστα των γνωστών σημάτων. Αντιγράψτε τις τιμές (συμπεριλαμβανομένων των τετραγωνικών παρενθέσεων) που σας έδωσε η διαδικασία εγγραφής και εισαγάγετε μια νέα γραμμή με ένα όνομα και τις τιμές στο αρχείο ir.html μετά τη γραμμή που μοιάζει με αυτήν:

σήματα var = {

"pgr1 btn": [1, 2, 3], Αντικαταστήστε τις 1, 2, 3 με τις καταγεγραμμένες τιμές και μην ξεχνάτε το κόμμα μετά τις γύρω αγκύλες. Για να προσθέσουμε πραγματικά ένα κουμπί πρέπει επίσης να προσθέσουμε μια εντολή. Μια εντολή μπορεί να αποτελείται από πολλά σήματα, καθώς μπορεί να χρειαστεί να «πατήσουμε» πολλά κουμπιά στο τηλεχειριστήριο, δηλαδή 1 και 2 για να φτάσουμε στο κανάλι 12 στην τηλεόραση. Αυτό επιτρέπει επίσης τον έλεγχο πολλαπλών συσκευών με μία εντολή. Αναζητήστε τη γραμμή που μοιάζει με αυτήν

"Ενεργοποίηση/απενεργοποίηση ήχου": ["σίγαση"], Αντιγράψτε αυτήν τη γραμμή και αλλάξτε το κείμενο "oundχος ενεργοποίηση/απενεργοποίηση" για να ταιριάζει με αυτό που θέλετε να εμφανίζεται στο νέο κουμπί. Αλλάξτε το όνομα "σίγαση" στο όνομα του σήματος που προσθέσατε. Το αποτέλεσμα λοιπόν θα μπορούσε να είναι:

"HBO": ["prg 1 btn"], Εάν θέλετε να εκτελέσετε πολλά σήματα, προσθέστε τα ως εξής:

"HBO": ["prg 1 btn", "prg 2 btn"],

Βήμα 4: Χρήση

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

Συνιστάται: