Talaan ng mga Nilalaman:

Panimula sa ESP32: 10 Mga Hakbang
Panimula sa ESP32: 10 Mga Hakbang

Video: Panimula sa ESP32: 10 Mga Hakbang

Video: Panimula sa ESP32: 10 Mga Hakbang
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Nobyembre
Anonim
Image
Image
Pangunahing tampok
Pangunahing tampok

Sa artikulong ito ay pag-uusapan natin ang tungkol sa ESP32, na isinasaalang-alang ko na isang mas matandang kapatid ng ESP8266. Gusto ko talaga ang microcontroller na ito dahil mayroon itong WiFi. Para magkaroon ka lang ng ideya, bago magkaroon ang ESP, kung kailangan mo ng isang Arduino upang magkaroon ng WiFi, gagastos ka sa pagitan ng $ 200 at $ 300 upang bumili ng isang Wifi adapter. Ang adapter para sa network cable ay hindi ganoong kamahal, ngunit para sa WiFi palagi itong naging at mahal pa rin. Ngunit sa kabutihang palad, ang Espressif Systems ay naglunsad ng ESP at nalulutas ang aming buhay.

Gusto ko ng ESP32 sa format na ito na may isang USB port. Madaling manipulahin ang scheme na NodeMCU na ito sapagkat hindi ito nangangailangan ng anumang electronics. I-plug lamang ang cable, i-power ang aparato at i-program ito. Gumagana ito tulad ng isang Arduino.

Gayunpaman, ngayon ay pag-uusapan natin ang tungkol sa mga pangkalahatang aspeto ng ESP32 at kung paano i-configure ang Arduino IDE upang mai-program ang mas maraming mga aparato ng uri. Gagawa rin kami ng isang programa na naghahanap sa mga network at ipinapakita kung alin ang mas malakas.

Hakbang 1: Pangunahing Mga Tampok

Chip na may built-in na WiFi: karaniwang 802.11 B / G / N, na tumatakbo sa saklaw na 2.4 hanggang 2.5GHz

Mga paraan ng pagpapatakbo: Client, Access Point, Station + Access Point

Dual core microprocessor na Tensilica Xtensa 32-bit LX6

Naaayos na orasan mula 80MHz hanggang sa 240MHz

Operating boltahe: 3.3 VDC

Mayroon itong SRAM na 512KB

Nagtatampok ng 448KB ROM

Mayroon itong panlabas na memorya ng flash na 32Mb (4 megabytes)

Ang maximum na kasalukuyang bawat pin ay 12mA (inirerekumenda na gumamit ng 6mA)

Mayroon itong 36 GPIO

Ang mga GPIO na may mga pagpapaandar ng PWM / I2C at SPI

Mayroon itong Bluetooth v4.2 BR / EDR at BLE (Bluetooth Low Energy)

Hakbang 2: Paghahambing sa Pagitan ng ESP32, ESP8266 at Arduino R3

Paghahambing sa pagitan ng ESP32, ESP8266 at Arduino R3
Paghahambing sa pagitan ng ESP32, ESP8266 at Arduino R3

Hakbang 3: Mga uri ng ESP32

Mga uri ng ESP32
Mga uri ng ESP32

Ang ESP32 ay ipinanganak na may maraming mga kapatid. Ngayon ginagamit ko ang una mula sa kaliwa, Espressif, ngunit maraming mga tatak at uri, kabilang ang built-in na display na Oled. Gayunpaman, ang mga pagkakaiba ay lahat ng parehong chip: ang Tensilica LX6, 2 Core.

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

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

Ito ang diagram ng ESP na ginagamit namin sa aming pagpupulong. Ito ay isang maliit na tilad na mayroong maraming apela at kapangyarihan. Ang mga ito ay maraming mga pin na pinili mo kung nais nilang gumana bilang digital analog, analog digital o kahit na gumana ang pinto bilang digital.

Hakbang 5: Pag-configure ng Arduino IDE (Windows)

Pag-configure ng Arduino IDE (Windows)
Pag-configure ng Arduino IDE (Windows)
Pag-configure ng Arduino IDE (Windows)
Pag-configure ng Arduino IDE (Windows)

Narito kung paano i-configure ang Arduino IDE upang makapag-ipon kami para sa ESP32:

1. I-download ang mga file sa pamamagitan ng link:

2. I-zip ang file at kopyahin ang mga nilalaman sa sumusunod na landas:

C: / Users / [HIS_USER_NAME] / Mga Dokumento / Arduino / hardware / espressif / esp32

Tandaan: Kung walang direktoryo na "espressif" at "esp32", likhain lamang ang paglikha ng mga ito.

3. Buksan ang direktoryo

C: / Mga Gumagamit / [HIS_USER_NAME] / Mga Dokumento / Arduino / hardware / espressif / esp32 / mga tool

Patakbuhin ang file na "get.exe".

4. Matapos ang "get.exe" matapos, i-plug ang ESP32, hintaying mai-install ang mga driver (o manu-manong i-install).

Handa na, pumili lamang ngayon ng board ng ESP32 sa "mga tool >> board" at ipunin ang iyong code.

Hakbang 6: WiFi Scan

Narito ang isang halimbawa ng kung paano maghanap para sa mga magagamit na mga network ng WiFi na malapit sa ESP-32, pati na rin ang lakas ng signal ng bawat isa sa kanila. Sa bawat pag-scan, malalaman din natin kung aling network ang may pinakamahusay na lakas ng signal.

Hakbang 7: Code

Isama muna natin ang library na "WiFi.h", kakailanganin kaming payagan na gumana kasama ang network card ng aming aparato.

# isama ang "WiFi.h"

Narito ang dalawang variable na magagamit upang maiimbak ang SSID (pangalan) ng network at lakas ng signal.

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

Hakbang 8: Pag-setup

Sa pag-andar ng setup (), tutukuyin namin ang mode ng pag-uugali ng WiFi ng aming aparato. Sa kasong ito, dahil ang layunin ay upang maghanap para sa mga magagamit na network, mai-configure namin ang aming aparato upang gumana bilang isang "istasyon".

void setup () {// Initialize Serial to log in Serial Monitor Serial.begin (115200);

// configuring ang mode ng pagpapatakbo ng WiFi bilang istasyon WiFi.mode (WIFI_STA); // WIFI_STA ay isang pare-pareho na nagpapahiwatig ng mode ng istasyon

// idiskonekta mula sa access point kung nakakonekta na ito sa WiFi.disconnect (); pagkaantala (100);

// Serial.println ("Tapos na ang pag-set up");}

Hakbang 9: Mag-loop

Sa pagpapaandar ng loop (), hahanapin namin ang mga magagamit na network at pagkatapos ay i-print ang log sa mga nahanap na network. Para sa bawat isa sa mga network na ito gagawin namin ang paghahambing upang mahanap ang isa na may pinakamataas na lakas ng signal.

void loop () {// Serial.println ("scan start"); // nagsasagawa ng pag-scan ng mga magagamit na network

int n = WiFi.scanNetworks ();

Serial.println ("Ginawang pag-scan");

// check kung nakakita ka ng anumang network kung (n == 0) {Serial.println ("Walang nahanap na network"); } iba pa {networkSSID = ""; lakasSignal = -9999; Serial.print (n); Serial.println ("nahanap ang mga network / n"); para sa (int i = 0; i <n; ++ i) {// print sa serial monitor bawat isa sa mga network na natagpuan Serial.print ("SSID:"); Serial.println (WiFi. SSID (i)); // network name (ssid) Serial.print ("SIGNAL:"); Serial.print (WiFi. RSSI (i)); // lakas ng signal Serial.print ("\ t / tCHANNEL:"); Serial.print ((int) WiFi.channel (i)); Serial.print ("\ t / tMAC:"); Serial.print (WiFi. BSSIDstr (i)); Serial.println ("\ n / n"); kung (abs (WiFi. RSSI (i)) <abs (lakasSignal)) {lakasSignal = WiFi. RSSI (i); networkSSID = WiFi. SSID (i); Serial.print ("NETWORK WITH THE BEST SIGNAL FOUND: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (lakasSignal); Serial.println (")"); } pagkaantala (10); }} Serial.println ("\ n ------------------------------------- ------------------------------------------- / n ");

// agwat ng 5 segundo upang maisagawa ang isang bagong pagkaantala sa pag-scan (5000); }

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

Tandaan na sa pahayag sa itaas ay gumagamit kami ng abs (), ang pagpapaandar na ito ay tumatagal ng ganap na halaga (ibig sabihin hindi negatibo) ng numero. Sa aming kaso ginawa namin ito upang makahanap ng pinakamaliit na mga halaga sa paghahambing, dahil ang lakas ng signal ay ibinibigay bilang isang negatibong numero at mas malapit sa zero ang mas mahusay na signal.

Hakbang 10: Mga File

I-download ang lahat ng aking mga file sa: www.fernandok.com

Inirerekumendang: