Isi kandungan:

Pengenalan ESP32: 10 Langkah
Pengenalan ESP32: 10 Langkah

Video: Pengenalan ESP32: 10 Langkah

Video: Pengenalan ESP32: 10 Langkah
Video: MEMULAI ESP32 TUTORIAL MENAMBAHKAN BOARD ESP32 KE IDE ARDUINO, INTAL DRIVER, DAN MEMPROGRAM ESP32 2024, November
Anonim
Image
Image
Ciri-ciri utama
Ciri-ciri utama

Dalam artikel ini kita akan membincangkan ESP32, yang saya anggap sebagai kakak ESP8266. Saya sangat menyukai mikrokontroler ini kerana mempunyai WiFi. Hanya untuk anda mempunyai idea, sebelum ESP ada, jika anda memerlukan Arduino untuk memiliki WiFi, anda harus menghabiskan antara $ 200 hingga $ 300 untuk membeli penyesuai Wifi. Penyesuai untuk kabel rangkaian tidak semahal itu, tetapi untuk WiFi selalu dan masih mahal. Tetapi untungnya, Espressif Systems telah melancarkan ESP dan menyelesaikan kehidupan kita.

Saya suka ESP32 dengan format ini yang mempunyai port USB. Skema NodeMCU ini mudah dimanipulasi kerana tidak memerlukan elektronik. Cukup pasangkan kabel, hidupkan peranti dan aturkannya. Ia berfungsi seperti Arduino.

Bagaimanapun, hari ini kita akan membincangkan aspek umum ESP32 dan cara mengkonfigurasi Arduino IDE untuk memprogram lebih banyak peranti jenis ini. Kami juga akan membuat program yang mencari rangkaian dan menunjukkan mana yang lebih kuat.

Langkah 1: Ciri Utama

Cip dengan WiFi terbina dalam: standard 802.11 B / G / N, beroperasi dalam julat 2.4 hingga 2.5GHz

Kaedah operasi: Pelanggan, Titik Akses, Stesen + Titik Akses

Mikroprosesor dwi teras Tensilica Xtensa 32-bit LX6

Jam boleh laras dari 80MHz hingga 240MHz

Voltan operasi: 3.3 VDC

Ia mempunyai SRAM 512KB

Mempunyai ROM 448KB

Ia mempunyai memori kilat luaran 32Mb (4 megabait)

Arus maksimum setiap pin ialah 12mA (disyorkan untuk menggunakan 6mA)

Ia mempunyai 36 GPIO

GPIO dengan fungsi PWM / I2C dan SPI

Ia mempunyai Bluetooth v4.2 BR / EDR dan BLE (Bluetooth Low Energy)

Langkah 2: Perbandingan Antara ESP32, ESP8266 dan Arduino R3

Perbandingan Antara ESP32, ESP8266 dan Arduino R3
Perbandingan Antara ESP32, ESP8266 dan Arduino R3

Langkah 3: Jenis ESP32

Jenis ESP32
Jenis ESP32

ESP32 dilahirkan dengan banyak adik beradik. Hari ini saya menggunakan yang pertama dari kiri, Espressif, tetapi terdapat beberapa jenama dan jenis, termasuk paparan Oled yang terbina dalam. Walau bagaimanapun, perbezaannya adalah cip yang sama: Tensilica LX6, 2 Core.

Langkah 4: Node WiFiMCU-32S ESP-WROOM-32

WiFi NodeMCU-32S ESP-WROOM-32
WiFi NodeMCU-32S ESP-WROOM-32

Ini adalah gambarajah ESP yang kami gunakan dalam pemasangan kami. Ia adalah cip yang mempunyai banyak daya tarikan dan kekuatan. Mereka adalah beberapa pin yang anda pilih sama ada mereka mahu berfungsi sebagai analog digital, analog digital atau bahkan jika ia berfungsi sebagai digital.

Langkah 5: Mengkonfigurasi Arduino IDE (Windows)

Mengkonfigurasi Arduino IDE (Windows)
Mengkonfigurasi Arduino IDE (Windows)
Mengkonfigurasi Arduino IDE (Windows)
Mengkonfigurasi Arduino IDE (Windows)

Inilah cara untuk mengkonfigurasi Arduino IDE sehingga kita dapat menyusun untuk ESP32:

1. Muat turun fail melalui pautan:

2. Buka zip fail dan salin kandungannya ke jalan berikut:

C: / Pengguna / [YOUR_USER_NAME] / Dokumen / Arduino / perkakasan / espressif / esp32

Catatan: Sekiranya tidak ada direktori "espressif" dan "esp32", buatlah secara normal.

3. Buka direktori

C: / Pengguna / [YOUR_USER_NAME] / Dokumen / Arduino / perkakasan / espressif / esp32 / alat

Jalankan fail "get.exe".

4. Setelah "get.exe" selesai, pasangkan ESP32, tunggu pemacu dipasang (atau pasang secara manual).

Sedia, sekarang pilih papan ESP32 di "alat >> papan" dan kumpulkan kod anda.

Langkah 6: Imbasan WiFi

Berikut adalah contoh cara mencari rangkaian WiFi yang tersedia berhampiran ESP-32, serta kekuatan isyarat masing-masing. Dengan setiap imbasan, kami juga akan mengetahui rangkaian mana yang mempunyai kekuatan isyarat terbaik.

Langkah 7: Kod

Mula-mula mari sertakan perpustakaan "WiFi.h", perlu untuk membolehkan kami bekerja dengan kad rangkaian peranti kami.

#masuk "WiFi.h"

Berikut adalah dua pemboleh ubah yang akan digunakan untuk menyimpan SSID (nama) rangkaian dan kekuatan isyarat.

String networkSSID = ""; int StrengthSignal = -9999;

Langkah 8: Persediaan

Dalam fungsi setup (), kita akan menentukan mod tingkah laku WiFi pada peranti kita. Dalam kes ini, kerana tujuannya adalah untuk mencari rangkaian yang tersedia, kami akan mengkonfigurasi peranti kami agar berfungsi sebagai "stesen".

batal persediaan () {// Memulakan Serial untuk log masuk Serial Monitor Serial.begin (115200);

// mengkonfigurasi mod operasi WiFi sebagai stesen WiFi.mode (WIFI_STA); // WIFI_STA adalah pemalar yang menunjukkan mod stesen

// putuskan sambungan dari titik akses jika sudah disambungkan WiFi.disconnect (); kelewatan (100);

// Serial.println ("Persiapan selesai");}

Langkah 9: Gelung

Dalam fungsi loop (), kita akan mencari rangkaian yang ada dan kemudian mencetak log di rangkaian yang dijumpai. Untuk setiap rangkaian ini, kami akan membuat perbandingan untuk mencari rangkaian yang mempunyai kekuatan isyarat tertinggi.

gelung kekosongan () {// Serial.println ("permulaan imbasan"); // melakukan pengimbasan rangkaian yang ada

int n = WiFi.scanNetworks ();

Serial.println ("Imbasan dilakukan");

// periksa sama ada anda telah menjumpai rangkaian jika (n == 0) {Serial.println ("Tiada rangkaian dijumpai"); } lain {networkSSID = ""; kekuatanSignal = -9999; Cetakan bersiri (n); Serial.println ("rangkaian dijumpai / n"); untuk (int i = 0; i <n; ++ i) {// mencetak pada monitor bersiri setiap rangkaian yang terdapat Serial.print ("SSID:"); Serial.println (WiFi. SSID (i)); // nama rangkaian (ssid) Serial.print ("SIGNAL:"); Serial.print (WiFi. RSSI (i)); // kekuatan isyarat Serial.print ("\ t / tCHANNEL:"); Serial.print ((int) WiFi.channel (i)); Serial.print ("\ t / tMAC:"); Serial.print (WiFi. BSSIDstr (i)); Serial.println ("\ n / n"); jika (abs (WiFi. RSSI (i)) <abs (StrengthSignal)) {StrengthSignal = WiFi. RSSI (i); networkSSID = WiFi. SSID (i); Serial.print ("RANGKAIAN DENGAN TANDA SIGNAL TERBAIK: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (StrengthSignal); Serial.println (")"); } kelewatan (10); }} Serial.println ("\ n ----------------------------------------- ------------------------------------------- / n ");

// selang 5 saat untuk melakukan penangguhan imbasan baru (5000); }

"Jika (abs (WiFi. RSSI (i))"

Perhatikan bahawa dalam pernyataan di atas kita menggunakan abs (), fungsi ini mengambil nilai mutlak (iaitu tidak negatif) nombor tersebut. Dalam kes kami, kami melakukan ini untuk mencari nilai terkecil dalam perbandingan, kerana intensiti isyarat diberikan sebagai nombor negatif dan semakin dekat dengan sifar semakin baik isyaratnya.

Langkah 10: Fail

Muat turun semua fail saya di: www.fernandok.com

Disyorkan: