Orodha ya maudhui:

Utangulizi wa ESP32: Hatua 10
Utangulizi wa ESP32: Hatua 10

Video: Utangulizi wa ESP32: Hatua 10

Video: Utangulizi wa ESP32: Hatua 10
Video: ESP32 Tutorial 4 - Data types Define Variable Int, bool, char, Serial Monitor-ESP32 IoT Learnig kit 2024, Julai
Anonim
Image
Image
Makala muhimu
Makala muhimu

Katika kifungu hiki tutazungumza juu ya ESP32, ambayo nadhani ni ndugu mkubwa wa ESP8266. Ninapenda sana mdhibiti mdogo huyu kwa sababu ana WiFi. Kwa hivyo una wazo, kabla ya ESP kuwepo, ikiwa unahitaji Arduino kuwa na WiFi, itabidi utumie kati ya $ 200 na $ 300 kununua adapta ya Wifi. Adapta ya kebo ya mtandao sio ghali sana, lakini kwa WiFi imekuwa kila wakati na bado ni ghali. Lakini kwa bahati nzuri, Espressif Systems imezindua ESP na inasuluhisha maisha yetu.

Ninapenda ESP32 na fomati hii ambayo ina bandari ya USB. Mpango huu wa NodeMCU ni rahisi kuendesha kwa sababu hauitaji umeme wowote. Ingiza tu kebo, weka nguvu kifaa na uipange. Inafanya kazi kama Arduino.

Kwa hivyo, leo tutazungumza juu ya mambo ya jumla ya ESP32 na jinsi ya kusanidi IDE ya Arduino kupanga vifaa zaidi vya aina hiyo. Pia tutafanya programu ambayo inatafuta mitandao na inaonyesha ni ipi iliyo na nguvu zaidi.

Hatua ya 1: Vipengele muhimu

Chip na WiFi iliyojengwa: kiwango cha 802.11 B / G / N, kinachofanya kazi kwa kiwango cha 2.4 hadi 2.5GHz

Njia za operesheni: Mteja, Kituo cha Ufikiaji, Kituo na Kituo cha Ufikiaji

Microprocessor ya msingi mbili Tensilica Xtensa 32-bit LX6

Saa inayoweza kurekebishwa kutoka 80MHz hadi 240MHz

Voltage inayofanya kazi: 3.3 VDC

Ina SRAM ya 512KB

Makala 448KB ROM

Inayo kumbukumbu ndogo ya nje ya 32Mb (megabytes 4)

Upeo wa sasa kwa kila pini ni 12mA (inashauriwa kutumia 6mA)

Ina 36 GPIOs

GPIOs na kazi za PWM / I2C na SPI

Inayo Bluetooth v4.2 BR / EDR na BLE (Bluetooth Low Energy)

Hatua ya 2: Kulinganisha kati ya ESP32, ESP8266 na Arduino R3

Kulinganisha kati ya ESP32, ESP8266 na Arduino R3
Kulinganisha kati ya ESP32, ESP8266 na Arduino R3

Hatua ya 3: Aina za ESP32

Aina za ESP32
Aina za ESP32

ESP32 alizaliwa na ndugu wengi. Leo ninatumia ya kwanza kutoka kushoto, Espressif, lakini kuna chapa na aina kadhaa, pamoja na onyesho la Oled lililojengwa. Walakini, tofauti zote ni chip sawa: Tensilica LX6, 2 Core.

Hatua ya 4: WiFi NodeMCU-32S ESP-WROOM-32

Node ya WiFiMCU-32S ESP-WROOM-32
Node ya WiFiMCU-32S ESP-WROOM-32

Huu ndio mchoro wa ESP ambao tunatumia katika mkutano wetu. Ni chip ambayo ina rufaa nyingi na nguvu. Ni pini kadhaa unazochagua ikiwa wanataka kufanya kazi kama analog ya dijiti, dijiti ya analog au hata ikiwa inafanya kazi kama mlango kama dijiti.

Hatua ya 5: Kusanidi Arduino IDE (Windows)

Kusanidi Arduino IDE (Windows)
Kusanidi Arduino IDE (Windows)
Kusanidi Arduino IDE (Windows)
Kusanidi Arduino IDE (Windows)

Hapa kuna jinsi ya kusanidi IDE ya Arduino ili tuweze kukusanya ESP32:

1. Pakua faili kupitia kiunga:

2. Fungua faili na unakili yaliyomo kwa njia ifuatayo:

C: / Watumiaji / [YOUR_USER_NAME] / Nyaraka / Arduino / vifaa / espressif / esp32

Kumbuka: Ikiwa hakuna saraka "espressif" na "esp32", ziunde tu kawaida.

3. Fungua saraka

C: / Watumiaji / [YOUR_USER_NAME] / Nyaraka / Arduino / vifaa / espressif / esp32 / zana

Endesha faili "get.exe".

4. Baada ya kumaliza "get.exe", ingiza ESP32, subiri madereva kusakinishwa (au kusanikisha kwa mikono).

Tayari, sasa chagua bodi ya ESP32 katika "zana >> bodi" na ujumuishe nambari yako.

Hatua ya 6: Scan ya WiFi

Hapa kuna mfano wa jinsi ya kutafuta mitandao inayopatikana ya WiFi karibu na ESP-32, pamoja na nguvu ya ishara ya kila mmoja wao. Kwa kila skana, tutapata pia ni mtandao gani una nguvu bora ya ishara.

Hatua ya 7: Kanuni

Kwanza hebu tujumuishe maktaba "WiFi.h", itakuwa muhimu kuturuhusu kufanya kazi na kadi ya mtandao ya kifaa chetu.

# pamoja na "WiFi.h"

Hapa kuna anuwai mbili ambazo zitatumika kuhifadhi SSID ya mtandao (jina) na nguvu ya ishara.

Kamba ya mtandaoSSID = ""; int nguvuSignal = -9999;

Hatua ya 8: Sanidi

Katika kazi ya kuanzisha (), tutafafanua hali ya tabia ya WiFi ya kifaa chetu. Katika kesi hii, kwa kuwa lengo ni kutafuta mitandao inayopatikana, tutasanidi kifaa chetu kufanya kazi kama "kituo".

kuanzisha batili () {// Anzisha Serial kuingia kwenye Serial Monitor Serial.begin (115200);

// kusanidi hali ya utendaji wa WiFi kama kituo cha WiFi.mode (WIFI_STA); // WIFI_STA ni hali inayoonyesha hali ya kituo mara kwa mara

// kukatwa kutoka kwa ufikiaji ikiwa tayari imeunganishwa WiFi.disconnect (); kuchelewesha (100);

// Serial.println ("Usanidi umefanywa");}

Hatua ya 9: Kitanzi

Katika kazi ya kitanzi (), tutatafuta mitandao inayopatikana na kisha kuchapisha kumbukumbu kwenye mitandao iliyopatikana. Kwa kila moja ya mitandao hii tutafanya kulinganisha kupata ile iliyo na nguvu ya ishara ya juu zaidi.

kitanzi batili () {// Serial.println ("scan scan"); // hufanya skanning ya mitandao inayopatikana

int n = WiFi.scanNetworks ();

Serial.println ("Scan imefanywa");

// angalia ikiwa umepata mtandao wowote ikiwa (n == 0) {Serial.println ("Hakuna mtandao uliopatikana"); } mwingine {networkSSID = ""; nguvuSignal = -9999; Printa ya serial (n); Serial.println ("mitandao imepatikana / n"); kwa (int i = 0; i <n; ++ i) {// chapa kwenye ufuatiliaji wa serial kila moja ya mitandao iliyopatikana Serial.print ("SSID:"); Serial.println (WiFi. SSID (i)); // jina la mtandao (ssid) Serial.print ("SIGNAL:"); Rekodi ya serial (WiFi. RSSI (i)); // nguvu ya ishara Serial.print ("\ t / TCHANNEL:"); Serial.print ((int) WiFi.channel (i)); Serial.print ("\ t / tMAC:"); Serial.print (WiFi. BSSIDstr (i)); Serial.println ("\ n / n"); ikiwa (abs (WiFi. RSSI (i)) <abs (nguvuSignal)) {nguvuSignal = WiFi. RSSI (i); mtandaoSSID = WiFi. SSID (i); Serial.print ("MTANDAO NA SIGNAL BORA ILIYOPATIKANA: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (nguvuSignal); Serial.println (")"); } kuchelewa (10); }} Serial.println ("\ n --------------------------------------------- ------------------------------------------- / n ");

// muda wa sekunde 5 kufanya ucheleweshaji mpya wa skan (5000); }

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

Kumbuka kuwa katika taarifa hapo juu tunatumia abs (), kazi hii inachukua dhamana kamili (yaani sio hasi) ya nambari. Kwa upande wetu tulifanya hivyo kupata maadili madogo zaidi kwa kulinganisha, kwa sababu kiwango cha ishara kinapewa kama nambari hasi na karibu na sifuri ishara itakuwa bora.

Hatua ya 10: Faili

Pakua faili zangu zote katika: www.fernandok.com

Ilipendekeza: