INHOUDSOPGAWE:

Inleiding tot ESP32: 10 stappe
Inleiding tot ESP32: 10 stappe

Video: Inleiding tot ESP32: 10 stappe

Video: Inleiding tot ESP32: 10 stappe
Video: ESP32 Tutorial 5 - LED Fade, control brightness of an LED -ESP32 IoT Learnig kit 2024, November
Anonim
Image
Image
Belangrike kenmerke
Belangrike kenmerke

In hierdie artikel gaan ons praat oor ESP32, wat ek as 'n ouer broer van ESP8266 beskou. Ek hou baie van hierdie mikrobeheerder omdat dit WiFi het. Net sodat u 'n idee het, voordat ESP bestaan, as u 'n Arduino benodig om WiFi te hê, moet u tussen $ 200 en $ 300 spandeer om 'n Wifi -adapter te koop. Die adapter vir die netwerkkabel is nie so duur nie, maar vir WiFi was dit nog altyd duur en is dit nog steeds duur. Maar gelukkig het Espressif Systems ESP geloods en ons lewens opgelos.

Ek hou van ESP32 met hierdie formaat met 'n USB -poort. Hierdie NodeMCU -skema is maklik om te manipuleer omdat dit geen elektronika nodig het nie. Sluit net die kabel aan, voer die toestel aan en programmeer dit. Dit werk net soos 'n Arduino.

In elk geval, vandag sal ons praat oor die algemene aspekte van ESP32 en hoe om die Arduino IDE op te stel om meer toestelle van die tipe te programmeer. Ons maak ook 'n program wat die netwerke deursoek en wys watter een die kragtigste is.

Stap 1: Belangrike kenmerke

Chip met ingeboude WiFi: standaard 802.11 B / G / N, werk in die reeks van 2,4 tot 2,5 GHz

Werkingswyses: kliënt, toegangspunt, stasie + toegangspunt

Dubbelkern-mikroverwerker Tensilica Xtensa 32-bis LX6

Verstelbare klok van 80MHz tot 240MHz

Bedryfspanning: 3.3 VDC

Dit het 'n SRAM van 512 KB

Beskik oor 448KB ROM

Dit het 'n eksterne flitsgeheue van 32Mb (4 megabyte)

Maksimum stroom per pen is 12mA (dit word aanbeveel om 6mA te gebruik)

Dit het 36 GPIO's

GPIO's met PWM / I2C en SPI funksies

Dit het Bluetooth v4.2 BR / EDR en BLE (Bluetooth Low Energy)

Stap 2: Vergelyking tussen ESP32, ESP8266 en Arduino R3

Vergelyking tussen ESP32, ESP8266 en Arduino R3
Vergelyking tussen ESP32, ESP8266 en Arduino R3

Stap 3: Tipes ESP32

Tipes ESP32
Tipes ESP32

ESP32 is gebore met baie broers en susters. Vandag gebruik ek die eerste van links, Espressif, maar daar is verskillende handelsmerke en tipes, waaronder ingeboude Oled-skerm. Die verskille is egter almal dieselfde chip: die Tensilica LX6, 2 Core.

Stap 4: WiFi NodeMCU-32S ESP-WROOM-32

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

Dit is die diagram van ESP wat ons in ons samestelling gebruik. Dit is 'n chip met baie aantrekkingskrag en krag. Dit is 'n paar penne wat u kies, of hulle as digitaal analoog, analoog digitaal wil werk, of selfs as dit die deur as digitaal werk.

Stap 5: Configureer Arduino IDE (Windows)

Konfigurasie van Arduino IDE (Windows)
Konfigurasie van Arduino IDE (Windows)
Konfigurasie van Arduino IDE (Windows)
Konfigurasie van Arduino IDE (Windows)

Hier is hoe u die Arduino IDE kan konfigureer sodat ons vir ESP32 kan saamstel:

1. Laai die lêers af via die skakel:

2. Pak die lêer uit en kopieer die inhoud na die volgende pad:

C: / Gebruikers / [YOUR_USER_NAME] / Dokumente / Arduino / hardware / espressif / esp32

Nota: as daar geen gids "espressif" en "esp32" is nie, skep dit dan normaalweg.

3. Maak die gids oop

C: / Gebruikers / [YOUR_USER_NAME] / Dokumente / Arduino / hardware / espressif / esp32 / tools

Begin die lêer "get.exe".

4. Nadat die "get.exe" klaar is, koppel die ESP32, wag totdat die bestuurders geïnstalleer is (of handmatig geïnstalleer word).

Gereed, kies nou die ESP32 -bord in die "gereedskap >> bord" en stel u kode saam.

Stap 6: WiFi -skandering

Hier is 'n voorbeeld van hoe u na beskikbare WiFi-netwerke naby die ESP-32 kan soek, sowel as die seinsterkte van elkeen. Met elke skandering sal ons ook uitvind watter netwerk die beste seinsterkte het.

Stap 7: Kode

Laat ons eers die biblioteek "WiFi.h" insluit, dit sal ons nodig hê om met die netwerkkaart van ons toestel te werk.

#sluit "WiFi.h" in

Hier is twee veranderlikes wat gebruik sal word om die SSID (naam) en seinsterkte van die netwerk te stoor.

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

Stap 8: Opstel

In die setup () -funksie definieer ons die WiFi -gedragsmodus van ons toestel. Aangesien dit in hierdie geval is om na beskikbare netwerke te soek, sal ons ons toestel opstel om as 'n 'stasie' te werk.

ongeldige opstelling () {// Initialize Serial om aan te meld Serial Monitor Serial.begin (115200);

// die werking van WiFi instel as WiFi -stasie.mode (WIFI_STA); // WIFI_STA is 'n konstante wat die stasie -modus aandui

// ontkoppel van die toegangspunt as dit reeds verbind is. WiFi -ontkoppel (); vertraging (100);

// Serial.println ("Opstelling voltooi");}

Stap 9: Lus

In die loop () -funksie sal ons na die beskikbare netwerke soek en dan die logboek in die gevindde netwerke druk. Vir elkeen van hierdie netwerke sal ons die vergelyking tref om die een met die hoogste seinsterkte te vind.

leemte -lus () {// Serial.println ("scan start"); // voer die skandering van beskikbare netwerke uit

int n = WiFi.scanNetworks ();

Serial.println ("Skandering uitgevoer");

// kyk of u 'n netwerk gevind het as (n == 0) {Serial.println ("Geen netwerk gevind nie"); } anders {networkSSID = ""; strengthSignal = -9999; Reeks.afdruk (n); Serial.println ("netwerke gevind / n"); for (int i = 0; i <n; ++ i) {// druk op seriële monitor elk van die netwerke gevind Serial.print ("SSID:"); Serial.println (WiFi. SSID (i)); // netwerknaam (ssid) Serial.print ("SIGNAAL:"); Serial.print (WiFi. RSSI (i)); // seinsterkte Serial.print ("\ t / tKANAAL:"); Serial.print ((int) WiFi.kanaal (i)); Serial.print ("\ t / tMAC:"); Serial.print (WiFi. BSSIDstr (i)); Serial.println ("\ n / n"); if (abs (WiFi. RSSI (i)) <abs (strengthSignal)) {strengthSignal = WiFi. RSSI (i); networkSSID = WiFi. SSID (i); Serial.print ("NETWERK MET DIE BESTE SIGNAAL GEVOND: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (strengthSignal); Serial.println (")"); } vertraging (10); }} Serial.println ("\ n ----------------------------------------- ------------------------------------------- / n ");

// interval van 5 sekondes om 'n nuwe scanvertraging (5000) uit te voer; }

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

Let daarop dat in die bostaande stelling abs () gebruik word, hierdie funksie die absolute waarde (dws nie negatief) van die getal neem nie. In ons geval het ons dit gedoen om die kleinste van die waardes in die vergelyking te vind, omdat die seinintensiteit as 'n negatiewe getal gegee word en hoe nader aan nul hoe beter die sein.

Stap 10: lêers

Laai al my lêers af op: www.fernandok.com

Aanbeveel: