Πίνακας περιεχομένων:
- Βήμα 1: Βασικά χαρακτηριστικά
- Βήμα 2: Σύγκριση μεταξύ ESP32, ESP8266 και Arduino R3
- Βήμα 3: Τύποι ESP32
- Βήμα 4: WiFi NodeMCU-32S ESP-WROOM-32
- Βήμα 5: Διαμόρφωση Arduino IDE (Windows)
- Βήμα 6: Σάρωση WiFi
- Βήμα 7: Κωδικός
- Βήμα 8: Ρύθμιση
- Βήμα 9: Βρόχος
- Βήμα 10: Αρχεία
Βίντεο: Εισαγωγή στο ESP32: 10 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Σε αυτό το άρθρο πρόκειται να μιλήσουμε για το ESP32, το οποίο θεωρώ ότι είναι μεγαλύτερος αδελφός του ESP8266. Μου αρέσει πολύ αυτός ο μικροελεγκτής γιατί έχει WiFi. Για να έχετε μια ιδέα, πριν υπάρξει το ESP, εάν χρειάζεστε ένα Arduino για να έχετε WiFi, θα πρέπει να ξοδέψετε μεταξύ $ 200 και $ 300 για να αγοράσετε έναν προσαρμογέα Wifi. Ο προσαρμογέας για καλώδιο δικτύου δεν είναι τόσο ακριβός, αλλά για WiFi ήταν πάντα και εξακολουθεί να είναι ακριβός. Ευτυχώς όμως, η Espressif Systems ξεκίνησε το ESP και λύνει τη ζωή μας.
Μου αρέσει το ESP32 με αυτήν τη μορφή που διαθέτει θύρα USB. Αυτό το σχήμα NodeMCU είναι εύκολο να χειριστεί επειδή δεν χρειάζεται ηλεκτρονικά. Απλώς συνδέστε το καλώδιο, τροφοδοτήστε τη συσκευή και προγραμματίστε την. Λειτουργεί ακριβώς όπως ένα Arduino.
Τέλος πάντων, σήμερα θα μιλήσουμε για τις γενικές πτυχές του ESP32 και πώς να διαμορφώσετε το Arduino IDE για να προγραμματίσετε περισσότερες συσκευές του τύπου. Επίσης θα φτιάξουμε ένα πρόγραμμα που ψάχνει στα δίκτυα και δείχνει ποιο είναι πιο ισχυρό.
Βήμα 1: Βασικά χαρακτηριστικά
Τσιπ με ενσωματωμένο WiFi: στάνταρ 802.11 B / G / N, που λειτουργεί στην περιοχή από 2,4 έως 2,5 GHz
Τρόποι λειτουργίας: Πελάτης, Σημείο πρόσβασης, Σταθμός + Σημείο πρόσβασης
Μικροεπεξεργαστής διπλού πυρήνα Tensilica Xtensa 32-bit LX6
Ρυθμιζόμενο ρολόι από 80MHz έως 240MHz
Τάση λειτουργίας: 3,3 VDC
Έχει SRAM 512KB
Διαθέτει ROM 448KB
Διαθέτει εξωτερική μνήμη flash 32Mb (4 megabyte)
Το μέγιστο ρεύμα ανά ακίδα είναι 12mA (συνιστάται η χρήση 6mA)
Διαθέτει 36 GPIO
GPIO με λειτουργίες PWM / I2C και SPI
Διαθέτει Bluetooth v4.2 BR / EDR και BLE (Bluetooth Low Energy)
Βήμα 2: Σύγκριση μεταξύ ESP32, ESP8266 και Arduino R3
Βήμα 3: Τύποι ESP32
Το ESP32 γεννήθηκε με πολλά αδέλφια. Σήμερα χρησιμοποιώ το πρώτο από τα αριστερά, το Espressif, αλλά υπάρχουν διάφορες μάρκες και τύποι, συμπεριλαμβανομένης της ενσωματωμένης οθόνης Oled. Ωστόσο, όλες οι διαφορές είναι το ίδιο τσιπ: το Tensilica LX6, 2 Core.
Βήμα 4: WiFi NodeMCU-32S ESP-WROOM-32
Αυτό είναι το διάγραμμα του ESP που χρησιμοποιούμε στη συναρμολόγησή μας. Είναι ένα τσιπ που έχει πολλή έλξη και δύναμη. Είναι αρκετές καρφίτσες που επιλέγετε αν θέλουν να λειτουργούν ως ψηφιακές αναλογικές, αναλογικές ψηφιακές ή ακόμα και αν λειτουργούν ως ψηφιακές πόρτες.
Βήμα 5: Διαμόρφωση Arduino IDE (Windows)
Δείτε πώς μπορείτε να διαμορφώσετε το Arduino IDE ώστε να μπορούμε να μεταγλωττίσουμε το ESP32:
1. Κατεβάστε τα αρχεία μέσω του συνδέσμου:
2. Αποσυμπιέστε το αρχείο και αντιγράψτε το περιεχόμενο στην ακόλουθη διαδρομή:
C: / Users / [YOUR_USER_NAME] / Documents / Arduino / hardware / espressif / esp32
Σημείωση: Εάν δεν υπάρχει κατάλογος "espressif" και "esp32", απλώς δημιουργήστε τους κανονικά.
3. Ανοίξτε τον κατάλογο
C: / Users / [YOUR_USER_NAME] / Documents / Arduino / hardware / espressif / esp32 / tools
Εκτελέστε το αρχείο "get.exe".
4. Αφού τελειώσει το "get.exe", συνδέστε το ESP32, περιμένετε να εγκατασταθούν τα προγράμματα οδήγησης (ή εγκαταστήστε μη αυτόματα).
Έτοιμοι, τώρα απλώς επιλέξτε τον πίνακα ESP32 στο "εργαλεία >> πίνακα" και μεταγλωττίστε τον κωδικό σας.
Βήμα 6: Σάρωση WiFi
Ακολουθεί ένα παράδειγμα του τρόπου αναζήτησης διαθέσιμων δικτύων WiFi κοντά στο ESP-32, καθώς και η ισχύς του σήματος καθενός από αυτά. Με κάθε σάρωση, θα μάθουμε επίσης ποιο δίκτυο έχει την καλύτερη ισχύ σήματος.
Βήμα 7: Κωδικός
Αρχικά ας συμπεριλάβουμε τη βιβλιοθήκη "WiFi.h", θα είναι απαραίτητο να μας επιτρέψει να δουλέψουμε με την κάρτα δικτύου της συσκευής μας.
#include "WiFi.h"
Ακολουθούν δύο μεταβλητές που θα χρησιμοποιηθούν για την αποθήκευση του SSID (ονόματος) και της ισχύος του σήματος του δικτύου.
String networkSSID = ""; int powerSignal = -9999;
Βήμα 8: Ρύθμιση
Στη συνάρτηση setup (), θα ορίσουμε τη λειτουργία συμπεριφοράς WiFi της συσκευής μας. Σε αυτή την περίπτωση, δεδομένου ότι ο στόχος είναι η αναζήτηση διαθέσιμων δικτύων, θα διαμορφώσουμε τη συσκευή μας να λειτουργεί ως "σταθμός".
void setup () {// Initialize Serial για σύνδεση στο Serial Monitor Serial.begin (115200);
// διαμόρφωση του τρόπου λειτουργίας του WiFi ως σταθμού WiFi.mode (WIFI_STA); // WIFI_STA είναι μια σταθερά που υποδεικνύει τη λειτουργία του σταθμού
// αποσυνδέστε από το σημείο πρόσβασης εάν είναι ήδη συνδεδεμένο WiFi.disconnect (); καθυστέρηση (100)?
// Serial.println ("Η εγκατάσταση ολοκληρώθηκε");}
Βήμα 9: Βρόχος
Στη λειτουργία βρόχου (), θα αναζητήσουμε τα διαθέσιμα δίκτυα και στη συνέχεια θα εκτυπώσουμε το αρχείο καταγραφής στα δίκτυα που βρέθηκαν. Για καθένα από αυτά τα δίκτυα θα κάνουμε τη σύγκριση για να βρούμε αυτό με την υψηλότερη ισχύ σήματος.
void loop () {// Serial.println ("έναρξη σάρωσης"); // εκτελεί τη σάρωση των διαθέσιμων δικτύων
int n = WiFi.scanNetworks ();
Serial.println ("Εκτέλεση σάρωσης");
// ελέγξτε αν έχετε βρει κάποιο δίκτυο εάν (n == 0) {Serial.println ("Δεν βρέθηκε δίκτυο"); } else {networkSSID = ""; forceSignal = -9999; Serial.print (n); Serial.println ("βρέθηκαν δίκτυα / n"); για (int i = 0; i <n; ++ i) {// εκτύπωση σε σειριακή οθόνη καθένα από τα δίκτυα που βρέθηκαν Serial.print ("SSID:"); Serial.println (WiFi. SSID (i)); // όνομα δικτύου (ssid) Serial.print ("SIGNAL:"); Serial.print (WiFi. RSSI (i)); // ισχύς σήματος Serial.print ("\ t / tCHANNEL:"); Serial.print ((int) WiFi.channel (i)); Serial.print ("\ t / tMAC:"); Serial.print (WiFi. BSSIDstr (i)); Serial.println ("\ n / n"); if (abs (WiFi. RSSI (i)) <abs (powerSignal)) {powerSignal = WiFi. RSSI (i); networkSSID = WiFi. SSID (i); Serial.print ("ΔΙΚΤΥΟ ΜΕ ΤΟ ΚΑΛΥΤΕΡΟ ΣΗΜΑ: Βρέθηκε: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (forceSignal); Serial.println (")"); } καθυστέρηση (10); }} Serial.println ("\ n ----------------------------------------- ---------------------------------------------- / \ n ");
// διάστημα 5 δευτερολέπτων για την εκτέλεση νέας καθυστέρησης σάρωσης (5000). }
"Εάν (abs (WiFi. RSSI (i))"
Σημειώστε ότι στην παραπάνω πρόταση χρησιμοποιούμε abs (), αυτή η συνάρτηση παίρνει την απόλυτη τιμή (δηλαδή όχι αρνητική) του αριθμού. Στην περίπτωσή μας το κάναμε αυτό για να βρούμε τη μικρότερη από τις τιμές στη σύγκριση, επειδή η ένταση του σήματος δίνεται ως αρνητικός αριθμός και όσο πιο κοντά στο μηδέν τόσο καλύτερο το σήμα.
Βήμα 10: Αρχεία
Λήψη όλων των αρχείων μου στη διεύθυνση: www.fernandok.com
Συνιστάται:
Εισαγωγή στο Arduino: 18 βήματα
Εισαγωγή στο Arduino: Έχετε αναρωτηθεί ποτέ να φτιάξετε τις δικές σας συσκευές, όπως μετεωρολογικό σταθμό, ταμπλό αυτοκινήτου για παρακολούθηση καυσίμων, ταχύτητα και εντοπισμό θέσης ή έλεγχο των οικιακών συσκευών σας που ελέγχονται από smartphone ή έχετε αναρωτηθεί ποτέ για την κατασκευή εξελιγμένων
Εισαγωγή στο GarageBand: 9 βήματα
Εισαγωγή στο GarageBand: Το GarageBand είναι μια πλατφόρμα στην οποία μπορείτε να δημιουργήσετε μουσική. Μπορείτε να κάνετε σχεδόν τα πάντα σε αυτήν την πλατφόρμα, είτε πρόκειται να δημιουργήσετε τη μουσική των ονείρων σας είτε πρόκειται να αναπαράγετε ένα κομμάτι μουσικής που σας αρέσει. Αλλά δεν είναι εύκολο ούτε από τις δύο πλευρές. Γι ’αυτό είμαι εδώ
Εισαγωγή στο Visuino - Visuino για αρχάριους .: 6 βήματα
Εισαγωγή στο Visuino | Visuino for Beginners .: Σε αυτό το άρθρο θέλω να μιλήσω για το Visuino, το οποίο είναι ένα άλλο γραφικό λογισμικό προγραμματισμού για Arduino και παρόμοιους μικροελεγκτές. Εάν είστε ηλεκτρονικός χομπίστας που θέλει να μπει στον κόσμο του Arduino, αλλά δεν έχει προηγούμενη γνώση προγραμματισμού
Εισαγωγή στο Arduino: 15 βήματα (με εικόνες)
Εισαγωγή στο Arduino: Το Arduino είναι ένας πίνακας ανάπτυξης μικροελεγκτών ανοιχτού κώδικα. Σε απλά αγγλικά, μπορείτε να χρησιμοποιήσετε το Arduino για να διαβάσετε αισθητήρες και να ελέγξετε πράγματα όπως κινητήρες και φώτα. Αυτό σας επιτρέπει να ανεβάζετε προγράμματα σε αυτόν τον πίνακα τα οποία μπορούν στη συνέχεια να αλληλεπιδρούν με πράγματα
Εισαγωγή στο IOTSPT.com: 7 βήματα
Εισαγωγή στο IOTSPT.com: Το IOTSPT.com είναι ένα δίκτυο IoT. Το οποίο χρησιμοποιείται για τη σύνδεση υλικού με το Διαδίκτυο. Αυτό είναι ειδικά σχεδιασμένο για μονάδες ESP8266. Οι προγραμματιστές έχουν επίσης δημιουργήσει API για προγραμματιστές για ενσωμάτωση υλικού με άλλο λογισμικό. Η ομάδα του IOTSPT δημιούργησε