Sisällysluettelo:

ESP32: Johdanto: 10 vaihetta
ESP32: Johdanto: 10 vaihetta

Video: ESP32: Johdanto: 10 vaihetta

Video: ESP32: Johdanto: 10 vaihetta
Video: Управление 32 серводвигателями с PCA9685 и ESP32 - V4 2024, Heinäkuu
Anonim
Image
Image
Avainominaisuudet
Avainominaisuudet

Tässä artikkelissa aiomme puhua ESP32: sta, joka on mielestäni ESP8266: n vanhempi veli. Pidän todella tästä mikrokontrollerista, koska siinä on WiFi. Vain jotta sinulla olisi idea ennen ESP: n olemassaoloa, jos tarvitsisit Arduinon WiFi -yhteyteen, sinun olisi käytettävä 200–300 dollaria Wifi -sovittimen ostamiseen. Verkkokaapelin sovitin ei ole kovin kallis, mutta WiFi: lle se on aina ollut ja on edelleen kallista. Mutta onneksi Espressif Systems on käynnistänyt ESP: n ja ratkaisee elämämme.

Pidän ESP32: sta tässä muodossa, jossa on USB -portti. Tätä NodeMCU -mallia on helppo käsitellä, koska se ei tarvitse mitään elektroniikkaa. Liitä vain kaapeli, käynnistä laite ja ohjelmoi se. Se toimii aivan kuten Arduino.

Joka tapauksessa tänään puhumme ESP32: n yleisistä näkökohdista ja siitä, miten Arduino IDE määritetään ohjelmoimaan lisää tämän tyyppisiä laitteita. Lisäksi teemme ohjelman, joka etsii verkkoja ja näyttää kumpi on tehokkaampi.

Vaihe 1: Tärkeimmät ominaisuudet

Siru, jossa on sisäänrakennettu WiFi: vakio 802.11 B / G / N, joka toimii alueella 2,4-2,5 GHz

Toimintatavat: asiakas, tukiasema, asema + tukiasema

Kaksiytiminen mikroprosessori Tensilica Xtensa 32-bittinen LX6

Säädettävä kello 80 MHz - 240 MHz

Käyttöjännite: 3,3 VDC

Sen SRAM on 512 kt

Ominaisuudet 448 kt ROM

Ulkoinen flash -muisti on 32 Mt (4 megatavua)

Suurin virta pintaa kohden on 12mA (on suositeltavaa käyttää 6mA)

Siinä on 36 GPIO: ta

GPIO: t PWM / I2C- ja SPI -toiminnoilla

Siinä on Bluetooth v4.2 BR / EDR ja BLE (Bluetooth Low Energy)

Vaihe 2: ESP32: n, ESP8266: n ja Arduino R3: n vertailu

ESP32: n, ESP8266: n ja Arduino R3: n vertailu
ESP32: n, ESP8266: n ja Arduino R3: n vertailu

Vaihe 3: ESP32 -tyypit

ESP32 -tyypit
ESP32 -tyypit

ESP32 syntyi paljon sisaruksia. Tänään käytän ensimmäistä vasemmalta, Espressifiä, mutta on olemassa useita merkkejä ja tyyppejä, mukaan lukien sisäänrakennettu Oled-näyttö. Ero on kuitenkin sama siru: Tensilica LX6, 2 Core.

Vaihe 4: WiFi-solmuMCU-32S ESP-WROOM-32

WiFi-solmuMCU-32S ESP-WROOM-32
WiFi-solmuMCU-32S ESP-WROOM-32

Tämä on ESP -kaavio, jota käytämme kokoonpanossamme. Se on siru, jolla on paljon vetovoimaa ja voimaa. Ne ovat useita tappeja, jotka valitset, haluavatko ne toimia digitaalisena analogisena, analogisena digitaalisena vai vaikka se toimisi oven digitaalisena.

Vaihe 5: Arduino IDE: n määrittäminen (Windows)

Arduino IDE: n määrittäminen (Windows)
Arduino IDE: n määrittäminen (Windows)
Arduino IDE: n määrittäminen (Windows)
Arduino IDE: n määrittäminen (Windows)

Näin voit määrittää Arduino IDE: n, jotta voimme kääntää ESP32: lle:

1. Lataa tiedostot linkin kautta:

2. Pura tiedosto ja kopioi sen sisältö seuraavaan polkuun:

C: / Käyttäjät / [YOUR_USER_NAME] / Asiakirjat / Arduino / hardware / espressif / esp32

Huomaa: Jos hakemistoja "espressif" ja "esp32" ei ole, luo ne normaalisti.

3. Avaa hakemisto

C: / Käyttäjät / [YOUR_USER_NAME] / Dokumentit / Arduino / laitteisto / espressif / esp32 / tools

Suorita tiedosto "get.exe".

4. Kun "get.exe" on valmis, kytke ESP32, odota, kunnes ohjaimet asennetaan (tai asenna manuaalisesti).

Valmis, valitse nyt ESP32 -kortti "työkalut >> -taulusta" ja koota koodisi.

Vaihe 6: WiFi -skannaus

Tässä on esimerkki siitä, kuinka etsiä saatavilla olevia WiFi-verkkoja ESP-32: n läheltä, sekä kunkin signaalin voimakkuus. Jokaisen skannauksen yhteydessä selvitetään myös, missä verkossa on paras signaalin voimakkuus.

Vaihe 7: Koodi

Sisällytämme ensin kirjasto "WiFi.h", joten meidän on sallittava meidän työskennellä laitteemme verkkokortin kanssa.

#sisältää "WiFi.h"

Tässä on kaksi muuttujaa, joita käytetään verkon SSID: n (nimen) ja signaalin voimakkuuden tallentamiseen.

Merkkijono networkSSID = ""; int vahvuusSignaali = -9999;

Vaihe 8: Asennus

Setup () -toiminnossa määritämme laitteemme WiFi -toimintatilan. Tässä tapauksessa, koska tavoitteena on etsiä käytettävissä olevia verkkoja, määritämme laitteemme toimimaan "asemana".

void setup () {// Alusta sarja, jotta voit kirjautua sisään Serial Monitor Serial.begin (115200);

// WiFi -toimintatilan määrittäminen aseman WiFi -tilaksi (WIFI_STA); // WIFI_STA on vakio, joka ilmaisee asematilan

// katkaise yhteys tukiasemaan, jos se on jo yhdistetty WiFi.disconnect (); viive (100);

// Serial.println ("Asennus valmis");}

Vaihe 9: Silmukka

Silmukka () -toiminnossa etsimme käytettävissä olevia verkkoja ja tulostamme sitten lokin löydettyihin verkkoihin. Kunkin näistä verkoista teemme vertailun löytääksemme verkon, jolla on suurin signaalin voimakkuus.

void loop () {// Serial.println ("scan start"); // suorittaa käytettävissä olevien verkkojen skannauksen

int n = WiFi.scanNetworks ();

Serial.println ("Skannaus suoritettu");

// tarkista, oletko löytänyt verkon, jos (n == 0) {Serial.println ("No network found"); } else {networkSSID = ""; vahvuusSignaali = -9999; Sarjanjälki (n); Serial.println ("verkkoja löytyi / n"); for (int i = 0; i <n; ++ i) {// tulosta sarjavalvontaan jokainen löydetty verkko Serial.print ("SSID:"); Serial.println (WiFi. SSID (i)); // verkon nimi (ssid) Serial.print ("SIGNAL:"); Sarjajälki (WiFi. RSSI (i)); // signaalin voimakkuus Serial.print ("\ t / tCHANNEL:"); Serial.print ((int) WiFi.kanava (i)); Serial.print ("\ t / tMAC:"); Serial.print (WiFi. BSSIDstr (i)); Serial.println ("\ n / n"); if (abs (WiFi. RSSI (i)) <abs (vahvuusSignaali)) {vahvuusSignaali = WiFi. RSSI (i); networkSSID = WiFi. SSID (i); Serial.print ("VERKKO PARHAALLA SIGNAALILLA: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (vahvuusSignaali); Serial.println (")"); } viive (10); }} Serial.println ("\ n ----------------------------------------- ------------------------------------------- / n ");

// 5 sekunnin väli uuden skannauksen viiveen suorittamiseen (5000); }

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

Huomaa, että yllä olevassa lausunnossa käytämme abs (), tämä funktio ottaa luvun absoluuttisen arvon (eli ei negatiivisen). Meidän tapauksessamme teimme tämän löytääksemme pienimmän vertailun arvoista, koska signaalin voimakkuus annetaan negatiivisena lukuna ja mitä lähempänä nollaa, sitä parempi signaali.

Vaihe 10: Tiedostot

Lataa kaikki tiedostoni osoitteesta: www.fernandok.com

Suositeltava: