Έλεγχος μηχανής μέσω WiFi χρησιμοποιώντας ESP8266 Nodemcu. Χαρακτηριστικά σύνδεσης Wi-Fi Module ESP8266 στο Arduino

Μεταφορά υλικολογισμικού, ενημερώσεις και άλλα δεδομένα με συγκόλληση σιδήρου και καλωδίων - όχι η καλύτερη λύση για το Arduino. Ωστόσο, μικροελεγκτές για το Arduino Wi-Fi δεν είναι κανείς, και δεν υπάρχει πάντα η ανάγκη γι 'αυτούς, τους οποίους οι χρήστες τους προτιμούν να τα χρησιμοποιούν στα έργα τους χωρίς ανάγκη.

Αλλά το επόμενο κινεζικό προϊόν κατέλαβε η αγορά, Wi-Fi Jammer ESP8266 μπορεί να συνδεθεί με το Arduino συμβούλιο ή άλλο σύστημα, και θα λάβετε Σταθερή σύνδεση με πολλά άλλα πλεονεκτήματα. Ας ασχοληθούμε με το Arduino Uno Wi-Fi και αν αξίζει να αγοράσετε αυτήν την ενότητα, αλλά και ότι στην πραγματικότητα αντιπροσωπεύει ένα παρόμοιο μικροελεγκτή στο Wi-Fi Arduino.

Τώρα, οι περισσότεροι από τους χρήστες Arduino δεν είναι πλέον ανησυχούν για την τιμή των εν λόγω συσκευών, αν και άλλα 3 χρόνια Arduino Wi-Fi μονάδα θεωρήθηκε πολυτέλεια. Όλα αυτά χάρη στο Wi-Fi Jammer ESP8266, οι κατασκευαστές των οποίων εισήχθησαν στην αγορά τέλεια Καινουργιο ΠΡΟΪΟΝπου επηρεάζει τη λειτουργικότητά του και, ταυτόχρονα, το οποίο είναι αρκετά φθηνό, το οποίο συνέβαλε σημαντικά και δημιούργησε τον ανταγωνισμό προς αυτή την κατεύθυνση.

Έτσι, το Arduino Wi-Fi ESP8266 θεωρείται πλέον η πιο προσιτή ενότητα στην αγορά, καθώς και ο συνάδελφός του. Έτσι, η τιμή για τις ξένες ιστοσελίδες ξεκινά από 2 δολάρια, το οποίο επιτρέπει πακέτα για να αγοράσει αυτές τις ενότητες και να μην τους reflash χίλιες φορές, ξεπερνώντας τις επαφές για να διατηρήσει τις επιδόσεις.

Πρώτα Αυτό το Wi-Fi Η μονάδα Arduino χρησιμοποιήθηκε, κυρίως ως ασπίδα Arduino Wi-Fi, καθώς ήταν η φθηνότερη επιλογή και δεν εξαπάτησε την αρχική. Η συσκευή είναι πραγματικά πρακτικά θρυλική, επειδή δεν βρέθηκαν βαρύτητα για το κόστος του. Υπάρχουν πολλές βιβλιοθήκες, συμπεριλαμβανομένου του χρήστη, και υποστηρίζει επίσης την εργασία μέσω σειριακών ελαστικών και την απλούστερη ομάδα και στην ομάδα +. Χάρη σε αυτό, κανένα σημασιολογικό διαβόητο C99, όπως συμβαίνει συχνά με άλλους μικροελεγκτές τρίτων, δεν χρειάζεται να μελετήσουν.

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

  1. Ο επεξεργαστής είναι 160 MHz, ωστόσο είναι 32-bit, ο οποίος επιβάλλει ένα ορισμένο αποτύπωμα απόδοσης. Αλλά αξίζει να θυμηθούμε ότι η ενότητα εξακολουθεί να χρησιμοποιείται σε μια δέσμη με αρδούρινο πίνακες, τα οποία έχουν κόψει τις υψηλές συχνότητες και τρώνε τους περισσότερους από τους πόρους άγνωστους για το τι.
  2. Ο κατασκευαστής που κυκλοφόρησε το Module Wi-Fi ESP8266, τα ενδιαφέροντα έργα δεν τελείωσαν αυτό και τώρα υπάρχει μια ολόκληρη σειρά μικροελεγκτών επαληθευμένης ποιότητας.
  3. Σύγχρονα πρότυπα προστασίας δικτύου. Φυσικά, το WPA και το WPA2 δεν ήταν τόσο ασφαλές όσο θα θέλαμε, αλλά η παρουσία τους δεν μπορεί παρά να χαίρεται σε έναν τόσο φτηνό ελεγκτή.
  4. 16 θύρες εξόδου, συμπεριλαμβανομένων 10-bit, επιτρέποντας να πειραματιστεί με το διοικητικό συμβούλιο.

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

Τα χαρακτηριστικά του Wi-Fi ESP8266 σίγουρα θα παρακαλούμε, ειδικά σε σύγκριση με τους πιο ακριβά ανταγωνιστές της, αλλά ο χρήστης που δεν είχε προηγουμένως εμπειρία με αυτά τα τέλη θα προκύψει το ζήτημα του τρόπου σύνδεσης. Το γεγονός είναι ότι η ενότητα έχει πολύ περισσότερες καρφίτσες από αυτές που χρησιμοποιούνται για να βλέπουν τους νεοφερμένους και, κατά συνέπεια, ο πανικός αρχίζει. Ωστόσο, αν καταλάβετε την κατάσταση, δεν υπάρχει τίποτα περίπλοκο σε αυτό. Πλήρως κατασκευαστική και συγκόλληση σιδήρου και απλά διαβάστε τις οδηγίες.

Πώς να συνδέσετε τη μονάδα Wi-Fi στο Arduino

Ας δούμε τη σύνδεση του ESP8266 ESP 12E και τι είναι ESP8266 Γέφυρα Wi-Fi UART. Μετά από όλα, είναι η σύνδεση και η διαμόρφωση της μονάδας που προκαλεί τις περισσότερες ερωτήσεις.


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

Πριν συνδέσετε, θα πρέπει να φορτώσετε Το τελευταίο υλικολογισμικόΕπιτρέποντάς σας να αυξήσετε τη συναλλαγματική ισοτιμία των πακέτων μέχρι 9600 μονάδων πληροφοριών ανά δευτερόλεπτο. Και θα ελέγξουμε τη σύνδεση μέσω του καλωδίου USB-TTL και του αντίστοιχου τερματικού από το coolterm.


Οι ακίδες για τη σύνδεση του προτύπου παραπάνω καλωδίου, αλλά το φαγητό περνά μέσα από 3,3 τάση Idus με Arduino. Είναι σημαντικό να θυμάστε ότι η μέγιστη αντοχή του ρεύματος αποτελείται, είναι αδύνατο να τοποθετηθούν 150 mA και ESP8266 ESP 07 και ESP8266 Module Wi-Fi Cloud για το Arduino απαιτούν 240 mA.

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


Μια άλλη επιλογή σύνδεσης είναι παρακάτω. Σημαντικές - οι επαφές RX-TX συνδέονται με Crosshair. Από τα επίπεδα σημάτων της μονάδας ESP8266 3.3B και Arduino 5b, πρέπει να χρησιμοποιήσουμε ένα διαχωριστικό τάσης αντίστασης για να μετατρέψετε το επίπεδο σήματος.

Εγγραφείτε Module Wi-Fi στο Arduino

Όπως γνωρίζετε, με την κατάλληλη εμπειρία, μπορείτε επίσης να ταιριάξετε το ESP8266 ex 12e με ένα smartphone, αλλά οι νεοεισερχόμενοι και η καταχώρηση του ESP8266 ESP 12 στο σύστημα Arduino προκαλεί δυσκολίες. Στην πραγματικότητα, αρκεί να συνδέσετε την ενότητα και να ελέγξετε την απόδοσή του, ρίχνοντας πολλά πρότυπα σε εντολές μέσω του μενού εντοπισμού σφαλμάτων.

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

#DEFINE TXD 1 // GPIO1 / TXD01 VOW SETUP () (PINMODE (TXD, έξοδος);) Void Loop () (Digitalwrite (TXD, Υψηλή); Καθυστέρηση (1000). DigitalWrite (TXD, LOW). Καθυστέρηση (1000) ;)

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

Ένας μετατροπέας USB-UART είναι αρκετός, δεδομένου ότι το ESP8266 δεν χρησιμοποιεί το "μυαλό" του Arduino και είναι αρκετό για τη μνήμη flash να αποθηκεύει το ζεύγος βασικών βιβλιοθηκών και υλικολογισμικού. Συνεπώς, δεν έχει νόημα να δαπανήσουν για άλλη μια φορά σε θυγατρική, εάν μπορείτε απλά να το πέσετε στον μετατροπέα και να χρησιμοποιήσετε περαιτέρω στο έργο. Την ίδια στιγμή, με τη σύνδεση βοηθητικής παροχής ηλεκτρικού ρεύματος και όχι ανησυχητικό το γεγονός ότι τα δεδομένα θα σταματήσει να μεταδίδεται πιο υπεύθυνη στιγμή λόγω της έλλειψης ισχύος του συστήματος.

Σημαντική παρατήρηση! Για το τελευταίο κύκλωμα σκίτσου, φορτίο στο Arduino ως συνήθως, αλλά επειδή η μονάδα ESP8266 είναι συνδεδεμένη στις επαφές 0 και 1, ο προγραμματισμός γίνεται αδύνατος. Ο μεταγλωττιστής θα εμφανίσει ένα σφάλμα. Αποσυνδέστε τα καλώδια πρόκειται να ESP8266 από τις επαφές 0 και 1, τον προγραμματισμό μάρκα, και στη συνέχεια επιστρέφουν τις επαφές με την τοποθεσία και κάντε κλικ στο κουμπί Επαναφορά για Arduino.

Καλή μέρα!

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

Το όραμά μου για το σύστημα μοιάζει με αυτό:

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

Web-server
Σε ένα διακομιστή Web, δημιουργήστε μια βάση δεδομένων με δύο πίνακες - LED και κείμενα. Ο πίνακας LEDs περιέχει 2 πεδία - αναγνωριστικό και κατάσταση. Περιέχει μία καταχώρηση με την πραγματική κατάσταση της LED. Τα κείμενα του πίνακα περιέχουν 2 πεδία - αναγνωριστικό και κείμενο. Περιέχει επίσης μία καταχώρηση με το κείμενο, το οποίο εμφανίζεται αυτήν τη στιγμή στην οθόνη LCD.

Τώρα γράψτε μερικά σενάρια που θα καλέσουν από το τηλέφωνο και θα μεταδώσουν πληροφορίες για τη βάση δεδομένων. Γράφουμε με PHP.

Led.php Script (έλεγχος LED):

MSG.PHP Script (οθόνη LCD):

Νομίζω ότι από τα σχόλια, είναι σαφές πώς λειτουργούν αυτά τα σενάρια. Αυτό είναι όλο που βρίσκεται στον διακομιστή Web. Τώρα στρίβουμε στον οικιακό διακομιστή (ή απλά ευκολότερο, ο υπολογιστής στον οποίο συνδέεται το Arduino).

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

Εισαγωγή επεξεργασίας. *; // Βιβλιοθήκη για εργασία με το Com Port Import de.bezier.data.sql. *; // Βιβλιοθήκη για την εργασία με τη βάση δεδομένων σειριακής θύρας MySQL. Mysql dbconnection; INT REPLECTSTATE \u003d 0; // Προηγούμενη κατάσταση της String PrevS \u003d "" LED; // προηγούμενο κείμενο, κατάθλιψη στην οθόνη LCD Κενό setup () (Port \u003d Νέα Serial (Αυτό, "COM4", 9600)? // λιμάνι Προετοιμασία COM 4 (Arduin δεν ενεργοποιείται), συναλλαγματική ισοτιμία είναι 9600 Λιμάνι Bode bufferuntil. ( "\\ n")? String χρήστη \u003d "όνομα χρήστη"? String πέρασμα \u003d "Κωδικός πρόσβασης"? String Database \u003d "Name_BD"? dbconnection \u003d Νέα MySQL (αυτό, "Your_Domen.ru", βάση δεδομένων, των χρηστών, πέρασμα)? / / συνδεθεί με τη βάση δεδομένων dbconnection.connect?) κενό ισοπαλία () (// ακολουθήστε τις πληροφορίες σχετικά με το LED στη βάση δεδομένων dbconnection.Query ( «Επιλογή * από Leds Όπου ID \u003d» 1 «)? // Κάντε μια αίτηση στο τραπέζι LEDs Ενώ (dbconnection.next ()) // Συγκρίνετε το δείγμα από το ερώτημα αποτέλεσμα ( «Status»)? // Αποκτήστε την τιμή από το καθεστώς πεδίο IF (n \u003d prevledstate!) // Αν έχει αλλάξει σε σχέση με την προηγούμενη «τακτ "του προγράμματος, στη συνέχεια να στείλετε μια εντολή στη θύρα COM (Προεπεξεργασία \u003d n, Port.Write (" 1 "); // Το πρώτο συμβόλαιο που μεταδίδεται θα σημαίνει τον κώδικα της λειτουργίας: 1 - Έλεγχος LED, 2 - Control LCD lem port.write (n); )) // ρολόι για πληροφορίες σχετικά με την οθόνη LCD στη βάση δεδομένων dbconnection.Query ( «Επιλογή * από κείμενα Όπου id \u003d» 1 «»)? // κάνουμε ένα αίτημα στα κείμενα ενώ ο πίνακας (dbconnection.next ()) // συγκρίνετε ένα δείγμα από το αποτέλεσμα του ερωτήματος (string s \u003d dbconnection.getstring ("κείμενο"); // Πάρτε την τιμή από το κείμενο εάν το πεδίο (! s \u003d Prevs) (prevs \u003d s? port.write ( "2")? port.write (s)?)) Καθυστέρηση (50)? // Κάντε καθυστέρηση των 50 ms, έτσι ώστε να μην στέλνετε συνεχώς αιτήματα)
Δεν θα εξηγήσω αυτόν τον κώδικα ούτε, όλα είναι τόσο κατανοητά.
1 περισσότερο Σημαντική στιγμή. Έτσι ώστε το πρόγραμμα από τον υπολογιστή μας να μπορεί να μετατραπεί στη βάση δεδομένων που βρίσκεται Απομακρυσμένος διακομιστής, είναι απαραίτητο να το λύσουμε. Εισάγουμε το IP μας στον κατάλογο των επιτρεπόμενων:

Εφαρμογή τηλεφώνου
Έχω ένα τηλέφωνο Android, γι 'αυτόν και γράψτε. Δεν θα πάω πολύ στις λεπτομέρειες (πολύ καλή όσο η εγκατάσταση του περιβάλλοντος προγραμματισμού και η γραφή της πρώτης αίτησης γράφεται εδώ σε αυτό το άρθρο - Link).

Η εμφάνιση της εφαρμογής φαίνεται αρκετά μέτρια, αλλά στην περίπτωση αυτή δεν είναι σημαντική:

Θα δώσω μόνο τα περάσματα του κώδικα Android. Η λειτουργία που καλεί τον σενάριο που ελέγχει τη λυχνία LED:
Δημόσια Κενό Changeled () (TRY (URL URL1 \u003d New URL ( "http: //VASH_DOMOM.U./led.php")? Httpurlconnection URL1.OpenConnection ()? Δοκιμή (InputStream Στην \u003d Νέα BufferedInputStream (URLConnection .getInputStream () );) Τέλος (URLConnection.Disconnect ();)) Catch (εξαίρεση E) ())
Λειτουργία αποστολής κειμένου για εμφάνιση στην οθόνη LCD:
Δημόσια Void SubmitMSG () (τελικό EditText TT \u003d (EditText) FindView (R.ID.EditText1); Δοκιμάστε (URL URL1 \u003d Νέα διεύθυνση URL ("http: //vash_domen.ru/msg.php? Msg \u003d" + tt.gettext ()) · Httpurlconnection URLConnection \u003d (httpurlconnection) URL1.Openconnection () · δοκιμάστε (εισόδου στο \u003d νέο bufferedinputstream ());) Τέλος (URLConnection.Disconnect ()))
Λοιπόν, η κύρια λειτουργία στην οποία υπάρχει δέσμευση χειριστών συμβάντων στα κουμπιά:
Public void onCreate (Super.oncreate (SavedInstanceState)? SetContentView (R.Layout.main)? Τελική Κουμπί BTN1 \u003d (Button) FindViewByID (R.ID.Button1)? BTN1.SetonClicklistener (νέα button.onclicklistener () (VIEW V) // κάντε κλικ στο κουμπί (changeled ()?))? Τελική κουμπί BTN2 \u003d (Button) FindViewByid (R.ID.Button2)? BTN2.SetonClicklistener (νέα button.onclicklistener () (public void το κλικ (View V) // Κάντε κλικ στο (submtmsg ();)));)
Και ένα ακόμα σημαντικό σημείο είναι να προσθέσετε άδεια στην εφαρμογή στο Διαδίκτυο. Για να το κάνετε αυτό, το αρχείο AndroidManifest.xml (είναι στους καταλόγους της εφαρμογής μας Android) Πρέπει να προσθέσετε μια γραμμή:

Εξάγουμε την εφαρμογή μας στο Αρχειοθέτηση Και εγκαταστήστε στο τηλέφωνο. Τηλεχειριστήριο Εξυπνο σπίτι Ετοιμος!

Arduino.
Λοιπόν, τέλος, η τελευταία αλλά όχι με αξία είναι η σύνδεση του Arduino και του υλικολογισμικού του. Η οθόνη LCD και το κύκλωμα LED στο Arduino Uno LED μοιάζει με αυτό:

Η αντίσταση λαμβάνει 220 ohms. Μπορείτε να διαβάσετε εδώ περισσότερα σχετικά με τη σύνδεση της οθόνης LCD εδώ - σύνδεσμος

Αλλά πώς όλα φαίνονται στην πραγματικότητα:

Αληθινή όμορφη;

Το έργο του Arduino ακούει το γεγονός ότι το πρόγραμμα Demon Αρχική διακομιστή. Στείλει στη θύρα COM στην οποία συνδέεται το Arduino (αν και στην πραγματικότητα η σύνδεση γίνεται μέσω καλωδίου USB, αλλά ο υπολογιστής αναγνωρίζει ως σειριακή θύρα). Μετά τη λήψη οποιωνδήποτε δεδομένων από τον υπολογιστή, ο ελεγκτής στον πρώτο χαρακτήρα των μεταδιδόμενων πληροφοριών αναγνωρίζει τον κωδικό εντολών (δηλ. Τι πρόκειται να διαχειριστεί τώρα - την οθόνη LCD ή LED). Επιπλέον, ανάλογα με τον κώδικα και τις ακόλουθες πληροφορίες, γίνεται είτε on / off τη λυχνία LED ή την έξοδο στο εμφανιζόμενο μήνυμα. Έτσι, εδώ είναι ο πραγματικός κώδικας:

#Περιλαμβάνω. // Ενσωματωμένη βιβλιοθήκη για να συνεργαστείτε με την οθόνη LCD Boolean Isexecuting \u003d FALSE; // Μια μεταβλητή που αντικατοπτρίζει ότι υπάρχει ήδη μια εντολή ορισμένων εντολών // Caspusa θα εξηγήσει γιατί είναι απαραίτητο. Για κάθε "tact" κύκλο βρόχου Arduino διαβάζει τον κώδικα ενός συμβόλου από τη θύρα COM. // Επομένως, η συμβολοσειρά θα μεταδοθεί για πολλά ρολόγια. Την ίδια στιγμή πριν από κάθε ένα από τα δύο Πιθανές ομάδες (Αλλάζοντας την κατάσταση της μετάδοσης LED και κειμένου στην οθόνη) // περνάει τον κώδικα αυτής της εντολής (1 και 2, αντίστοιχα). Για να διαχωρίσετε τους κωδικούς εντολών από τις μεταδιδόμενες περαιτέρω πληροφορίες (κατάστασης LED ή κειμένου για την οθόνη), // χρησιμοποιούνται αυτή η μεταβλητή. LCD υγρούCrystal LCD (4,5,10,11,12,13). // Εμφάνιση αρχικοποίησης Int Ledpin \u003d 8; // αριθμός Pina Arduino, στο οποίο συνδέεται η INT PrevuldStatus \u003d 0 LED. // Προηγούμενη κατάσταση LED (ON / OFF) Int NewledStatus \u003d 0; // Νέα κατάσταση LED int cmd \u003d 0; // Κώδικας του Κενού Ρύθμιση () (Serial.begin (9600) εντολή (9600)? // θύρα προετοιμασίας COM (9600 - Bodache συναλλαγματική ισοτιμία) Pinmode (LEDPIN, ΕΞΟΔΟΣ)? // Αρχικοποίηση του 8ου Pina Arduino ως εξόδου LCD Ξεκινήστε (20.4)?. // Αρχικοποίηση της οθόνης LCD (4 γραμμές και 20 χαρακτήρες)) Κενό Loop () (εάν (serial.available ()\u003e 0) // Αν κάποιες πληροφορίες ήρθε στη θύρα COM (IF (iSexecuting \u003d\u003d false) // Αν δεν εντολή εκτελείται αυτή τη στιγμή CMD \u003d Serial.read () (- «0»? // ο κωδικός της εντολής ISexecuting \u003d True, // Τώρα οι μεταβλητές δείχνει Διαβάστε ότι η εκτέλεση της εντολής ξεκίνησε) εάν (cmd \u003d\u003d 1) // ελέγχου LED (newledstatus \u003d (int) serial.read ()? (! newledstatus \u003d prevledstatus) // Διαβάστε το νέο καθεστώς του IF LED // Αν έχει αλλάξει σε σύγκριση με την τρέχουσα κατάσταση, στη συνέχεια, αλλάξτε Παρούσα κατάσταση (DigitalWrite (Ledpin, Newledstatus)? prevledstatus \u003d newledstatus?)) else // ελέγχου Display (εάν (iSexecuting \u003d\u003d FALSE) // Αν σήμερα δεν πάει Οποιαδήποτε ομάδα (LCD.Clear (); // Καθαρίστε την οθόνη) άλλο (LCD.Print (CHAR) Serial.Read ())? // Εμφάνιση του συμβόλου στην οθόνη))) else // Αν δεν υπάρχουν πληροφορίες έχει έρθει στη θύρα COM (Καθυστέρηση (50)? // κάνουμε μια καθυστέρηση 50 ms εάν (serial.available ()<= 0) //если информации по-прежнему нет isExecuting = false; //считаем, что никакая команда не выполняется } }
Νομίζω ότι δεν απαιτεί εξηγήσεις, αφού ζωγράφισα τα πάντα λεπτομερώς στα σχόλια. Το μόνο που πρέπει να σημειωθεί είναι ορισμένοι περιορισμοί στις γραμμές που μεταδίδονται στην εμφάνιση. Δεν πρέπει να περιέχουν κενά (ο περιορισμός αυτός επιβάλλεται από την ατέλεια του αλγορίθμου μου) και δεν πρέπει να περιέχει κυριλλικό (επειδή υποστηρίζεται από όλες τις οθόνες και αν υποστηρίζεται, απαιτεί τη μετάδοση κωδικών συμβόλων στη δική του κωδικοποίηση, μετατρέψει τους χαρακτήρες μέσα στο οποίο δεν υπάρχει καμία επιθυμία).

συμπέρασμα
Αυτό είναι. Αποδείχθηκε ότι είναι αρκετά απλό.
Το βίντεο του πώς λειτουργεί τα πάντα:

Το τσιπ ESP8266 είναι ένα από τα πιο δημοφιλή εργαλεία για την οργάνωση της ασύρματης επικοινωνίας στα έργα ενός έξυπνου σπιτιού. Χρησιμοποιώντας έναν ασύρματο ελεγκτή, μπορείτε να οργανώσετε την επικοινωνία μέσω διεπαφής WiFi, παρέχοντας έργα Arduino για να αποκτήσετε πρόσβαση στο Internet και τη δυνατότητα να τηλεχειριστηθείσα και τη συλλογή δεδομένων. Με βάση το ESP8266, δημιουργούνται τέτοιες δημοφιλείς πίνακες όπως ο Wemos και ο Nodemcu, καθώς και ένας τεράστιος αριθμός σπιτικών έργων. Σε αυτό το άρθρο, μαθαίνουμε από τον εαυτό σας ESP82266, το οποίο υπάρχουν ποικιλίες, πώς να συνεργαστούν με ESP8266 στο Arduino IDE.

Το ESP8266 είναι ένας μικροελεγκτής WiFi που έχει τη δυνατότητα να εκτελέσει προγράμματα από τη μνήμη flash. Η συσκευή κυκλοφόρησε το 2014 από τον κινέζικο εσπρέσο και σχεδόν αμέσως έγινε δημοφιλής.

Ο ελεγκτής είναι φθηνός, έχει μικρό αριθμό εξωτερικών στοιχείων και έχει τις ακόλουθες τεχνικές παραμέτρους:

  • Υποστηρίζει πρωτόκολλα Wi-Fi 802.11 B / G / N με WEP, WPA, WPA2;
  • Διαθέτει 14 θύρες εισόδου και εξόδου, SPI, I2C, UART, 10-bit ADC.
  • Υποστηρίζει εξωτερική μνήμη μέχρι 16 MB.
  • Απαιτείται ισχύ από 2,2 έως 3,6 V, καταναλώνεται ρεύμα έως 300 mA ανάλογα με την επιλεγμένη λειτουργία.

Ένα σημαντικό χαρακτηριστικό είναι η έλλειψη χρήστης μη πτητική μνήμη στον κρύσταλλο. Το πρόγραμμα εκτελείται από το εξωτερικό SPI ROM χρησιμοποιώντας τη δυναμική φόρτωση των απαραίτητων αντικειμένων προγράμματος. Η πρόσβαση στην εσωτερική περιφέρεια δεν μπορεί να ληφθεί από την τεκμηρίωση, αλλά από το API της Βιβλιοθήκης. Ο κατασκευαστής υποδεικνύει το κατά προσέγγιση ποσό RAM - 50 KB.

Χαρακτηριστικά ESP8266 Χρέωση:

  • Βολική σύνδεση με έναν υπολογιστή - μέσω καλωδίου USB, που τροφοδοτείται από αυτό.
  • Την παρουσία ενός ενσωματωμένου μετατροπέα τάσης 3.3V ·
  • Διαθεσιμότητα 4 MB μνήμης Flash.
  • Ενσωματωμένα κουμπιά για επανεκκίνηση και αναβοσβήνουν.
  • Όλες οι θύρες αφαιρούνται στα πόδια σε δύο χτένες με ένα βήμα 2,5 mm.

Εφαρμογές μονάδας ESP8266

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

Pickup ESP8266.

Υπάρχει μια τεράστια ποσότητα ποικιλιών της μονάδας ESP8266. Το σχήμα δείχνει μερικά από αυτά. Η πιο δημοφιλής επιλογή είναι το ESP 01.

Η εκτέλεση του προγράμματος απαιτείται να ορίσει τα κράτη των λιμένων GPIO0, GPIO2 και GPIO15, όταν τελειώσει η τροφοδοσία ρεύματος. 2 σημαντικές λειτουργίες μπορούν να επισημανθούν - όταν ο κώδικας εκτελείται από το UART (gpio0 \u003d 0, gpio2 \u003d 1 και gpio15 \u003d 0) για να αναβοσβήνει την κάρτα flash και όταν εκτελείται από το εξωτερικό ROM (gpio0 \u003d 1, gpio2 \u003d 1 και gpio15 \u003d 0) στην κανονική λειτουργία.

Το pinout για το ESP01 εμφανίζεται στην εικόνα.

Περιγραφή επικοινωνίας:

  • 1 - Γη, 8 - Γεύματα. Με την τεκμηρίωση, η τάση παρέχεται σε 3,6 V - είναι σημαντικό να εξεταστεί κατά την εργασία με το Arduino, στο οποίο 5 V.
  • 6 - RST, είναι απαραίτητη για την επανεκκίνηση του μικροελεγκτή όταν υποβληθεί το χαμηλό λογικό επίπεδο.
  • 4 - CP_PD, χρησιμοποιείται επίσης για τη μετατροπή της συσκευής στη λειτουργία εξοικονόμησης ενέργειας.
  • 7 και 0 - RXD0 και TXD0, αυτό είναι ένα υλικό UART που απαιτείται για την αναλαβή της μονάδας.
  • 2 - TXD0, η λυχνία LED συνδέεται με αυτή την επαφή, η οποία ανάβει με χαμηλό λογικό επίπεδο στο GPIO1 και κατά τη μετάδοση δεδομένων στο UART.
  • 5 - GPiO0, θύρα εισόδου και εξόδου, σας επιτρέπει επίσης να μεταφράσετε τη συσκευή σε λειτουργία προγραμματισμού (όταν συνδέετε τη θύρα σε χαμηλό λογικό επίπεδο και τροφοδοσία τάσης).
  • 3 - GPiO2, Θύρα εισόδου και έξοδος.

Pickup esp-12

Κύριες διαφορές Arduino από ESP8266

  • Το ESP8266 έχει μεγαλύτερη ποσότητα μνήμης flash, ενώ το ESP8266 δεν έχει μη πτητική μνήμη.
  • Επεξεργαστής ESP8266 ταχύτερα από το Arduino.
  • Την παρουσία Wi-Fi στο ESP8266.
  • Το ESP8266 καταναλώνει περισσότερο ρεύμα από το Arduino.

Προγραμματισμός ESP8266 στο Arduino IDE

Το κιτ λογισμικού Developer Developer ESP8266 περιλαμβάνει:

  • Συγκριτής από το πακέτο συλλογής GNU Compiler.
  • Βιβλιοθήκες, στοίβες WiFi, πρωτόκολλα TCP / IP.
  • Εργαλείο λήψης πληροφοριών στο πρόγραμμα του ελεγκτή.
  • Λειτουργία IDE.

Αρχικά, οι μονάδες ESP8266 παρέχονται με το υλικολογισμικό από τον κατασκευαστή. Με αυτό, μπορείτε να ελέγξετε την ενότητα από έναν εξωτερικό μικροελεγκτή, για να εφαρμόσετε την εργασία με το Wi-Fi ως μόντεμ. Υπάρχουν επίσης πολλά άλλα τελικά υλικολογισμικά. Μερικοί από αυτούς σας επιτρέπουν να προσαρμόσετε τη λειτουργία της μονάδας χρησιμοποιώντας τη διεπαφή ιστού.

Μπορείτε να προγραμματίσετε από το περιβάλλον Arduino IDE. Όταν βοηθάτε, μπορείτε εύκολα να γράψετε σκίτσα και να τα κατεβάσετε σε ESP8266, για Flash ESP8266, ενώ το ίδιο το Arduino είναι απαραίτητο. Το Arduino IDE υποστηρίζει όλους τους τύπους μονάδων ESP8266.

Επί του παρόντος, για ESP8266, μπορείτε να εφαρμόσετε τις ακόλουθες λειτουργίες:

  • Τις κύριες λειτουργίες της γλώσσας καλωδίωσης. Μπορείτε να ελέγξετε τις θύρες GPIO με τον ίδιο τρόπο όπως οι ακίδες στο Arduino Board: Pinmode, DigitalDead, Digitalwrite, αναλογία. Η εντολή AnalogRead (A0) σάς επιτρέπει να μετρήσετε τις τιμές ADC. Χρησιμοποιώντας την εντολή Analogwrite (PIN, VALUE), μπορείτε να συνδέσετε το PWM στην επιθυμητή έξοδο gpio. Με την τιμή \u003d 0, η PWM είναι απενεργοποιημένη, η μέγιστη τιμή φτάνει σε μια σταθερά ίση με 1023. Με τις λειτουργίες της προσκόλλησης, η αποσυνδεθείς μπορεί να διακοπεί σε οποιαδήποτε θύρα GPIO εκτός από 16.
  • Χρονοδιάγραμμα και καθυστέρηση. Χρησιμοποιώντας Millis και Micros εντολές, μπορείτε να επιστρέψετε τα MS και ISS, τα οποία έχουν περάσει από την αρχή. Η καθυστέρηση σας επιτρέπει να διακόψετε την εκτέλεση του προγράμματος την κατάλληλη στιγμή. Επίσης, η λειτουργία καθυστέρησης (...) σας επιτρέπει να διατηρείτε την κανονική λειτουργία Wi-Fi εάν υπάρχουν μεγάλα στοιχεία στο σκίτσο, τα οποία εκτελούνται περισσότερα από 50 ms. Η απόδοση () είναι ένα αναλογικό της λειτουργίας καθυστέρησης (0).
  • Σειριακό και σειριακό1 (UART0 και UART1). Η σειριακή εργασία στο ESP8266 είναι παρόμοια με την εργασία στο Arduino. Εγγραφή και ανάγνωση Κωδικός μπλοκ δεδομένων Εάν το FIFO είναι 128 byte και το ρυθμιστικό λογισμικού για 256 bytes γεμίζουν. Το σειριακό αντικείμενο απολαμβάνει το Hardware UART0, μπορείτε να ορίσετε PIN GPIO15 (TX) και GPIO13 (RX) αντί για GPIO1 (TX) και GPIO3 (RX). Για να το κάνετε αυτό, μετά τη λειτουργία Serial.Begin (). Πρέπει να καλέσετε serial.swap ();. Ομοίως, το Serial1 χρησιμοποιεί το UART1, το οποίο τρέχει στη μεταφορά. Απαιτούμενο PIN για αυτό το gpio2.
  • Macro progmem. Το έργο του είναι παρόμοιο με την εργασία στο Arduino. Σας επιτρέπει να μετακινήσετε τα δεδομένα μόνο και τη συμβολοσειρά στη μνήμη Flash. Ταυτόχρονα, οι ίδιες σταθερές δεν αποθηκεύονται σε ESP8266, γεγονός που οδηγεί σε μια πρόσθετη μνήμη φλας.
  • I2c. Πριν αρχίσετε να εργάζεστε με το λεωφορείο I2C, επιλέγονται ελαστικά χρησιμοποιώντας τη λειτουργία Wire.PINS (Int SDA, Int SCL).
  • Spi, onewire - υποστηρίζονται πλήρως.

Χρησιμοποιώντας το ESP8266 για την επικοινωνία Arduino με WiFi

Πριν από τη σύνδεση στο Arduino, είναι σημαντικό να θυμόμαστε ότι η τάση τροφοδοσίας ESP8266 δεν μπορεί να είναι μεγαλύτερη από 3,6, ενώ στην τάση Arduino, η τάση είναι 5 V. Για να συνδεθεί 2 μικροελεγκτές χρησιμοποιώντας αντίσταση διαχωριστικά. Πριν συνδέσετε την ενότητα, πρέπει να εξοικειωθείτε με το επιλεγμένο Pinout ESP8266. Διάγραμμα σύνδεσης για ESP8266-01 παρουσιάζεται στο σχήμα.

3.3 V Με Arduino - On VCC & CH_PD στη μονάδα ESP8266, γη με Arduino - στη Γη με ESP8266, 0 - TX, 1 - RX.

Για να υποστηρίξει σταθερή λειτουργία, το ESP8266 απαιτεί πηγή σταθερής τάσης κατά 3,3 V και το μέγιστο ρεύμα 250 mA. Εάν η ισχύς προέρχεται από τον μετατροπέα USB-TTL, ενδέχεται να εμφανιστούν δυσλειτουργίες και δυσλειτουργίες.

Η εργασία με τη βιβλιοθήκη Wi-Fi για το ESP8266 είναι παρόμοιο με μια βιβλιοθήκη για συνηθισμένη ασπίδα. Υπάρχουν διάφορα χαρακτηριστικά:

  • Λειτουργία (m) - Για να επιλέξετε έναν από τους τρεις τρόπους: πελάτης, σημείο πρόσβασης ή και στις δύο λειτουργίες τη φορά.
  • Το Softap (SSID) είναι απαραίτητο για τη δημιουργία ενός ανοικτού σημείου πρόσβασης.
  • softap (SSID, κωδικός πρόσβασης) - Δημιουργεί ένα σημείο πρόσβασης κωδικού πρόσβασης, το οποίο θα πρέπει να αποτελείται από τουλάχιστον 8 χαρακτήρες.
  • Wifi.macaddress (Mac) και wifi.softapmacaddress (MAC) - Καθορίζει τη διεύθυνση MAC.
  • Wifi.localip () και wifi.softapip () - ορισμός της διεύθυνσης IP.
  • printdiag (σειριακό); - Μάθετε να γνωρίζετε τα διαγνωστικά δεδομένα.
  • WiFiUDP - Υποστήριξη για τη μεταφορά και λήψη του πακέτου πολυεκπομπής στη λειτουργία πελάτη.

Το έργο εκτελείται σύμφωνα με τον ακόλουθο αλγόριθμο:

  • Σύνδεση USB-TTL σε USB και ESP.
  • Ξεκινήστε το Arduino IDE.
  • Επιλέξτε την επιθυμητή θύρα, χρέωση, συχνότητα και μέγεθος μνήμης flash στο μενού Εργαλεία.
  • Αρχείο - Παραδείγματα - ESP8266WIFI - Wifiwebserver.
  • Γράψτε σε σκίτσο SSID και κωδικό πρόσβασης Wi-Fi.
  • Ξεκινήστε τη σύνταξη και τον κώδικα λήψης.
  • Περιμένετε για το τέλος της διαδικασίας υλικολογισμικού, αποσυνδέστε το gpio0 από τη γη.
  • Τοποθετήστε την ταχύτητα του 115200.
  • Θα συνδεθεί μια σύνδεση, θα καταγραφεί η διεύθυνση IP.
  • Ανοίξτε το πρόγραμμα περιήγησης, εισάγετε τον αριθμό IP / GPIO / 1 στη γραμμή διευθύνσεων
  • Προβάλετε την οθόνη της θύρας, εάν η λυχνία LED είναι συνδεδεμένη στην έξοδο GPIO2, θα πρέπει να ανάψει.

Nodemcu με βάση το ESP8266

Το Nodemcu είναι μια πλατφόρμα με βάση τη μονάδα ESP8266. Χρησιμοποιείται για τον έλεγχο του σχήματος σε απόσταση χρησιμοποιώντας το Internet μέσω Wi-Fi. Το συμβούλιο είναι μικρό, συμπαγές, είναι φτηνό, στην μπροστινή πλευρά υπάρχει ένας σύνδεσμος USB. Κοντά στο κουμπί για σφάλμα και επανεκκίνηση του μικροελεγκτή. Το τσιπ ESP8266 είναι επίσης εγκατεστημένο. Τάση τροφοδοσίας - από 5 έως 12 V, είναι επιθυμητό να υποβάλλετε περισσότερα από 10 V.

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

  • D1 και D2 - για τη διεπαφή I2C / TWI.
  • D5-D8- για τη διασύνδεση SPI.
  • D9, D10 - Για UART;
  • D1-D10 - Μπορεί να λειτουργήσει ως pwm.

Η πλατφόρμα έχει ένα σύγχρονο API για είσοδο και έξοδο υλικού. Αυτό σας επιτρέπει να μειώσετε τον αριθμό των ενεργειών ενώ εργάζεστε με εξοπλισμό και όταν έχει ρυθμιστεί. Χρησιμοποιώντας το firmware nodemcu, μπορείτε να χρησιμοποιήσετε ολόκληρο το δυναμικό εργασίας για να αναπτύξετε γρήγορα τη συσκευή.

WEMOS με βάση το ESP8266

Το WEMOS είναι ένας άλλος τύπος πλατφόρμας που βασίζεται στον μικροελεγκτή ESP8266. Συνεπώς, υπάρχει μια μονάδα Wi-Fi, υποστηρίζεται η Arduino IDE, υπάρχει ένας εξωτερικός σύνδεσμος κεραίας. Το συμβούλιο έχει 11 ψηφιακές εισόδους / εξόδους, οι οποίες (εκτός από D0) υποστηρίζουν διακοπή / pwm / i2c / ένα καλώδιο. Η μέγιστη τάση τροφοδοσίας φτάνει το 3.3 V. Επίσης στην πλατφόρμα υπάρχει ένας σύνδεσμος USB. Αναλογική είσοδο 1 με μέγιστη τάση 3.2V.

Για να συνεργαστείτε με την ενότητα που χρειάζεστε για να εγκαταστήσετε το πρόγραμμα οδήγησης CH340 και να διαμορφώσετε το Arduino IDE στο ESP8266. Για να το κάνετε αυτό, πρέπει να προσθέσετε τη διεύθυνση http://arduino.ep8266.com/stable/package_esp8266com_esp8266) στο μενού "Πρόσθετο σύνδεσμο" στο μενού Ρυθμίσεις.

Μετά από αυτό, θέλετε να βρείτε το πακέτο ESP8266 από το πακέτο ESP8266 και να το εγκαταστήσετε. Στη συνέχεια, πρέπει να επιλέξετε τα εργαλεία μικροελεγκτών WEMOS D1 R2 στο μενού και να γράψετε το επιθυμητό σκίτσο.

Συμπεράσματα από το ESP8266.

Χρησιμοποιώντας σανίδες με βάση το τσιπ ESP8266, μπορείτε να προσθέσετε την ευκαιρία του "μεγάλου Διαδικτύου" στα έργα σας, καθιστώντας τους πολύ πιο έξυπνο. Τηλεχειριστήριο, συλλογή δεδομένων και ανάλυση στο διακομιστή, επεξεργασία φωνητικής επεξεργασίας και εικόνας - όλα αυτά καθίστανται διαθέσιμα όταν συνδέουμε το έργο WiFi στο Διαδίκτυο. Στα ακόλουθα άρθρα, θα εξετάσουμε λεπτομερώς πώς είναι δυνατόν να προγραμματίσουμε τις συσκευές βάσης δεδομένων ESP8266 και επίσης να δώσουν προσοχή σε τέτοιες δημοφιλείς πληρωμές όπως ο Wemos και ο Nodemcu.

Ξανά από την αρχή.

Πατατακι Esp. 8266

Το τσιπ ESP8266 έχει σχεδιαστεί ειδικά για το "Διαδίκτυο των πραγμάτων". Υπάρχουν δύο επιλογές για τη χρήση αυτού του τσιπ. Η πρώτη είναι μια γέφυρα UART-WiFi για τη σύνδεση με ένα μικροελεγκτή και τον έλεγχο των εντολών. Η δεύτερη επιλογή - το ίδιο το τσιπ εκτελεί τον ρόλο του ελεγκτή. Σύμφωνα με τις εκτιμήσεις μου στο μέσο των εραστών ηλεκτρονικών ειδών, το τσιπ χρησιμοποιείται συχνά ως ελεγκτής ελεγκτή.

Χαρακτηριστικά Chip:

  • Υποστήριξη 802.11 b / g / n
  • Ενσωματωμένη κατανάλωση χαμηλής κατανάλωσης ενέργειας 32 bit
  • Ενσωματωμένο 10-bit adc
  • Ενσωματωμένη στοίβα TCP / IP
  • Ενσωματωμένος ενισχυτής σήματος WF
  • Υποστήριξη για τον διαχωρισμό των κεραιών
  • Wifi 2.4 GHz, υποστήριξη WPA / WPA2
  • Υποστήριξη λειτουργίας STA / AP / STA + AP
  • SDIO 2.0, (H) SPI, UART, I2C, I2S, REMECTION IR, PWM, GPIO
  • STBC, 1x1 Mimo, 2x1 Mimo
  • A-MPDU & A-MSDU συσσωμάτωση & διάστημα προστασίας από 0,4s
  • Ισχύς εξόδου +20 DBM σε λειτουργία 802.11B

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

Φωτογραφίες για να συγκρίνετε τον αριθμό των εξαρτημάτων παρόμοιων λύσεων.

Σύμφωνα με όλη αυτή τη γοητεία, ο πυρήνας CPU XTEN XTENSA 32-bit διαχειρίζεται, σύμφωνα με άλλα δεδομένα - Tensilica L106 Diamond. Κάτω από το μικροσκόπιο μοιάζει με ένα τσιπ ως ολόκληρη πόλη από τα σχετικά στοιχεία.

Ένα από τα σημαντικότερα χαρακτηριστικά είναι η κατανάλωση ενέργειας. ESP8266 απλά εκπληκτικά:

  • 215mA σε λειτουργία συνεχούς μετάδοσης.
  • 1mA σε λειτουργία σύνδεσης με σημείο πρόσβασης
  • 10UA σε βαθιά λειτουργία ύπνου με ρολό σε πραγματικό χρόνο
  • 0,5UA σε λειτουργία απενεργοποίησης ρεύματος

Ο χρόνος που απαιτείται για την αφύπνιση και την έναρξη της μεταφοράς της συσκευασίας είναι μικρότερη από 2ms. Για παράδειγμα, κατά τη μέτρηση της θερμοκρασίας, κάθε 100 δευτερόλεπτα και συνδεθείτε με το σημείο πρόσβασης και τη μεταφορά των συσσωρευμένων δεδομένων κάθε 300 δευτερόλεπτα (όλες οι άλλες φορές το τσιπ κοιμάται) το μέσο ρεύμα θα είναι περίπου 1ma. Αυτό είναι περισσότερο από τρεις μήνες εργασίας από τρεις μπαταρίες δακτύλων με χωρητικότητα 2600ma / h.

Σχετικά με τις μονάδες Esp.

Επί του παρόντος, οι πιο δημοφιλείς μονάδες σε μάρκες ESP8266 ESP-01, ESP-02, ESP-03, ESP-04, ESP-05, ESP-06, ESP-07, ESP-08, ESP-09, ESP-10, ESP-11, ESP-12, ESP-12E. Διαφέρουν στην ποσότητα αραιωμένων πείρων, την παρουσία ενός συνδετήρα για τη σύνδεση εξωτερικής κεραίας, μεγεθών.

Τώρα μπορείτε να βρείτε ήδη τον ESP8266 Elder Brother - αυτή είναι μια μονάδα ESP-32. Στο AliExpress, μόνο δύο πωλητές έχουν αυτές τις ενότητες. Τιμή περίπου 250 ρούβλια έναντι 110 ρούβλια για ESP-12E. Η νέα ενότητα θα είναι ακόμη περισσότερα κουλουράκια.

Τα κύρια χαρακτηριστικά του ESP-32. (Κάντε κλικ για προβολή)

Wi-fi
- 802.11 b / g / n / e / i
- 802.11 n (2,4 GHz), έως 150 Mbps
- 802.11 Ι Ασφάλεια Χαρακτηριστικά: Προ-έλεγχος ταυτότητας και TSN
- 802.11 E: Διαχείριση πολλαπλών ουράς για να αξιοποιήσει πλήρως την προτεραιότητα της κυκλοφορίας QOS
- Προστατευόμενη πρόσβαση Wi-Fi (WPA) / WPA2
- Wi-Fi προστατευμένη ρύθμιση (WPS)
- UMA συμβατό και πιστοποιημένο
- Διατομή της κίνησης της κεραίας
- συσσωμάτωση A-MPDU και A-MSDU
- WMM Power S VE U-APSD
- κατακερματισμός και ανασυγκρότηση
- Wi-Fi Direct (P2P), Discovery P2P, λειτουργία ιδιοκτήτη ομάδας P2P και διαχείριση ισχύος P2P
- Υποδομή BSS Mode / Λειτουργία Soft AP
- Αυτόματη παρακολούθηση του φάρου / σάρωση
- SSL στοίβες με επιταχυντές υλικού

Bluetooth
- CMOS ενιαίο τσιπ πλήρως ενσωματωμένο ραδιόφωνο και βάση βάσης
- Bluetooth Piconet και Scatternet
- Bluetooth 4.2 (BR / EDR / BLE)
- Adaptive συχνότητα hopping (AFH)
- SMP.
- Εκπαιδευτής κατηγορίας 1, κλάσης-2 και κατηγορίας-3 πομπός
- +10 DBM TRA Smitting Power
- Δέκτης NZIF με -90 ευαισθησία DBM
- UTH υψηλής ταχύτητας UART HCI
- SDIO / SPI HCI
- CVSD και SBC
- Χαμηλή κατανάλωση ενέργειας
- Ελάχιστο εξωτερικό στοιχείο

CPU και μνήμη.
- XTENSA® DUAL-CORE 32-bit LX6 MICR CES RS RS, έως 400m
- 128 KB ROM
- QSPI Flash / SRAM, έως 4 x 16 MB
- Παροχή ρεύματος: 2.5V σε 3.6V
- 416 KB SRAM

Ρολόγια και χρονομετρητές.
- 2 MHz έως 40 MHz κρυστάλλινο ταλαντωτή
- εσωτερικός ταλαντωτής 8 MHz με βαθμονόμηση
- Εξωτερικός ταλαντωτής 32 kHz για RTC με βαθμονόμηση
- Εσωτερικός ταλαντωτής RC με βαθμονόμηση
- δύο ομάδες χρονοδιακόπτη, συμπεριλαμβανομένων των χρονοδιακόπτη 3 x 64 bit και 1 x watchdog σε κάθε ομάδα
- Χρονοδιακόπτης RTC με ακρίβεια υπο-δεύτερης
- RTC Watchdog.

Προηγμένες περιφερειακές διεπαφές.
- 12-bit SAR ADC έως 16 κανάλια
- 2 x 10-bit d / a μετατροπείς
- 10 x αισθητήρες αφής
- Αισθητήρας θερμοκρασίας (-40 + 125 ° C)
- 4 x spi
- 2 x i2s
- 2 x i2c
- 2 x uart
- 1 υποδοχής (SD / EMMC / SDIO)
- 1 σκλάβος (SDIO / SPI)
- Διασύνδεση Ethernet Mac με αφιερωμένη υποστήριξη DMA και IEEE 1588
- Μπορεί 2.0.
- IR (TX / RX)
- κινητήρα PWM.
- LED PWM έως 16 κανάλια

Ασφάλεια
- IEEE 802.11 Τυποποιημένα χαρακτηριστικά ασφαλείας που υποστηρίζονται, συμπεριλαμβανομένων των WFA, WPA / WPA2 και WAPI
- Ασφαλής εκκίνηση
- Κρυπτογράφηση Flash
- 1024-bit OTP, μέχρι 768-bit για τους πελάτες
- Επιτάχυνση υλικού Cryptographcc:
- AES 128/192/256
- Βιβλιοθήκη Hash (SHA-2)
- RSA.
- Γεννήτρια αριθμών Radom

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

Αλλά πίσω στο ESP-12E. Η πλατφόρμα Nodemcu βασίζεται βάσει αυτής της ενότητας.

Σχετικά με την πλατφόρμα

Η πλατφόρμα χρησιμοποιεί τις δυνατότητες της μονάδας ESP-12, δεν έχει το δικό του μικροελεγκτή. Οι Κινέζοι παράγουν πολλούς κλώνους με διαφορετικούς μετατροπείς διασύνδεσης και οι ίδιες οι πλατφόρμες έχουν διαφορετικά μεγέθη.

Από προεπιλογή, το firmware Nodemcu μεταφορτώνεται στην πλατφόρμα με υποστήριξη για τον διερμηνέα LUA Scripting Language. Τα σενάρια θέτουν τη συμπεριφορά του πίνακα.

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

Εγκατάσταση βιβλιοθηκών την Τετάρτη Arduino. Ουσία Για την εργασία S. Nodemcu. .

Για να ορίσετε τις βιβλιοθήκες, πρέπει να μεταβείτε στις ρυθμίσεις Arduino IDE και να εισαγάγετε τη διεύθυνση http://carduino.esp8266.com/package_esp8266) _index.json στο πεδίο Πρόσθετο επιτραπέζιο

Διαδώστε τον κατάλογο και βρείτε το ESP8266 από την κοινότητα ESP8266 και εγκαταστήστε τις βιβλιοθήκες.

Κλείσιμο "Διευθυντής Συμβούλων". Μεταβείτε στο "Εργαλεία" και επιλέξτε την κάρτα Nodemcu σύμφωνα με την έκδοση σας.

Για να κατανοήσετε ποια ενότητα έχετε εγκατασταθεί και ποια έκδοση για να επιλέξετε, κοιτάξτε την ενότητα. Εάν οι επαφές σε αυτό βρίσκονται σε τρεις πλευρές - αυτό είναι ένα ESP-12E, αν μόνο από δύο είναι ESP-12.

Συμπεράσματα πλατφόρμας Nodemcu

Λειτουργίες που υποστηρίζονται από τις βιβλιοθήκες για Arduino. Ουσία .

Πλήρης περιγραφή Μπορείτε να διαβάσετε εδώ https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_ru και στα ρωσικά. Θα μιλήσω για βασικές λειτουργίες.

Ο έλεγχος του GPIO πραγματοποιείται με τον ίδιο τρόπο όπως το Arduino. Pinmode, digitalDadead, digitalwrite, αναλογική λειτουργία ως συνήθως. Αναλογική (Α0) διαβάζει την τιμή ADC από μια αναλογική είσοδο A0, αντίστοιχα. Το Analogwrite περιλαμβάνει το λογισμικό PWM. Συχνότητα PWM της τάξης του 1 kHz. Το PWM κυμαίνεται από 0 έως 1023, Arduino, όπως θυμόμαστε, μέχρι 255. Οι διακοπές υποστηρίζονται επίσης σε οποιοδήποτε GPIO, εκτός από το GPIO16. Οι λειτουργίες Millis () και MicroS () επιστρέφονται σε χιλιοστά του δευτερολέπτου και μικροδευτερόλεπτα που έχουν περάσει από την αρχή της μονάδας. Η λειτουργία καθυστέρησης () από το Nodemcu λειτουργεί διαφορετικά από το Arduino. Εδώ, η εφαρμογή της καθυστέρησης είναι ευπρόσδεκτη και απαιτείται ακόμη και σε μεγάλα προγράμματα. Όταν η μονάδα υποστηρίζει σύνδεση WiFi, πρέπει να εκτελέσει πολλές εργασίες φόντου, εκτός από το σκίτσο σας. Οι λειτουργίες WiFi και TCP / IP των βιβλιοθηκών SDK έχουν τη δυνατότητα να επεξεργάζονται όλα τα συμβάντα στην ουρά μετά την ολοκλήρωση κάθε κύκλου της λειτουργίας σας () ή κατά την εκτέλεση της καθυστέρησης (...). Εάν ο κωδικός σας διαθέτει θραύσματα που εκτελούν πάνω από 50 χιλιοστά του δευτερολέπτου, είναι απαραίτητο να χρησιμοποιήσετε την καθυστέρηση (...) για να διατηρήσετε την κανονική απόδοση της στοίβας WiFi. Αλλά οι καθυστερημένοι () εμποδίζουν την εκτέλεση άλλων εργασιών και δεν συνιστάται για καθυστερήσεις πάνω από 20 χιλιοστά του δευτερολέπτου. Η σειριακή χρήση χρησιμοποιεί ένα υλικό UART0 που λειτουργεί στο PiO1 (TX) και το GPIO3 (RX).

Πρόγραμμα για τη διαχείριση τέσσερα ρελέ από μια εφαρμογή για κινητά

Αφού ρυθμιστούν οι βιβλιοθήκες στην πλατφόρμα, συνδέουμε ένα μπλοκ 4 ρελέ σε Pin D1, D2, D3, D4, το οποίο αντιστοιχεί στο GPIO 5, 4, 0, 2, αντίστοιχα. Στη συνέχεια, συνδέουμε τη δύναμη στην πλατφόρμα και στη μονάδα ρελέ. Έχω ένα μπλοκ ρελέ υπάρχει ένα χαρακτηριστικό. Για να ενεργοποιήσετε το ρελέ, πρέπει να σφίξετε το πείρο στο έδαφος. Δηλαδή, η λογική 0 περιλαμβάνει ρελέ και 1 απενεργοποιείται.

Θα εξετάσω τρεις επιλογές για τον έλεγχο του μπλοκ ρελέ.

Πρώτο πρόγραμμα Χρησιμοποιεί τη δημοφιλή βιβλιοθήκη του αρστηροί https://github.com/marcoschwartz/arest

Αυτή είναι μια βιβλιοθήκη χειριστή API, σας επιτρέπει να διαχειριστείτε το gpio μέσω των αιτημάτων http του τύπου http://192.168.0.10/digital/6/1 των χαρακτηριστικών του: Εγκαταστήστε το gpio σε ψηφιακό ή αναλογικό (PWM), ορίστε 0 ή 1 σε καρφίτσα Σε ψηφιακή λειτουργία, επιστρέψτε μεταβλητές και διαβάστε την κατάσταση των πείρων.

Συμπλήρωσα το πρόγραμμα και κατεβάσα από τα παραδείγματα που πηγαίνουν μαζί με τη βιβλιοθήκη. Από την άποψη της χρήσης - είναι ευκολία.

Στη ρύθμιση, μια σύνδεση έχει οριστεί σε σημείο πρόσβασης, όπως αναφέρεται μέσω της θύρας COM. Και ο βρόχος μοιάζει με αυτό:

κενό βρόχο () (

Wifullient client \u003d server.available ();

Αν (! Πελάτης) (

ΕΠΙΣΤΡΟΦΗ;

}

Ενώ (! Client.available ()) (

Καθυστέρηση (1);

}

Ξεκουραστείτε (πελάτης).

}

Τα παντα. Αυτό που συμβαίνει δεν υπάρχει σαφές. Έργα, αλλά στην πραγματικότητα δεν προγραμματίζουμε τίποτα. Απλά εκτελέστε το πρόγραμμα, όλα τα άλλα κάνουν τη βιβλιοθήκη. Αλλά είναι πιο ενδιαφέρον να μάθετε πώς να εργάζεστε με το gpio "χέρια". Ναι, με τον τρόπο, είχα ένα πρόγραμμα μετά από έναν αόριστο χρόνο. Μερικές φορές μετά από 40 λεπτά, μερικές φορές σε 5-6 ώρες. Επιστρέφοντας σπίτι μετά από 8 ώρες εργασίας, πάντα ανακάλυψα ότι το πρόγραμμα δεν λειτουργεί. Ταυτόχρονα, ο δρομολογητής υποδεικνύει ότι ο πελάτης WiFi είναι συνδεδεμένος και εκδίδεται η διεύθυνση IP. Το ενδιαφέρον μου στη βιβλιοθήκη μου γρήγορα εξαφανίστηκε. Στις κρέμες των αιτών στα ρωσόφωνοι φόρουμ δεν πληρούν τις καταγγελίες. Έχω αμαρτήσει στο Nodemcu ή ασταθές φαγητό, αλλά άλλα πειράματα έχουν αποδείξει ότι στην περίπτωσή μου το πρόγραμμα ήταν να κατηγορήσει. Πιθανότατα, έχω μια ειδική περίπτωση. Δεν υποστηρίζω ότι η βιβλιοθήκη δεν λειτουργεί.

Με το AREST να ταξινομηθεί έξω.

Δεύτερο πρόγραμμα Γραπτή ανεξάρτητα χρησιμοποιεί μόνο μία συνδεδεμένη βιβλιοθήκη #include . Το πρόγραμμα είναι απλό και δείχνει σαφώς τον τρόπο διαχείρισης των πείρων μέσω των αιτημάτων Web. Το πρόγραμμα αυτό είναι σε θέση να διαχειριστεί μόνο λογικά κράτη σε συμπεράσματα D1-D4 και να εμφανίσει πληροφορίες σχετικά με τον χρόνο λειτουργίας του προγράμματος ως ερώτημα δοκιμής. Εάν υπάρχει ανάγκη, μπορείτε να προσθέσετε ένα πρόγραμμα για το υπόλοιπο gpio, να "διδάξετε" για να το δώσετε στο PWM, κλπ. Στην έξοδο D4, μια μπλε λυχνία LED συνδέεται στη μονάδα ESP-12E. Μετά το μαρτύριο με τα κρεμάστρες, αποσυνδέω προσωρινά το ρελέ 4 από το D4 και στο πρόγραμμά μου τελείωσε μερικές γραμμές για αναβοσβήνει από αυτή την λυχνία LED. Ήρθα σπίτι μετά την εργασία, βλέπω - αναβοσβήνει, τότε λειτουργεί. Έλεγχος από το κινητό - λειτουργεί ακριβώς. Το πρόγραμμα εργάστηκε για 8 ημέρες χωρίς παγώνει, θα λειτουργούσε περισσότερο, αλλά έχω ένα Nodemcu, γι 'αυτό συνέχισα να το μελετάω και να εκπληρώσω το πρόγραμμα που έπρεπε να σταματήσω.

Μετά την κατάρτιση και λήψη του προγράμματος στην οθόνη Serial Port, το πρόγραμμα θα αναφέρει την κατάσταση σύνδεσης και τη διεύθυνση IP, την οποία θα λάβει η πλατφόρμα από το σημείο πρόσβασης.

Για να ελέγξετε τη μονάδα ρελέ για αυτά τα δύο προγράμματα, δημιουργήθηκε μια εφαρμογή σε κινητό με λειτουργικό σύστημα Android. Η εφαρμογή είναι πολύ απλή, δημιουργήθηκε στον εφευρέτη της εφαρμογής 2. Θα περιγράψω αργότερα την εφαρμογή της αίτησης. Πρώτον, η τρίτη έκδοση της λύσης διαχείρισης του ρελέ.

Τρίτη επιλογή συγκρότημα. Πλατφόρμα υλικολογισμικού και πρόγραμμα Android από έναν προγραμματιστή. Χρησιμοποίησα την υπηρεσία blynk. Είναι μια υπηρεσία σύννεφων για τη δημιουργία πλαισίων γραφικών και είναι κατάλληλο για ένα ευρύ φάσμα μικροϋπολογιστών και μικροελεγκτών.

Για να δημιουργήσετε το δικό σας έργο με τον έλεγχο Blynk, χρειάζεστε αρκετά: Εγκαταστήστε την εφαρμογή (διαθέσιμη για iOS και Android) ή χρησιμοποιήστε τη φόρμα Web. Αυτό θα απαιτήσει εγγραφή σε ένα βήμα - εισάγετε το ηλεκτρονικό ταχυδρομείο και τον κωδικό πρόσβασης. Το γεγονός είναι ότι το Blynk είναι μια λύση σύννεφων και χωρίς εγγραφή, οποιοσδήποτε χρήστης μπορεί να λάβει τον έλεγχο του σίδερο.

Η επιθυμία μπορεί να εγκαταστήσει τον διακομιστή τοπικά. Σε αυτή την περίπτωση, δεν απαιτείται πρόσβαση στο Διαδίκτυο.

Θα περιγράψω τη διαδικασία. Αποτελείται από δύο μέρη.

Πρώτο μέρος. Κατεβάστε το Blynk με το Google Play. Εγκαταστήστε και εκτελέστε το πρόγραμμα

  1. Πατήστε "Δημιουργία νέου έργου"
  2. Απολαύστε το όνομα του έργου και επιλέξτε Nodemcu στο πεδίο Μοντέλο υλικού. Auth Token Μάθετε από την καρδιά ή γράψτε σε ένα κομμάτι χαρτί, στείλτε τον εαυτό σας στο ταχυδρομείο. Κάντε κλικ στην επιλογή "Δημιουργία".
  3. Κάντε κλικ στο "+" στη γωνία.
  4. Επιλέξτε "Κουμπί". Καθώς επιστρέφετε ήδη την προσοχή, κάθε στοιχείο που προστέθηκε στο έργο αξίζει την ενέργεια. Από προεπιλογή, σας δίνεται το 2000. Καθώς προστίθενται τα ενεργειακά widgets, η ενέργεια θα δαπανηθεί. Εάν πρέπει να τοποθετήσετε περισσότερα widgets, θα πρέπει να αγοράσω ενέργεια για χρήματα.

  1. Έτσι εμφανίστηκε το κουμπί μας. Κάντε κλικ σε αυτό. Οι ρυθμίσεις θα ανοίξουν.
  2. Επιλέξτε το όνομα, τον κωδικό PIN στο οποίο θα ενεργήσει, η λειτουργία του κουμπιού ή του διακόπτη, το όνομα για την κατάσταση "Ενεργοποίηση" και "OFF". Η αντιστροφή του σήματος από το κουμπί δεν μπορεί να αναστραφεί. Για τα ρελέ μου: Το κουμπί είναι απενεργοποιημένο - 0 στην έξοδο, ο ρελέ είναι ενεργοποιημένος και αντίστροφος. Μπορείτε να συνταγογραφήσετε τους κανόνες λειτουργίας λογικής. Μπορείτε να εγκαταστήσετε το διακομιστή στον τοπικό υπολογιστή.
  3. Στη συνέχεια, πατήστε τα τρίγωνα στα δεξιά παραπάνω. Το πρόγραμμα πηγαίνει από τον τρόπο επεξεργασίας στην εργασία.
  4. Τα κουμπιά λειτουργούν. Το Multitouch είναι αξιοσημείωτο. Προσπάθησα να πατήσω ταυτόχρονα 6 κουμπιά. Όλα λειτουργούν (στο τηλέφωνο με περιγραφή 10 βαθμών κάνοντας κλικ).

Το δεύτερο μέρος του - Αυτό είναι το firmware nodemcu. Κατεβάστε και εγκαταστήστε τις βιβλιοθήκες Blynk https://github.com/blynkkk/blynk-library. Έναρξη Arduino IDE - Αρχείο - Δείγματα - Blynk - Blynk - BoardsAnds - ESP8266_TASTALONE.

Απολαύστε το παράδειγμα του Auth Token με ένα μυστικό χαρτί αλληλογραφίας. Και επίσης SSID το δίκτυο WiFi και την πρόσβαση με κωδικό πρόσβασης σε αυτό.

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

Δημιουργία μιας εφαρμογής Β.Εφαρμογή. Εφευρέτης.

Εφαρμογή εφαρμογών - Android Εφαρμογή οπτικής ανάπτυξης περιβάλλοντος, που απαιτεί από τις ελάχιστες γνώσεις προγραμματισμού του χρήστη. Αρχικά σχεδιασμένο στα Labs Google, μετά το κλείσιμο αυτού του εργαστηρίου μεταφέρθηκε στο Τεχνολογικό Ινστιτούτο Μασαχουσέτης. Για τον προγραμματισμό στον εφευρέτη της εφαρμογής, χρησιμοποιείται μια γραφική διεπαφή, μια οπτική γλώσσα προγραμματισμού είναι πολύ παρόμοια με τη γλώσσα γρατσουνιών και το StarLogo TNG. Για την αντιμετώπιση της σύνταξης μιας αίτησης δεν είναι τόσο δύσκολη. Δεν βρήκα χρήσιμη τεκμηρίωση στα ρωσικά, αλλά πολλά βίντεο στο YouTube.

Η υπηρεσία έχει δύο κύριες καρτέλες. Το πρώτο είναι ο "σχεδιαστής", εδώ στον οπτικό συντάκτη τοποθετείται εξαρτήματα. Η ταχύτητα ανάπτυξης διασύνδεσης είναι πολύ υψηλή λόγω μιας λειτουργίας της υπηρεσίας εφευρέτη της εφαρμογής. Πρέπει να εγκαταστήσετε την εφαρμογή Companion App Inventraon App Inventror 2 στην κινητή συσκευή. Τρέξτο. Στον τόπο επιλέξτε Σύνδεση - AI Companion. Θα δημιουργηθεί και θα εμφανιστεί στην οθόνη QR κώδικα. Στην εφαρμογή πρέπει να κάνετε κλικ στην επιλογή "Σάρωση κώδικα QR" και τον κώδικα σάρωσης. Μετά από μερικά δευτερόλεπτα, η εφαρμογή θα εμφανιστεί στην οθόνη της κινητής συσκευής. Νέα στοιχεία ή τυχόν τροποποιημένα δεδομένα κυριολεκτικά σε ένα δευτερόλεπτο καθίστανται διαθέσιμα για σάρωση σε μια κινητή συσκευή.

Στην οθόνη τοποθετούνται: Πεδίο εισόδου για την εισαγωγή της διεύθυνσης IP, το κουμπί εγκατάστασης και στείλτε το ερώτημα δοκιμής. Παρακάτω είναι το στοιχείο "WebViewer", θα εμφανιστεί σε απάντηση από τη σελίδα Nodemcu. Παρακάτω είναι 4 ομάδες δύο κουμπιών που περιλαμβάνουν και απενεργοποιήστε το ρελέ. Χρειάζεστε επίσης ένα συστατικό "tinydb", θα αποθηκεύσουμε μια μεταβλητή για να δημιουργήσετε ένα ερώτημα. Επίσης, προσθέτω ένα στοιχείο αναγνώρισης φωνής για να μπορέσω να διαχειριστείτε τα ρελέ με φωνητικές εντολές. Για να περιγράψετε τον αλγόριθμο ενέργειων όταν αναγνωρίζεται το κείμενο, δεν θα, δεδομένου ότι είναι εξαιρετικά ενοχλητικό να χρησιμοποιήσει αυτή τη λειτουργία. Πρώτα πρέπει να κάνετε κλικ στο κουμπί, τότε το παράθυρο εμφανίζεται από την Google με την επιγραφή "Μιλήστε", τότε η ομάδα προφέρεται. Και μετά το τέλος της προφοράς της ομάδας, το σύστημα αναγνώρισης περιμένει λίγο, τότε φαίνεται ότι όλα έχουν ήδη πει. Στη συνέχεια, υπάρχει μια αναγνώριση ομιλίας και η απόκριση κειμένου έρχεται. Πρέπει να συγκριθεί με τις προκαθορισμένες φράσεις. Και μόνο μετά την εκτέλεση της εντολής. Πιο εύκολο να πατήσετε το κουμπί.

Η δεύτερη καρτέλα ονομάζεται "μπλοκ". Εδώ ο σύνολο του "προγράμματος" μέρος της εφαρμογής καθορίζεται με τη μορφή μπλοκ.

Εδώ, τα μπλοκ αποτελούνται από τον αλγόριθμο εργασίας του προγράμματος. Το κύριο μέρος του αλγορίθμου βρίσκεται στο screenshot. Θα περιγράψω τι συμβαίνει εδώ.

  • Όταν το Set.Click - Όταν πατηθεί το κουμπί "SET", καλέστε τη λειτουργία IP
  • Στη συνέχεια έρχεται η ίδια η λειτουργία IP. Αποθηκεύει τη διεύθυνση IP από το πεδίο εισαγωγής στο TinyDB, προσθέτοντας "http: //" πρώτα. Στη συνέχεια, webviewer.gotourl παίρνει τη διεύθυνση από το tinydb, προσθέτει "/ test" στο τέλος και περάσει σε αυτή τη διεύθυνση. Παίρνω "http://192.168.0.1/test". Στο WebViewer, οι πληροφορίες φορτώνονται στην οθόνη ότι η δοκιμή έχει περάσει και εμφανίζεται η συνεχής λειτουργία του Nodemcu. Εάν η διεύθυνση IP εισήχθη εσφαλμένα, λαμβάνουμε ένα μήνυμα σχετικά με την ανικανότητα να ανοίξει τη σελίδα.
  • Όταν on1.click (on1 αυτό το όνομα του κουμπιού) καλεί τη λειτουργία ON1.
  • Η λειτουργία ON1 λαμβάνει τη διεύθυνση από το TinyDB, προσθέτει "/ D1 / 0" σε αυτό, αποδεικνύεται "http://192.168.0.1/d1/0" και στέλνει ένα αίτημα. Nodemcu, έχοντας λάβει αυτό το αίτημα, φαίνεται ότι πρέπει να εγκαταστήσετε το 0 στο PIN D1. Εκτελεί και στέλνει την απάντηση "Ορίστε το GPIO OK", το οποίο βλέπουμε στο WebViewer.
  • Το επόμενο κουμπί off1 κάνει το ίδιο, μόνο στο τέλος προσθέτει "/ d1 / 1". Ορίζει το λογικό 1 στο PIN D1. Το ρελέ είναι απενεργοποιημένο.

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

Αφού τα πάντα ελέγχονται και εκτελούνται, κάντε κλικ στην επιλογή Build - App (Αποθήκευση .apk στον υπολογιστή μου). Υπάρχει μια συλλογή και η λήψη μιας εφαρμογής αρχείου APK. Πρέπει να εγκατασταθεί στην κινητή συσκευή, πριν από τις ρυθμίσεις που επιτρέπουν την εγκατάσταση εφαρμογών από πηγές τρίτων. Τώρα η εφαρμογή ξεκινά ανεξάρτητα. Ο AI Companion δεν χρειάζεται πλέον και επικοινωνία με το διαδίκτυο επίσης.

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

Το Nodemcu και το κινητό τηλέφωνο συνδέονται με ένα δρομολογητή στο σπίτι. Όπου δεν υπάρχει σημείο πρόσβασης WiFi, το Nodemcu μπορεί να εκτελέσει λειτουργίες σημείου πρόσβασης για τη σύνδεση μιας κινητής συσκευής απευθείας στο ESP8266. Για παράδειγμα, η διαχείριση του ανοίγματος της πόρτας γκαράζ και η συμπερίληψη του φωτός στο γκαράζ.

ΥΣΤΕΡΟΓΡΑΦΟ. Σηκώστε το σημείο πρόσβασης στην πλατφόρμα, αλλά δεν κατάφερα. Ένα παράδειγμα έρχεται με τις βιβλιοθήκες δεν καταρτίζεται. Το Arduino IDE θα κρεμάσει απλά στη διαδικασία συλλογής. Πρέπει ακόμα να το αντιμετωπίσω.

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

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

Απαραόμενα υλικά:

  1. Κάμερα Web.
  2. TP-LINK TL-MR3020 δρομολογητή
  3. Servos SG90 - 2pcs
  4. Πλατφόρμα κάμερας Αντι-δόνηση
  5. Συσσωρευτής 7.2V 5000mAh
  6. Μπαταρία 5V 2000mAh
  7. Nano 3.0 Atmel Atmega328
  8. L298N Οδηγός κινητήρα.
  9. Καλώδια, θερμικούς σωλήνες, κόμβος USB, διόδους και πολλά άλλα.
  10. Πλατφόρμα για το γούστο σας, επέλεξα το DD1-1

Συναρμολόγηση του τέρας μας
Ρύθμιση του δρομολογητή MR3020.
Πρώτα απ 'όλα, ας ξεκινήσουμε με το δρομολογητή. Σκέφτηκα για μεγάλο χρονικό διάστημα να επιλέξω ή-wrt ή cyberwrt. Ή-WRT Flexs στις ρυθμίσεις, αλλά όλες οι επεξεργασίες και η πραγματοποίηση των ρυθμίσεών σας πραγματοποιούνται μέσω του τερματικού με τη βοήθεια του προγράμματος Putty. Και αφού φοβόμουν να δουλέψω σε αυτές τις μητέρες μέσα από το τερματικό σταθμό, επέλεξα όπου υπάρχει γραφική διασύνδεση είναι η Cyberwrt, συν αυτό είναι δυνατό να συνδεθείτε μέσω της θύρας USB.
Για να αλλάξετε το υλικολογισμικό του δρομολογητή μας, πρέπει να κατεβάσετε το firmware Cyberwrt MR3020.

Όπως κατεβάσαμε, κάντε τα εξής:

1) Ενεργοποιήστε το δρομολογητή και περιμένετε τη λήψη.
2) Πηγαίνετε και συνδεθείτε στο 192.168.0.254 (προεπιλεγμένος admin \\ admin)
3) Βρείτε στο μενού στα εργαλεία του αριστερού συστήματος, υπάρχει το σημείο αναβάθμισης του συστήματος και ρίξτε το υλικολογισμικό μέσω της φόρμας Web
4) Περιμένετε να κάνετε επανεκκίνηση (περίπου 4 λεπτά)
Ο δρομολογητής είναι έτοιμος για διαμόρφωση.

Μπορείτε να επιλέξετε μία από τις λειτουργίες: "Σημείο πρόσβασης" και "πελάτης δικτύου Wi-Fi". Για να διαμορφώσετε τη λειτουργία πελάτη:
- Επιλέξτε τη λειτουργία πελάτη δικτύου Wi-Fi
- Η διεύθυνση IP της συσκευής σας (η συσκευή σας θα είναι διαθέσιμη σε αυτή τη διεύθυνση. Προσπαθήστε να επιλέξετε μια ακατοίκητη IP. Για παράδειγμα: 192.168.1.100)
- Μάσκα υποδικτύου (255.255.255.0)
- Πύλη (για παράδειγμα, IP του δρομολογητή ή πύλης στο σπίτι σας - 192.168.1.1)
- Τύπος κρυπτογράφησης (τύπος κρυπτογράφησης που χρησιμοποιείται στο οικιακό σας δίκτυο)
- Κωδικός πρόσβασης (κωδικός πρόσβασης, πρόσβαση στο οικιακό σας δίκτυο)

Εάν κάνατε τα πάντα σωστά, τότε θα πάτε rss string στο κάτω μέρος της οθόνης.

Όταν όλα τα κέρδη, θα έχετε ενότητες τμήματος, εκεί θα βρείτε τη μονάδα "ρομπότ". Εγκαθιστώ. Ετοιμος.

Συνδέστε το L298N, Arduino Nano, MR3020, κάμερα και άλλα

Στην εικόνα, όλα φαίνονται σαφώς, αλλά μόνο σε περίπτωση που θα γράψω.

Arduino Digital 4 - σε Pine Module Pine.
Arduino Digital 5 Έξοδος - σε Pine Module Inst.
Συμπέρασμα Arduino Ψηφιακή 6 - σε μονάδα PIN IN3.
Συμπέρασμα Arduino Digital 7 - σε Pine Module Pine.
Έξοδος Arduino GND - στο τερματικό μονάδας GND.
Μονάδα GND Clem - Μείωση Μπαταρία.
7.2V τερματικό μονάδας μονάδας - συν μπαταρία.
Το Clem Clem είναι ο σωστός κινητήρας.
Μονάδα LM Clem - αριστερός κινητήρας.
USB Arduino Port - Συνδεθείτε στο Hub USB
Web Camera - Συνδεθείτε στο Hub USB
USB HUB - Συνδεθείτε με το δρομολογητή USB

Γεύματα που λένε έτσι την εφοδιαστική, που πραγματοποιούνται από τη δεύτερη μπαταρία. Χωρητικότητα 2000 MA / H 5V, για να μην κάψουμε το δρομολογητή. Ναι, και με δύο μπαταρίες, το ρομπότ λειτουργεί σταθερά. Έτσι, το συνδέουμε απλά στην υποδοχή Micro USB. Μέσω ενός κόμβου USB που συνδέεται με τη διατροφή των ριζών παίρνει ήδη την κάμερα και το Arduux μας.

Σκίτσο για arduino nano
Πρέπει να κατεβάσετε τη βιβλιοθήκη Cyberlib, προορίζεται μόνο για το ATMEGA 328.

/ * Έκδοση 1.5 WiFi Tanka σε DD1-1 Εφαρμοσμένη: 1) Κίνηση κάμερας μέσω x και y 2) Βρεφείς 3) Προβολείς 4) Ήχος όταν είναι ενεργοποιημένη * / #Include // Συνδέστε τη βιβλιοθήκη #include // Συνδέστε τη βιβλιοθήκη Servo MyServo1 Servo Drive. Σέρβο myservo2; Μακρύς προηγούμενος σωλήνας. // ανάγκη για το INT LEDSTEP \u003d 0 χρονοδιακόπτη. // μετρητής για LED int i; #define robot_go (d4_high; d5_hipe;) #define robot_bow, d6_hipe; d5_low; d6_hipe; d7_low; d6_hipe; d5_low; d6_HOW; D5_LOW; D6_HOW; D5_LOW; D6_HOW; D7_LOW; D6_HOW; D7_LOW; D6_HOW; D7_LOW; ·) #DEFINE ρομπότ_Rotation_Left (D18_HIP;) #DEFINE LED_OF (D13_HOW;) #DEFINE LED_OFF (D13_LOW;) #DEFINE HEADLAMP_ON (D18_LOW;) #DEFINE HEADLAMP_OF (D8_HAW;) #DEFINE BUZZER (TONE (11 , 494, 500).) #DEFINE Init (D4_OUT, D5_OUT, D6_OUT, D18_OUT; D13_OUT;) Uint8_T Inbyte; (myservo1.attach (9); // Σύνδεση σερβοκινητήρα στη θύρα MyServo2.Tach (10); // Σύνδεση σερβοκινητήρα στη θύρα D11_Out; D11_LOW; // Speaker Headlamp_off; // Φλόγα προεπιλεγμένους προβολείς (Uint8_T I \u003d 0; Ε<12; i++) beep(80, random(100, 2000)); //звуковое оповещение готовности робота init; // Инициализация портов //Buzzer; // Инициализация портов динамика UART_Init(57600);// Инициализация порта для связи с роутером wdt_enable (WDTO_500MS); } void loop() { unsigned long currentMillis = millis(); // Обновление таймера if (LedStep == 0 && currentMillis - previousMillis > 500) (// καθυστέρηση 0,5 δευτερόλεπτα) προηγούμενηMillis \u003d trenionmillis; // Update Led_on; // ενεργοποιήστε το LEDSTEP \u003d 1; // Step Counter) ifstep \u003d\u003d 1 && currentmillis - Προηγούμενηλία\u003e 500) (// καθυστέρηση 0.5 δευτερόλεπτα) \u003d trenionmillis, // Ενημέρωση Timer LED_OFF, // απενεργοποιήστε το LEDSTEP \u003d 2; // Step Counter) ifstep \u003d\u003d 2 && CurrentMillis - PreviOSMillis\u003e 500) (// καθυστέρηση 0,5 δευτερόλεπτα) ledstep \u003d 0; // Step) εάν (Uart_Readbyte (Inbyte)) // Exly κάτι ήρθε (switch (inbyte) // παρακολούθηση ποια εντολή ήρθε (περίπτωση "x": // osontovka robot_stop ρομπότ; break; περίπτωση "w": // μετακίνηση προς τα εμπρός robot_go; break; περίπτωση "D": // Swing προς το αριστερό robot_rotation_left; break; περίπτωση "a": // περιστρέψτε robot_rotation_right; break; περίπτωση "s": // κίνηση πίσω robot_back; break; περίπτωση "u": // servo αυξάνεται myservo1. Γράψτε (i - \u003d 20); break; περίπτωση "j": // servo μειώνεται από myservo1.Write (I + \u003d 20); σπάσιμο; περίπτωση "h": // servo περιστρέφεται αριστερά myservo2. Γράψτε (i + \u003d 20); Διακοπή; Περίπτωση "k": // servo περιστρέφεται στα δεξιά myservo2.write (i - \u003d 20). Διακοπή; Περίπτωση "y": // servo περιστρέφεται 85 myservo1.write (85). Myservo2.write (85). Διακοπή; Περίπτωση "F": // ενεργοποιήστε τους προβολείς προβολέων. Διακοπή; Περίπτωση "V": // απενεργοποιήστε τους προβολείς του κεφαλιού_off. Διακοπή; Περίπτωση "I": // Buzzer Hodk; Διακοπή; )) WDT_RESET (); )

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

Συνεχίζοντας το θέμα:
συσκευές

Γνωρίστε το online παιχνίδι Invaders Galaxy (Galaxy Invaders) - η σύγχρονη εκδοχή του καλύτερου παιχνιδιού ρετρό του είδους του Space Invaders (Space Invaders). Αυτό είναι ένα παλιό καλό ...