Κατηγορίες: Αυτοματισμοί οικιακής χρήσης, Κύκλωμα μικροελεγκτή
Αριθμός προβολών: 17351
Σχόλια σχετικά με το άρθρο: 0

Τηλεχειριστήριο μικροελεγκτή: IR Remote, Arduino, ESP8266, 433 MHz

 

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

Τηλεχειριστήριο μικροελεγκτή

Είδη

Υπάρχουν δύο κύριοι τύποι απομακρυσμένης επικοινωνίας:


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


Ασύρματη σύνδεση. Σε αυτή την πραγματοποίηση, δεν απαιτείται ηλεκτρική σύνδεση των κυκλωμάτων ελέγχου και εκτελεστικού. Στα ασύρματα κυκλώματα υπάρχουν δύο συσκευές: ένας πομπός ή ένα τηλεχειριστήριο (RC) και ένας δέκτης, ο οποίος είναι μέρος του ελεγχόμενου κυκλώματος. Ο ασύρματος έλεγχος, με τη σειρά του, είναι κοινός σε δύο εκδόσεις:

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

  • Με ραδιοσήμα. Υπάρχουν ήδη ορισμένες επιλογές: Bluetooth, ZigBee, Wi-Fi, πομποί-δέκτες 433 MHz και άλλες παραλλαγές για αυτό το θέμα.

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



Τηλεχειριστήριο IR

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

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

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

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

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

Αισθητήρα υπερύθρων

Εδώ είναι οι προδιαγραφές ενός από τους αισθητήρες IR:

  • συχνότητα φορέα: 38 kHz.

  • τάση τροφοδοσίας: 2,7 - 5,5 V;

  • κατανάλωση ρεύματος: 50 μΑ.

Και το διάγραμμα σύνδεσης:

Σχέδιο σύνδεσης αισθητήρα IR

Το τηλεχειριστήριο μπορεί να χρησιμοποιηθεί από οποιονδήποτε με παρόμοια αρχή λειτουργίας, τα τηλεχειριστήρια από:

  • Τηλεοράσεις

  • DVD players

  • μαγνητόφωνα ·

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

Πίνακας ελέγχου

Ακολουθεί ένα παράδειγμα χρήσης ενός τέτοιου αισθητήρα με τον Arduino

Παράδειγμα αισθητήρα IR Arduino

Προκειμένου ο μικροελεγκτής, στην περίπτωση μας Arduin, να καταλάβει το σήμα από τον αισθητήρα, πρέπει να χρησιμοποιήσετε τη βιβλιοθήκη IRremote.h. Για παράδειγμα, πώς να διαβάσετε ένα σήμα από έναν αισθητήρα, θα δώσουμε έναν κώδικα για να τα αναγνωρίσουμε διαβάζοντας τη σειριακή θύρα του μικροελεγκτή από το IDE του Arduino:

#include "IRremote.h" // συνδέστε τη βιβλιοθήκη για να εργαστείτε με το σήμα IR.

(2); // δηλώστε την έξοδο στην οποία είναι συνδεδεμένος ο δέκτης

αποτελέσματα decode_results.

άκυρη ρύθμιση () {

Serial.begin (9600); // ρυθμίστε την ταχύτητα θύρας COM

irrecv.enableIRIn (); // ξεκινήστε τη λήψη

}

void loop () {

αν (irrecv.decode (& αποτελέσματα)) {// αν τα δεδομένα ήρθαν

Serial.println (results.value, HEX); // εκτυπώστε δεδομένα

irrecv.resume (); // αποδεχτείτε την ακόλουθη εντολή

  }

}

Ως αποτέλεσμα, όταν αναβοσβήνετε το arduino και αρχίζετε να "λάμπει" στον δέκτη με το τηλεχειριστήριο, θα δείτε την παρακάτω εικόνα στην οθόνη σειριακής θύρας:

Παρακολούθηση σειριακής θύρας

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

Και με αυτόν τον κώδικα, μπορείτε να αναγνωρίσετε σήματα και να διαχειριστείτε το φορτίο:

#include "IRremote.h"

(2); // δηλώστε την έξοδο στην οποία είναι συνδεδεμένος ο δέκτης

αποτελέσματα decode_results.

άκυρη ρύθμιση () {

irrecv.enableIRIn (); // ξεκινήστε τη λήψη

}

void loop () {

αν (irrecv.decode (& αποτελέσματα)) {// αν τα δεδομένα ήρθαν

διακόπτης (results.value) {

περίπτωση 0xFFA857:

Ψηφιακή εγγραφή (13, ΥΨΗΛΗ);

διάλειμμα.

περίπτωση 0xFFE01F:

ψηφιακή γραφή (13, χαμηλή);

διάλειμμα.

    }   

irrecv.resume (); // αποδεχτείτε την ακόλουθη εντολή

  }

}

Το κύριο πράγμα στον κώδικα είναι η αναγνώριση μέσω της λειτουργίας Switch, μερικές φορές ονομάζονται "switchcase". Πρόκειται για ένα ανάλογο των κλαδιών εάν, αλλά έχει μια πιο όμορφη μορφή αντίληψης. Περίπτωση - αυτές είναι οι επιλογές, "εάν φτάσει ένας τέτοιος κώδικας, τότε ..." Ο κώδικας ελέγχει 13 ακίδες για ορισμένα σήματα. Επιτρέψτε μου να σας υπενθυμίσω ότι η ενσωματωμένη λυχνία LED στην πλακέτα ARDUINO συνδέεται στον ακροδέκτη 13, δηλ. ο συγγραφέας του κώδικα ελεγχόταν το LED.

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


Ραδιόφωνο λήψη και μετάδοση

Για χρήση με μικροελεγκτές, οι πομποί με συχνότητες λειτουργίας 433 MHz ή 315 MHz είναι συνηθισμένοι, ενδέχεται να υπάρχουν και άλλες συχνότητες, ανάλογα με τη συγκεκριμένη πλακέτα, αλλά αυτές είναι οι πιο συχνές. Το σύστημα αποτελείται από δύο κόμβους - έναν δέκτη και έναν πομπό, ο οποίος είναι λογικός.

Ραδιόφωνο λήψη και μετάδοση

Στην εικόνα, ο πομπός εμφανίζεται στην επάνω δεξιά γωνία και ο δέκτης στο κάτω αριστερό μέρος. Το όνομά τους για την αναζήτηση: Μονάδα ραδιοσυχνοτήτων 433MHz, MX-05V / XD-RF-5V (δέκτης και πομπός).

Το pinout, όπως συμβαίνει συχνά στις ενότητες, είναι ζωγραφισμένο πάνω στον πίνακα, όπως και ο πομπός:

Ραδιοφωνικός πομπός

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

Ραδιοφωνικός δέκτης

Για παράδειγμα, δίνουμε ένα διάγραμμα και έναν κωδικό για την ενεργοποίηση της λυχνίας LED από έναν πίνακα Arduino συνδεδεμένο σε άλλο παρόμοιο πίνακα, χωρίς καλώδια. Ο δέκτης και ο πομπός συνδέονται με τον ίδιο τρόπο και στις δύο πλακέτες:

Ο δέκτης και ο πομπός στις σανίδες

Συσκευή

Ενότητα

Arduino καρφίτσες

Δέκτη

Vcc

GND

ΔΕΔΟΜΕΝΑ

+ 5V

GND

2

Μεταδότης

Vcc

GND

ΔΕΔΟΜΕΝΑ

+ 5V

GND

2 

Στη συνέχεια, πρέπει να συνδέσετε τη βιβλιοθήκη RCswitch.h με το IDE του Arduino

Για να ξεκινήσουμε, γράφουμε το πρόγραμμα πομπού:

#include

RCSwitch mySwitch = RCSwitch(). // δημιουργήστε ένα αντικείμενο που θα λειτουργήσει με το front-end

άκυρη ρύθμιση () {

    mySwitch.enableTransmit(2). // ενημερώστε το πρόγραμμα στο οποίο είναι συνδεδεμένο το κανάλι πληροφοριών

}

void loop () {

mySwitch.send (B0100,4);

καθυστέρηση (1000).

mySwitch.send (B1000, 4).

    καθυστέρηση (1000).

} 

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

mySwitch.send (B0100,4);

και

mySwitch.send (B1000, 4).

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

Ονομασία μεταδότη (τιμή, μέγεθος πακέτων των παλμών που αποστέλλονται στον αέρα).

B1000 - το σύμβολο B - σημαίνει δυαδικό, θα μπορούσε να γραφτεί ως ο αριθμός 8, δηλ. σε δεκαδική σημείωση. Μια άλλη επιλογή ήταν να γράψετε "1000" ως συμβολοσειρά (με εισαγωγικά).

Στη συνέχεια, γράφουμε τον κωδικό για τον δέκτη (αναβοσβήνει στην πλακέτα στην οποία είναι συνδεδεμένος ο δέκτης):

#include

RCSwitch mySwitch = RCSwitch ();

άκυρη ρύθμιση () {

pinMode (3, OUTPUT).

mySwitch.enableReceive (0);

}

void loop () {

αν (mySwitch.available ()) {

τιμή int = mySwitch.getReceivedValue ();

εάν (τιμή == B1000)

ψηφιακή γραφή (3, υψηλή);

else if (value == B0100)

ψηφιακή γραφή (3, χαμηλή);

mySwitch.resetAvailable ();

    }

}

Εδώ δηλώνουμε ότι η αποδεκτή τιμή αποθηκεύεται στη μεταβλητή Value στη συμβολοσειρά mySwitch.getReceivedValue (). Και το γεγονός ότι ο δέκτης είναι συνδεδεμένος με τον 2ο ακροδέκτη περιγράφεται εδώ από το mySwiitch.enableReceive (0).

Ο υπόλοιπος κωδικός είναι στοιχειώδης, αν ληφθεί το σήμα 0100, ο αριθμός pin 3 είναι ρυθμισμένος σε υψηλό (μονάδα καταγραφής) και αν είναι 1000, στη συνέχεια χαμηλός (log μηδέν).

Ενδιαφέρουσες:

Στη γραμμή mySwitch.enableTransmit (0) λέμε στο πρόγραμμα ότι ο δέκτης είναι συνδεδεμένος στον 2ο ακροδέκτη και η λειτουργία λήψης είναι ενεργοποιημένη. Οι πιο προσεκτικοί παρατήρησαν ότι το επιχείρημα αυτής της μεθόδου δεν είναι pin pin "2", αλλά "0", το γεγονός είναι ότι η μέθοδος enableTransmit (αριθμός) δεν δέχεται τον αριθμό pin, αλλά τον αριθμό διακοπής, αλλά στο atmega328, Arduino Uno, νανο, promini και πολλά άλλα, στον δεύτερο πείρο (pinD pin PD2) κρέμεται μια διακοπή με τον αριθμό μηδέν. Μπορείτε να δείτε αυτό στο pinout Atmega που ισχύει για τον πίνακα Arduino, οι αριθμοί pin είναι γραμμένοι σε ροζ κουτιά.

Atmega pinout

Αυτή η μέθοδος μετάδοσης και λήψης είναι πολύ απλή και φθηνή · ένα ζευγάρι δέκτη και πομπού κοστίζει περίπου $ 1,5 τη στιγμή της γραφής.


Wi-Fi, Adruino και ESP8266

Αρχικά, Το ESP8266 είναι ένας μικροελεγκτής με υποστήριξη υλικού για Wi-Fi, Πωλείται ως ξεχωριστό τσιπ, και συγκολλημένο στο χαρτόνι, σαν ένα arduino. Έχει πυρήνα 32 bit, προγραμματίζεται μέσω σειριακής θύρας (UART).

Οι πίνακες έχουν συνήθως 2 ή περισσότερες ελεύθερες ακίδες GPIO και υπάρχουν πάντα ακίδες για firmware, αυτό πρέπει να γίνεται μέσω ενός προσαρμογέα USB σε σειριακό. Υπεύθυνη διαχείρισης από τις ομάδες AT, ένας πλήρης κατάλογος εντολών μπορεί να βρεθεί στην επίσημη ιστοσελίδα ESP8266 και στο github.

ESP8266

Υπάρχει μια πιο ενδιαφέρουσα επιλογή, NodeMCU πίνακες, έχουν τη δυνατότητα να αναβοσβήνουν μέσω USB, επειδή Ένας μετατροπέας USB-UART βρίσκεται ήδη στον πίνακα, συνήθως κατασκευασμένος σε τσιπ CP2102. Ο κόμβος MCU είναι ένα υλικολογισμικό, κάτι σαν ένα λειτουργικό σύστημα, ένα έργο που βασίζεται στη γλώσσα scripting Lua.

Πίνακας NodeMCU

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

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

Ο πίνακας λειτουργεί με διεπαφές:

  • 1-Wire?

  • I2C;

  • SPI

  • UART.

Έχει μια πληθώρα λειτουργιών:

  • μονάδα κρυπτογράφησης.

  • χρονοπρογραμματιστής εργασιών.

  • ρολόι πραγματικού χρόνου.

  • πρωτόκολλο συγχρονισμού ρολογιού μέσω του Διαδικτύου SNTP?

  • χρονοδιακόπτες.

  • Κανάλι ADC (ένα);

  • αναπαραγωγή αρχείων ήχου.

  • παράγει στις εξόδους ένα σήμα PWM (έως 6).

  • χρησιμοποιήστε υποδοχές, υπάρχει υποστήριξη για το FatFS, δηλ. μπορείτε να συνδέσετε κάρτες SD και ούτω καθεξής.

ESP-12E

Και εδώ είναι μια σύντομη λίστα με το τι μπορεί να λειτουργήσει το συμβούλιο:

  • επιταχυνσιόμετρα ADXL345;

  • HMC5883L μαγνητόμετρα

  • γυροσκόπια L3G4200D;

  • αισθητήρες θερμοκρασίας και υγρασίας AM2320, DHT11, DHT21, DHT22, DHT33, DHT44,

  • αισθητήρες θερμοκρασίας, υγρασίας, ατμοσφαιρικής πίεσης BME280;

  • αισθητήρες θερμοκρασίας και ατμοσφαιρικής πίεσης BMP085;

  • πολλές οθόνες που εργάζονται σε λεωφορεία I2C, SPI. Με την ικανότητα να εργάζονται με διαφορετικές γραμματοσειρές.

  • TFT εμφανίζει ILI9163, ILI9341, PCF8833, SEPS225, SSD1331, SSD1351, ST7735,

  • έξυπνες λυχνίες LED και ελεγκτές LED - WS2812, tm1829, WS2801, WS2812.

Εκτός από τη χρήση της γλώσσας Lua, μπορείτε να προγραμματίσετε το διοικητικό συμβούλιο από το Arduino IDE.

Το ESP8266 μπορεί να χρησιμοποιηθεί ως αυτόνομη συσκευή ή ως μονάδα για ασύρματη επικοινωνία με το Arduino.

Μονάδα ασύρματης επικοινωνίας με το Arduino

Η εξέταση όλων των λειτουργιών και χαρακτηριστικών αυτού του συμβουλίου θα λάβει μια ολόκληρη σειρά άρθρων.

Έτσι, αυτός ο πίνακας αποτελεί μια εξαιρετική επιλογή για τηλεχειριστήριο μέσω Wi-Fi. Το πεδίο εφαρμογής είναι τεράστιο, για παράδειγμα, για να χρησιμοποιήσετε ένα smartphone ως πίνακα ελέγχου για ένα αυτοσχέδιο ραδιοελεγχόμενο μηχάνημα ή quadrocopter, έλεγχος απομακρυσμένου φωτισμού, μέχρι την οργάνωση δικτύων για ολόκληρη την κατοικία και τη διαχείριση κάθε πρίζας, λαμπτήρων κλπ. αν υπήρχαν μόνο καρφίτσες.

Ο απλούστερος τρόπος εργασίας με τον μικροελεγκτή είναι να χρησιμοποιήσετε μια ενιαία κάρτα ESP8266. Παρακάτω είναι ένα διάγραμμα μιας απλής πρίζας wi-fi.

Σχέδιο της απλούστερης πρίζας wifi

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

Στο ESP φορτώνουμε το ακόλουθο firmware, μέσω του προγράμματος ESPlorer (πρόγραμμα για την εργασία με το board)

--Wifi AP Settup

wifi.setmode (wifi.STATIONAP)

cfg = {}

cfg.ssid = "ESPTEST"

cfg.pwd = "1234567890"

wifi.ap.config (cfg)

- Ρύθμιση λειτουργίας ακίδων

my_pin_nummber = 1

--gpio.mode (my_pin_nummber, gpio.OUTPUT)

gpio.mode (my_pin_nummber, gpio.OPENDRAIN)

- Δημιουργία διακομιστή

sv = net.createServer (net.TCP)

(δέκτης, δεδομένα)

αν string.sub (δεδομένα, 0, 1) == "1" τότε

--gpio.write (my_pin_nummber, gpio.HIGH)

gpio.write (my_pin_nummber, gpio.LOW)

αλλού

εάν string.sub (δεδομένα, 0, 1) == "0" τότε

--gpio.write (my_pin_nummber, gpio.LOW)

gpio.write (my_pin_nummber, gpio.HIGH)

τέλος

τέλος

εκτύπωση (δεδομένα)

τέλος

εάν SV τότε

sv: ακούστε (333, λειτουργία (conn)

conn: on ("λήψη", δέκτης)

conn: αποστολή ("Γεια σας!")

τέλος)

τέλος

- Δημιουργία διακομιστή HTTP

http = net.createServer (net.TCP)

λειτουργία receive_http (sck, δεδομένα)

εκτύπωση (δεδομένα)

τοπικό αίτημα = string.match (δεδομένα, "([^ \ r, \ n] *) [\ r, \ n]", 1)

αν το ζητήσετε == 'GET / στο HTTP / 1.1' στη συνέχεια

--gpio.write (my_pin_nummber, gpio.HIGH)

gpio.write (my_pin_nummber, gpio.LOW)

τέλος

αν το ζητήσετε == 'GET / off HTTP / 1.1' στη συνέχεια

--gpio.write (my_pin_nummber, gpio.LOW)

gpio.write (my_pin_nummber, gpio.HIGH)

τέλος

sck: on ("αποστολή", λειτουργία (sck) sck: close () collectgarbage () τέλος)

τοπική απόκριση = "HTTP / 1.0 200 OK \ r \ nΔείκτης: NodeMCU στο ESP8266 \ r \ nΤύπος περιεχομένου: text / html \ r \ n \ r \ n" ..

" NodeMCU στο ESP8266 </ title> <body>" ..</p> <p style="text-align: justify;"> "<h1> NodeMCU στο ESP8266 </ h1>" ..</p> <p style="text-align: justify;"> "<hr>" ..</p> <p style="text-align: justify;"> "<a href=\"on\"> Ενεργοποιημένο </a> <a href=\"off\"> Απενεργοποιημένο </a>" ..</p> <p style="text-align: justify;"> "</ body> </ html>"</p> <p style="text-align: justify;"> sck: αποστολή (απάντηση)</p> <p style="text-align: justify;">τέλος</p> <p style="text-align: justify;">αν http τότε</p> <p style="text-align: justify;"> http: ακούστε (80, λειτουργία (conn)</p> <p style="text-align: justify;"> conn: on ("λήψη", receive_http)</p> <p style="text-align: justify;"> τέλος)</p> <p style="text-align: justify;">τέλος</p> <p style="text-align: justify;">εκτύπωση ("Ξεκίνησε.")</p> </code></p> <p style="text-align: justify;">Τώρα μπορείτε να ελέγξετε το πρόγραμμα είτε από το πρόγραμμα Roboremo είτε μέσω οποιουδήποτε προγράμματος περιήγησης στο web, γι 'αυτό πρέπει να πληκτρολογήσετε τη διεύθυνση IP του πίνακα στη γραμμή διευθύνσεων στη λειτουργία wi-fi, <em>192.168.4.1.</em></p> <p style="text-align: justify;">Υπάρχει ένα απόσπασμα στον κώδικα:</p> <p><code> </code></p> <p style="text-align: justify;"><code> "<html> <title> NodeMCU στο ESP8266 </ title> <body>" ..</code></p> <p><code> </code></p> <p style="text-align: justify;"><code> "<h1> NodeMCU στο ESP8266 </ h1>" ..</code></p> <p><code> </code></p> <p style="text-align: justify;"><code> "<hr>" ..</code></p> <p><code> </code></p> <p style="text-align: justify;"><code> "<a href=\"on\"> Ενεργοποιημένο </a> <a href=\"off\"> Απενεργοποιημένο </a>" ..</code></p> <p><code> </code></p> <p style="text-align: justify;"><code> "</ body> </ html>"</code></p> <p style="text-align: justify;">Αυτό είναι ένα είδος απάντησης που εκδίδεται στο πρόγραμμα περιήγησης κατά την πρόσβαση στο διοικητικό συμβούλιο. Περιέχει κώδικα HTML, δηλ. Η απλούστερη ιστοσελίδα, παρόμοια με αυτή στην οποία διαβάζετε αυτό το άρθρο.</p> <div style="text-align: center;"><img style="border: 0px; margin: 3px;" title="Η σελίδα στο πρόγραμμα περιήγησης του smartphone με λειτουργικό σύστημα Android" src="https://i.electricianexp.com/uploads/posts/2018-04/1524152428_15.png" alt="Η σελίδα στο πρόγραμμα περιήγησης του smartphone με λειτουργικό σύστημα Android"></div> <p style="text-align: justify;">Εδώ είναι αυτή η σελίδα, που ξεκίνησε στο πρόγραμμα περιήγησης ενός smartphone με λειτουργικό σύστημα Android. Τα παραπάνω δεν είναι μια πλήρης οδηγία, διότι θα χρειαζόταν ένα τεράστιο ποσό, αν ενδιαφέρεστε για αυτές τις πληροφορίες - γράψτε σχόλια και σίγουρα θα διεξαγάγουμε μια ανασκόπηση και θα γράψουμε ένα άρθρο για τη συνεργασία μαζί του.</p> </div> </font><font size="2" face="arial"> <div border="0" width="100%"> <div> <div align="center"> </div> </div> </div> </font> <p><font face="Verdana"> <center> <noindex> </noindex></center></font></p> <p><font face="Verdana"> </font></p> </font><font size="2" face="arial"><font face="Verdana"><script type='text/javascript' src='https://i.electricianexp.com/jbox/aftertext-1.js'></script> <p> </font> <font face="Verdana" color="#0B0B0B"> <p> <b>Δείτε επίσης στο i.electricianexp.com</b></font><font size="2" face="arial"><b><font color="#0B0B0B" face="Verdana">: </font> </b> <font face="Verdana" color="#0B0B0B"><li><a href="https://i.electricianexp.com/el/main/praktika/1334-podklyuchenie-i-programmirovanie-arduino-dlya-nachinayuschih.html">Σύνδεση και προγραμματισμός του Arduino για αρχάριους</a></li><li><a href="https://i.electricianexp.com/el/microcontroller/1503-sposoby-chteniya-i-upravleniya-portami-vvoda-vyvoda-arduino.html">Μέθοδοι ανάγνωσης και διαχείρισης θυρών εισόδου / εξόδου Arduino</a></li><li><a href="https://i.electricianexp.com/el/obzor/1526-chto-takoe-displei-nextion-i-kak-s-nimi-rabotat.html">Τι είναι το Display Nextion και πώς να συνεργαστείτε μαζί του;</a></li><li><a href="https://i.electricianexp.com/el/microcontroller/1469-mikrokontrollery-programmiruemye-na-javascript.html">Προγραμματιζόμενοι μικροελεγκτές στο JavaScript: ποιο από αυτά επιλέγει, χαρακτηριστικά ...</a></li><li><a href="https://i.electricianexp.com/el/main/praktika/1333-ustroystvo-mikrokontrollerov-avr.html">Τύποι και διάταξη των μικροελεγκτών AVR</a></li></font></font></font><font size="2" face="Verdana"> <br> <p> </font></div> <div class="newsbody" bgcolor="#FDFDFD">  </div> </div> </div> </div> <div id="dle-ajax-comments"></div> <script language="javascript" type="text/javascript"> <!-- $(function(){ $('#dle-comments-form').submit(function() { doAddComments(); return false; }); }); function reload () { var rndval = new Date().getTime(); document.getElementById('dle-captcha').innerHTML = '<img src="/engine/modules/antibot.php?rndval=' + rndval + '" border="0" width="120" height="50" alt="" /><br /><a onclick="reload(); return false;" href="#"></a>'; }; //--> </script><script type='text/javascript' src='https://i.electricianexp.com/jbox/after-text-all.js'></script></article> </div> <div class="sidebar col05"> <section> <div class="heading">Τμήματα τοποθεσίας</div> <div class="content"> <ul class="list"> <li><a href="https://i.electricianexp.com/el/main/praktika/">Πρακτικά ηλεκτρονικά</a></li> <li><a href="https://i.electricianexp.com/el/sockets/">Υποδοχές και διακόπτες</a></li> <li><a href="https://i.electricianexp.com/el/protection/">Automata και RCD</a></li> <li><a href="https://i.electricianexp.com/el/economy/">Εξοικονόμηση ενέργειας</a></li> <li><a href="https://i.electricianexp.com/el/motors/">Ηλεκτροκινητήρες και η εφαρμογή τους</a></li> <li><a href="https://i.electricianexp.com/el/electromontazh/">Ηλεκτρικές εργασίες</a></li> <li><a href="https://i.electricianexp.com/el/main/voprosy/">Αμφισβητούμενα θέματα</a></li> <li><a href="https://i.electricianexp.com/el/main/master/">Κοινή εμπειρία</a></li> <li><a href="https://i.electricianexp.com/el/device/">Πώς λειτουργεί</a></li> <li><a href="https://i.electricianexp.com/el/main/praktika/">Πρακτικά ηλεκτρονικά</a></li> <li><a href="https://i.electricianexp.com/el/microcontroller/">Κύκλωμα μικροελεγκτή</a></li> <li><a href="https://i.electricianexp.com/el/main/energy/">Αυτόνομη τροφοδοσία ρεύματος</a></li> <li> <a href="https://i.electricianexp.com/el/avto/">Ηλεκτρολόγος αυτοκινήτων</a></li> <li><a href="https://i.electricianexp.com/el/tehbez/">Προφυλάξεις ασφαλείας</a></li> <li><a href="https://i.electricianexp.com/el/main/proelectrikov/">Σχετικά με τους ηλεκτρολόγους</a></li> <li><a href="https://i.electricianexp.com/el/avtorsite.html">CONTACT US</a></li> </ul> </div> </section> <section> <div class="heading">Σημείωση</div> <div class="content"> <script type='text/javascript' src='https://i.electricianexp.com/jbox/sidebar.js'></script> </div> </section> </div> </div> </div> </section> <!--------------Footer---------------> <footer> <div class="zerogrid"> <div class="row"> <section class="col-1-3"> <div class="heading">Ανατροφοδότηση</div> <div class="content"> <p><a href="https://i.electricianexp.com/el/avtorsite.html">CONTACT US</a></p><p><a href="https://i.electricianexp.com/el/sitemap_end.html">Sitemap</a></p> </div> </section></div> </div> </footer> <div id="copyright"><script type='text/javascript' src='https://i.electricianexp.com/jbox/mail.js'></script></div> <div id="slidebox"> <a class="close"></a> <div class="alignleft"> <p>Σας προτείνουμε να διαβάσετε:</p> <p> <a href="https://i.electricianexp.com/el/tehbez/1592-kakoe-napryazhenie-opasno-dlya-zhizni-cheloveka.html">Τι άγχος είναι επικίνδυνο για την ανθρώπινη ζωή</a> </p> </div> </div><script type='text/javascript' src='https://i.electricianexp.com/jbox/incbox.js'></script></body></html>