Obsah:

Úvod do ESP32: 10 krokov
Úvod do ESP32: 10 krokov

Video: Úvod do ESP32: 10 krokov

Video: Úvod do ESP32: 10 krokov
Video: Управляем адресными светодиодами на ESP32, прошивка WLED, применение в Home Assistant 2024, November
Anonim
Image
Image
Kľúčové vlastnosti
Kľúčové vlastnosti

V tomto článku budeme hovoriť o ESP32, ktorý považujem za staršieho brata ESP8266. Tento mikrokontrolér sa mi veľmi páči, pretože má WiFi. Aby ste mali predstavu, skôr ako bude existovať ESP, ak by ste na Arduino potrebovali WiFi, na nákup adaptéra Wifi by ste museli vynaložiť 200 až 300 dolárov. Adaptér pre sieťový kábel nie je taký drahý, ale pre WiFi vždy bol a stále je drahý. Našťastie Espressif Systems spustil ESP a rieši naše životy.

Páči sa mi ESP32 s týmto formátom, ktorý má port USB. S touto schémou NodeMCU sa ľahko manipuluje, pretože nepotrebuje žiadnu elektroniku. Stačí zapojiť kábel, napájať zariadenie a naprogramovať ho. Funguje to rovnako ako Arduino.

Každopádne, dnes budeme hovoriť o všeobecných aspektoch ESP32 a o tom, ako nakonfigurovať Arduino IDE na programovanie viacerých zariadení tohto typu. Tiež vytvoríme program, ktorý prehľadá siete a ukáže, ktorá je výkonnejšia.

Krok 1: Kľúčové vlastnosti

Čip so vstavaným WiFi: štandard 802.11 B / G / N, pracujúci v rozsahu 2,4 až 2,5 GHz

Prevádzkové režimy: klient, prístupový bod, stanica + prístupový bod

Dvojjadrový mikroprocesor Tensilica Xtensa 32-bitový LX6

Nastaviteľné hodiny od 80 MHz do 240 MHz

Prevádzkové napätie: 3,3 VDC

Má pamäť SRAM 512 kB

Obsahuje 448 kB ROM

Má externú flash pamäť 32 MB (4 megabajty)

Maximálny prúd na pin je 12mA (odporúča sa použiť 6mA)

Má 36 GPIO

GPIO s funkciami PWM / I2C a SPI

Má Bluetooth v4.2 BR / EDR a BLE (Bluetooth Low Energy)

Krok 2: Porovnanie medzi ESP32, ESP8266 a Arduino R3

Porovnanie medzi ESP32, ESP8266 a Arduino R3
Porovnanie medzi ESP32, ESP8266 a Arduino R3

Krok 3: Typy ESP32

Typy ESP32
Typy ESP32

ESP32 sa narodil s mnohými súrodencami. Dnes používam prvý zľava, Espressif, ale existuje niekoľko značiek a typov, vrátane vstavaného displeja Oled. Rozdiely sú však všetky rovnaké: Tensilica LX6, 2 jadrá.

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

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

Toto je diagram ESP, ktorý používame v našej zostave. Je to čip, ktorý má veľa príťažlivosti a sily. Existuje niekoľko kolíkov, ktoré si vyberiete, či chcú fungovať ako digitálne analógové, analógové digitálne alebo dokonca, ak dvere fungujú ako digitálne.

Krok 5: Konfigurácia Arduino IDE (Windows)

Konfigurácia Arduino IDE (Windows)
Konfigurácia Arduino IDE (Windows)
Konfigurácia Arduino IDE (Windows)
Konfigurácia Arduino IDE (Windows)

Tu je návod, ako nakonfigurovať Arduino IDE, aby sme mohli kompilovať pre ESP32:

1. Stiahnite si súbory pomocou odkazu:

2. Rozbaľte súbor a skopírujte obsah na nasledujúcu cestu:

C: / Používatelia / [YOUR_USER_NAME] / Dokumenty / Arduino / hardvér / espressif / esp32

Poznámka: Ak neexistuje adresár „espressif“a „esp32“, vytvorte ich normálne.

3. Otvorte adresár

C: / Používatelia / [YOUR_USER_NAME] / Dokumenty / Arduino / hardvér / espressif / esp32 / nástroje

Spustite súbor "get.exe".

4. Po dokončení postupu „get.exe“zapojte ESP32 a počkajte, kým sa nainštalujú ovládače (alebo sa nainštalujú ručne).

Pripravte sa, teraz stačí vybrať dosku „ESP32“v „paneli nástrojov>“a zostaviť kód.

Krok 6: Skenovanie WiFi

Tu je príklad toho, ako hľadať dostupné siete WiFi v blízkosti ESP-32, a tiež silu signálu každej z nich. Pri každom skenovaní tiež zistíme, ktorá sieť má najlepšiu silu signálu.

Krok 7: Kód

Najprv zahrňme knižnicu „WiFi.h“, bude potrebné, aby sme mohli pracovať so sieťovou kartou nášho zariadenia.

#include "WiFi.h"

Tu sú dve premenné, ktoré budú použité na uloženie SSID (názvu) a sily signálu siete.

Reťazec networkSSID = ""; int strongSignal = -9999;

Krok 8: Nastavenie

Vo funkcii setup () definujeme režim správania sa WiFi nášho zariadenia. V tomto prípade, pretože cieľom je vyhľadať dostupné siete, nakonfigurujeme naše zariadenie tak, aby fungovalo ako „stanica“.

void setup () {// Inicializácia Serial na prihlásenie Serial Monitor Serial.begin (115200);

// konfigurácia režimu prevádzky WiFi ako režimu WiFi.mode (WIFI_STA); // WIFI_STA je konštanta indikujúca režim stanice

// odpojenie od prístupového bodu, ak je už pripojený WiFi.disconnect (); oneskorenie (100);

// Serial.println ("Nastavenie dokončené");}

Krok 9: Slučka

Vo funkcii loop () vyhľadáme dostupné siete a potom protokol v nájdených sieťach vytlačíme. Pre každú z týchto sietí vykonáme porovnanie, aby sme našli tú s najvyššou silou signálu.

void loop () {// Serial.println ("spustenie skenovania"); // vykoná skenovanie dostupných sietí

int n = WiFi.scanNetworks ();

Serial.println ("Vykonané skenovanie");

// skontrolujte, či ste našli nejakú sieť if (n == 0) {Serial.println ("Nenašla sa žiadna sieť"); } else {networkSSID = ""; silaSignál = -9999; Serial.print (n); Serial.println ("nájdené siete / n"); for (int i = 0; i <n; ++ i) {// tlač na sériovom monitore každú zo nájdených sietí Serial.print ("SSID:"); Serial.println (WiFi. SSID (i)); // názov siete (ssid) Serial.print ("SIGNAL:"); Serial.print (WiFi. RSSI (i)); // sila signálu 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 (strongSignal)) {strongSignal = WiFi. RSSI (i); networkSSID = WiFi. SSID (i); Serial.print ("SIEŤ S NAJLEPŠÍM ZOZNAMOM SIGNÁLU: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (strongSignal); Serial.println (")"); } oneskorenie (10); }} Serial.println ("\ n ----------------------------------------- ------------------------------------------- / n ");

// interval 5 sekúnd na vykonanie nového oneskorenia skenovania (5 000); }

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

Všimnite si toho, že vo vyššie uvedenom výroku používame abs (), táto funkcia preberá absolútnu hodnotu (tj. Nie záporné) čísla. V našom prípade sme to urobili, aby sme našli najmenšiu z hodnôt v porovnaní, pretože intenzita signálu je daná ako záporné číslo a čím bližšie k nule, tým lepší signál.

Krok 10: Súbory

Stiahnite si všetky moje súbory na: www.fernandok.com

Odporúča: