Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Πώς λειτουργεί;
- Βήμα 2: Ποιες είναι οι κύριες λειτουργίες;
- Βήμα 3: Κατασκευή υλικού
- Βήμα 4: Λήψη του κώδικα πύλης
- Βήμα 5: Ας κάνουμε τη διαμόρφωση πύλης
- Βήμα 6: Κάντε λήψη του Παραδείγματος κώδικα Arduino
- Βήμα 7: Ας κάνουμε την πλευρά του διακομιστή
- Βήμα 8: Για να προχωρήσετε παραπέρα
Βίντεο: Serial UDP/IP Gateway για Arduino Βασισμένο στην ασπίδα ESP8266: 8 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:33
Έχω ήδη δημοσιεύσει το 2016 αυτό το διδακτικό "Πώς να φτιάξετε τη δική σας πύλη Wifi για να συνδέσετε το Arduino σας στο Δίκτυο IP". Δεδομένου ότι έκανα κάποιες βελτιώσεις κώδικα και εξακολουθώ να χρησιμοποιώ αυτήν τη λύση.
Παρ 'όλα αυτά, υπάρχουν τώρα κάποιες ασπίδες ESP8266 που επιτρέπουν να κάνετε το ίδιο χωρίς συγκόλληση, αρκεί να μην χρησιμοποιείτε πλακέτες Micro ή Nano.
Αυτό το οδηγό θα εξηγήσει πώς να χρησιμοποιήσετε αυτές τις ασπίδες ESP82 ως σειριακή πύλη UDP/IP.
Αυτό παίρνει μέρος μιας παγκόσμιας υποδομής αυτοματισμού σπιτιού, μπορείτε να ρίξετε μια ματιά εδώ
Περισσότερες πληροφορίες σχετικά με την ασπίδα με αυτό το εκπαιδευτικό
Προμήθειες
1 Arduino Mega (το καλύτερο είναι να έχετε τουλάχιστον 1 Mega για ανάπτυξη και 1 Uno για φάση τρεξίματος)
1 Rokoo ESP8266 ESP-12E UART WIFI Convertisseur
1 FTDI 3.3v
2 σύρματα σανίδων
Βήμα 1: Πώς λειτουργεί;
Το Gateway βασίζεται σε μια μονάδα ESP8266
Αυτή η μονάδα συνδέεται από τη μία πλευρά με τον σειριακό σύνδεσμο από την άλλη πλευρά στο δίκτυο IP με το Wifi.
Λειτουργεί ως μαύρο κουτί. Τα πακέτα δεδομένων που προέρχονται από τον σειριακό σύνδεσμο αποστέλλονται σε μια θύρα IP/Udp και αντίστροφα.
Απλώς πρέπει να ορίσετε τη δική σας διαμόρφωση (IP, WIFI…) μία φορά την πρώτη φορά που θα ενεργοποιήσετε την Πύλη.
Μπορεί να μεταφέρει είτε ακατέργαστα ASCII είτε δυαδικά δεδομένα (χωρίς HTTP, JSON…)
Έχει σχεδιαστεί για να συνδέει αντικείμενα με οικιακά λογισμικά που χρειάζονται γρήγορη και συχνή μεταφορά σύντομων πακέτων δεδομένων.
Βήμα 2: Ποιες είναι οι κύριες λειτουργίες;
Κυρίως είναι ένα μαύρο κουτί που μετατρέπει σειριακά δεδομένα σε πακέτο UDP και με τους δύο τρόπους.
Αλλά η πύλη μπορεί επίσης να ενεργήσει μόνος του στέλνοντας εσωτερικές πληροφορίες στον διακομιστή και λαμβάνοντας μερικές εντολές από τον διακομιστή.
Το Arduino μπορεί να στέλνει και να λαμβάνει μηνύματα προς / από διακομιστή συνδεδεμένο μέσω Internet μόνο με εκτύπωση / ανάγνωση σειριακού συνδέσμου. Δεν χρειάζεται ο προγραμματιστής Arduino να ενοχλεί το πρωτόκολλο IP.
Επιπλέον, παρέχει ένα GPIO που μπορεί να χρησιμοποιηθεί από το Arduino για να ελέγξει ότι η πύλη είναι σωστά συνδεδεμένη με το WIFI και η πύλη μπορεί αυτόματα να περιλάβει 2 διαφορετικά SSID σε περίπτωση βλάβης
Το Gateway διαθέτει 2 διαφορετικούς τρόπους λειτουργίας που επιλέγονται με τη ρύθμιση ενός GPIO
Ρύθμιση του GPIO στη γείωση και η Πύλη εισέρχεται σε λειτουργία διαμόρφωσης.
Ρύθμιση του GPIO δωρεάν και η πύλη εισέρχεται σε λειτουργία λειτουργίας πύλης.
Επιπλέον, η διαμόρφωση UDP/IP Gateway μπορεί να τροποποιηθεί εξ αποστάσεως
Βήμα 3: Κατασκευή υλικού
Πολύ λίγα πράγματα απαιτούνται
1 ESP8266 Shield - Βρήκα αυτό το UNO R3 ESP8266 Serial WiFi Shield Extend Board Module σε λιγότερο από 9 €
1 UNO που είναι ο στόχος Arduino
1 Mega που είναι το εργαλείο ανάπτυξης arduino (μπορείτε να το κάνετε χωρίς αλλά είναι αρκετά δύσκολο να διορθώσετε σφάλματα)
1 FTDI 3.3/5v για ανάπτυξη
Κάποια σύρματα
Βήμα 4: Λήψη του κώδικα πύλης
Κατά τη διάρκεια αυτού του βήματος, το Arduino χρησιμοποιείται μόνο για τροφοδοσία (με USB ή άλλη πηγή τροφοδοσίας) στην ασπίδα ESP8266
Συνδέστε το ESP8266 GPIO4 στη γείωση (για είσοδο στη λειτουργία διαμόρφωσης)
Προσέξτε να ρυθμίσετε το FTDI σε 3.3v όπως απαιτείται από την ασπίδα
Συνδέστε το FTDI στην ασπίδα (RX σε TX)
Ρυθμίστε το διακόπτη ασπίδας σε 1: απενεργοποίηση 2: απενεργοποίηση 3: σε 4: ενεργοποίηση
Συνδέστε την πλευρά USB του FTDI στον υπολογιστή σας
Επαναφέρετε την ασπίδα με το κουμπί ESP-RST
Κατεβάστε τον κωδικό Gateway εκεί στο GitHub
Ανοίξτε το Arduino IDE
- Επιλέξτε τη θύρα οθόνης FTDI
- Ανοίξτε το IDE Serial Monitor - Ρυθμίστε την ταχύτητα σε 38400
- Επιλέξτε Generic ES8266 module board
- Αναβαθμίστε το υλικολογισμικό ασπίδας με τον κωδικό πύλης
Ρυθμίστε το διακόπτη 3: απενεργοποίηση 4: απενεργοποίηση
Ανοίξτε το IDE Serial Monitor
Επαναφέρετε την ασπίδα με το κουμπί ESP-RST
Πρέπει να δείτε μηνύματα στην οθόνη που ξεκινούν με "προετοιμασία EEPROM" "Ολοκλήρωση αρχικοποίησης"….
Ρθε η ώρα να κάνετε τη διαμόρφωση
Βήμα 5: Ας κάνουμε τη διαμόρφωση πύλης
Κατά τη λήψη του κωδικού πύλης για πρώτη φορά, το ESP8266 Eeprom θα προετοιμαστεί με τις προεπιλεγμένες τιμές. Θα δείτε αυτού του είδους τα μηνύματα "set parameter: x size: yy"
Μπορείτε να βρείτε αυτές τις τιμές μέσα στον ορισμό κώδικα του paramValue. Φυσικά, μπορείτε να αλλάξετε αυτές τις προεπιλεγμένες τιμές πριν από τη λήψη του κώδικα, αλλά μπορείτε επίσης να ορίσετε τη διαμόρφωσή σας με εντολή αργότερα. Αυτό είναι καλύτερο εάν σκοπεύετε να έχετε πολλαπλές πύλες και να διατηρούν μόνο μία έκδοση κώδικα.
Χρησιμοποιήστε τη σειριακή θύρα της οθόνης για αποστολή εντολής (ορίστε σε NL και CR).
Καθώς το SSID δεν έχει οριστεί αυτήν τη στιγμή, περιμένετε "Δεν ήταν δυνατή η σύνδεση στο yoursecondssid επανάληψη: 5"
Στη συνέχεια, θα ξεκινήσει αυτόματα μια σάρωση WIFI
Είναι καιρός να ορίσετε τα SSID σας με τις ακόλουθες εντολές:
- SSID1 = yourchoice1
- PSW1 = yourpsw1
- SSID2 = yourchoice2
- PSW2 = yourpsw2
- SSID = 1 (για να επιλέξετε με ποιο SSID θα ξεκινήσετε)
- RestartWifi
Μετά από μερικά δευτερόλεπτα μπορείτε να ελέγξετε τη σύνδεση με την εντολή "ShowWifi". Πρέπει να δείτε τη διεύθυνση IP που πήρε η πύλη από το διακομιστή DNS. Εάν συμβαίνει αυτό, είναι καιρός να προχωρήσουμε περαιτέρω
It'sρθε η ώρα να ορίσετε τη διεύθυνση διακομιστή IP σας εισάγοντας τις 4 δευτερεύουσες διευθύνσεις (διακομιστής που θα εκτελέσει τον κώδικα δοκιμής Java). Για παράδειγμα:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
Με την αποστολή μιας κενής εντολής θα δείτε όλες τις υποστηριζόμενες εντολές που μπορείτε να χρησιμοποιήσετε αργότερα για να ταιριάζουν στις απαιτήσεις σας. Όλες οι τιμές παραμέτρων αποθηκεύονται στο Eeprom και χρειάζονται επανεκκίνηση για να ληφθούν υπόψη.
Αφαιρέστε το καλώδιο διαμόρφωσης
Η ασπίδα λειτουργεί τώρα ως πύλη
Βήμα 6: Κάντε λήψη του Παραδείγματος κώδικα Arduino
Κατεβάστε πρώτα τον κύριο κώδικα Arduino εκεί στο GitHub
Στη συνέχεια, κατεβάστε τον κώδικα Arduino με αυτόν τον ορισμό εντολών και αυτόν τον σειριακό κωδικό σύνδεσης στις βιβλιοθήκες σας
Στη συνέχεια, ανοίξτε τον κύριο κωδικό με ένα νέο Arduino IDE
Απενεργοποιήστε το διακόπτη ασπίδας 1 και 2 για να ελευθερώσετε τον σειριακό σύνδεσμο Arduino 0 για σύνδεση USB
Επαναφέρετε την ασπίδα
Συνδέστε τα καλώδια FTDI στο Mega Serial 2 (TX FTDI σε RX Mega και ούτω καθεξής)
Ξεκινήστε ένα νέο Arduino IDE (ή ένα εργαλείο TTY), συνδέστε το FTDI Usb και ξεκινήστε να παρακολουθείτε τον σειριακό σύνδεσμο
Ανεβάστε τον κώδικα Arduino μέσα στο Mega
Ενεργοποιήστε το διακόπτη ασπίδας 1 και 2 για να συνδέσετε τον σειριακό σύνδεσμο Arduino 0
Επαναφέρετε την ασπίδα
Πρέπει να δείτε αυτό το μήνυμα "εκκίνηση usb print" στην οθόνη
Βήμα 7: Ας κάνουμε την πλευρά του διακομιστή
Το παράδειγμα του διακομιστή είναι ένα πρόγραμμα Java που μπορείτε να κατεβάσετε εδώ στο GitHub
Απλώς εκτελέστε το και κοιτάξτε την κονσόλα Java και κοιτάξτε την οθόνη FTDI
Θα δείτε ανταλλαγές δεδομένων μεταξύ διακομιστή και Arduino
Βήμα 8: Για να προχωρήσετε παραπέρα
Αυτό το παράδειγμα κώδικα Arduino βασίζεται σε ένα μέρος πλαίσιο της υποδομής αυτοματισμού του σπιτιού μου.
Εάν ενδιαφέρεστε για αυτήν την υποδομή, ενημερώστε με. Θα δημοσιεύσω πηγές.
Εάν θέλετε απλώς να χρησιμοποιήσετε την πύλη, μπορείτε να απλοποιήσετε τον κώδικα Arduino.
Αφού δημιουργήσετε και δοκιμάσετε τον κωδικό σας σε ένα Arduino Mega, μπορείτε εύκολα να τον αντικαταστήσετε με ένα Uno!
Επιπλέον, μπορείτε να συνδέσετε ένα καλώδιο μεταξύ του Arduino GPIO 7 και του ESP8266 GPIO 5 εάν θέλετε το Arduino σας να ελέγχει τη σύνδεση Wifi
Συνιστάται:
Μια φθηνότερη ασπίδα ασύρματης σύνδεσης ESP8266 για Arduino και άλλα Micros: 6 βήματα (με εικόνες)
Μια φθηνότερη ασπίδα ασύρματης σύνδεσης ESP8266 για Arduino και άλλα Micros: Ενημέρωση: 29 Οκτωβρίου 2020 Δοκιμασμένη με βιβλιοθήκη πίνακα ESP8266 V2.7.4 - έργα Ενημέρωση: 23 Σεπτεμβρίου 2016 Μην χρησιμοποιείτε τη βιβλιοθήκη πλακέτας Arduino ESP V2.3.0 για αυτό το έργο. V2.2.0 έργα Ενημέρωση: 19 Μαΐου 2016 Η αναθεώρηση 14 αυτού του έργου αναθεωρεί τις βιβλιοθήκες και τον κώδικα που λειτουργεί
Ακόμα μια ασπίδα προγραμματιστή ISP ATTINY85 για το Arduino: 8 βήματα
Ακόμα μια άλλη ασπίδα προγραμματιστή ATP ATTINY85 για Arduino: بسم الله الرحمن الرحيم Η ATTINY85 ISP Programmer Shield έχει σχεδιαστεί για να προγραμματίζει εύκολα τους ATTiny85 μControllers. Η ασπίδα πρέπει να συνδεθεί στην πλακέτα Arduino Uno. Το Arduino Uno είναι έτοιμο να λειτουργήσει ως " In Circuit Σειριακός προγραμματιστής & quot
Σύστημα Περιβαλλοντικής Παρακολούθησης Βασισμένο στην Ενότητα OBLOQ-IoT: 4 Βήματα
Σύστημα Παρακολούθησης Περιβάλλοντος Βασισμένο στην Ενότητα OBLOQ-IoT: Αυτό το προϊόν εφαρμόζεται κυρίως σε ηλεκτρονικό εργαστήριο για την παρακολούθηση και τον έλεγχο δεικτών όπως η θερμοκρασία, η υγρασία, το φως και η σκόνη και η έγκαιρη αποστολή τους στο χώρο δεδομένων σύννεφων για επίτευξη απομακρυσμένης παρακολούθησης και ελέγχου αφυγραντήρα , καθαρισμός αέρα
Arduino Uno: Bitmap Animation στην ασπίδα οθόνης αφής ILI9341 TFT με Visuino: 12 βήματα (με εικόνες)
Arduino Uno: Bitmap Animation στο ILI9341 TFT Touchscreen Shield Shield With Visuino: Οι ασπίδες οθόνης αφής TFT βασισμένες σε ILI9341 είναι πολύ δημοφιλείς ασπίδες οθόνης χαμηλού κόστους για το Arduino. Το Visuino είχε υποστήριξη για αρκετό καιρό, αλλά ποτέ δεν είχα την ευκαιρία να γράψω ένα σεμινάριο για το πώς να τα χρησιμοποιήσω. Πρόσφατα όμως λίγοι άνθρωποι ρώτησαν
Ασπίδα πληκτρολογίου DIY LCD για Arduino Uno: 6 βήματα (με εικόνες)
DIY LCD Keypad Shield για Arduino Uno: Έψαξα πολύ για να φτιάξω μια ασπίδα πληκτρολογίου DIY LCD και δεν βρήκα καμία, έτσι έφτιαξα ένα και θέλω να το μοιραστώ μαζί σας