Სარჩევი:

ESP32– ის შესავალი: 10 ნაბიჯი
ESP32– ის შესავალი: 10 ნაბიჯი

ვიდეო: ESP32– ის შესავალი: 10 ნაბიჯი

ვიდეო: ESP32– ის შესავალი: 10 ნაბიჯი
ვიდეო: ESP32 Tutorial 5 - LED Fade, control brightness of an LED -ESP32 IoT Learnig kit 2024, ნოემბერი
Anonim
Image
Image
ძირითადი მახასიათებლები
ძირითადი მახასიათებლები

ამ სტატიაში ჩვენ ვაპირებთ ვისაუბროთ ESP32– ზე, რომელიც მე მიმაჩნია ESP8266– ის უფროს ძმად. მე ნამდვილად მომწონს ეს მიკროკონტროლი, რადგან მას აქვს WiFi. ასე რომ თქვენ გაქვთ იდეა, სანამ ESP არსებობს, თუ თქვენ გჭირდებათ Arduino WiFi– სთვის, თქვენ უნდა დახარჯოთ $ 200 - დან $ 300 - მდე Wifi ადაპტერის შესაძენად. ქსელის კაბელის ადაპტერი არც ისე ძვირია, მაგრამ WiFi– სთვის ის ყოველთვის ძვირი იყო და არის. საბედნიეროდ, Espressif Systems– მა დაიწყო ESP და წყვეტს ჩვენს ცხოვრებას.

მე მომწონს ESP32 ამ ფორმატით, რომელსაც აქვს USB პორტი. ამ NodeMCU სქემით ადვილია მანიპულირება, რადგან მას არ სჭირდება ელექტრონიკა. უბრალოდ შეაერთეთ კაბელი, ჩართეთ მოწყობილობა და დაპროგრამეთ. ის მუშაობს არდუინოს მსგავსად.

ყოველ შემთხვევაში, დღეს ჩვენ ვისაუბრებთ ESP32– ის ზოგად ასპექტებზე და იმაზე, თუ როგორ უნდა მოხდეს Arduino IDE– ს კონფიგურაცია, რათა დაპროგრამდეს მეტი ტიპის მოწყობილობა. ასევე ჩვენ შევქმნით პროგრამას, რომელიც მოიძიებს ქსელებს და აჩვენებს რომელი უფრო ძლიერია.

ნაბიჯი 1: ძირითადი მახასიათებლები

ჩიპი ჩაშენებული WiFi- ით: სტანდარტული 802.11 B / G / N, მუშაობს 2.4-დან 2.5GHz დიაპაზონში

ოპერაციის რეჟიმი: კლიენტი, წვდომის წერტილი, სადგური + წვდომის წერტილი

ორმაგი ბირთვიანი მიკროპროცესორი Tensilica Xtensa 32 ბიტიანი LX6

რეგულირებადი საათი 80 MHz– დან 240 MHz– მდე

სამუშაო ძაბვა: 3.3 VDC

მას აქვს SRAM 512 კბ

მახასიათებლები 448KB ROM

აქვს გარე ფლეშ მეხსიერება 32 მბ (4 მეგაბაიტი)

მაქსიმალური დენი თითო პინზე არის 12mA (რეკომენდირებულია გამოიყენოთ 6mA)

მას აქვს 36 GPIO

GPIO– ები PWM / I2C და SPI ფუნქციებით

მას აქვს Bluetooth v4.2 BR / EDR და BLE (Bluetooth დაბალი ენერგია)

ნაბიჯი 2: შედარება ESP32, ESP8266 და Arduino R3 შორის

შედარება ESP32, ESP8266 და Arduino R3 შორის
შედარება ESP32, ESP8266 და Arduino R3 შორის

ნაბიჯი 3: ESP32– ის ტიპები

ESP32– ის ტიპები
ESP32– ის ტიპები

ESP32 დაიბადა ბევრი და -ძმით. დღეს მე ვიყენებ პირველს მარცხნიდან, Espressif- ს, მაგრამ არის რამდენიმე ბრენდი და ტიპი, მათ შორის Oled- ის ჩამონტაჟებული. თუმცა, განსხვავებები ყველა ერთი და იგივე ჩიპია: Tensilica LX6, 2 Core.

ნაბიჯი 4: WiFi NodeMCU-32S ESP-WROOM-32

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

ეს არის ESP დიაგრამა, რომელსაც ჩვენ ვიყენებთ ჩვენს ასამბლეაში. ეს არის ჩიპი, რომელსაც აქვს ბევრი მიმზიდველობა და ძალა. ეს არის რამოდენიმე ქინძისთავი, რომელსაც თქვენ ირჩევთ, სურთ თუ არა მათ იმუშაონ ციფრული ანალოგური, ანალოგური ციფრული სახით, ან თუნდაც ეს ციფრული იყოს.

ნაბიჯი 5: Arduino IDE (Windows) კონფიგურაცია

Arduino IDE (Windows) კონფიგურაცია
Arduino IDE (Windows) კონფიგურაცია
Arduino IDE (Windows) კონფიგურაცია
Arduino IDE (Windows) კონფიგურაცია

აქ მოცემულია, თუ როგორ უნდა დააკონფიგურიროთ Arduino IDE, ასე რომ ჩვენ შეგვიძლია შევადგინოთ ESP32– ისთვის:

1. ჩამოტვირთეთ ფაილები ბმულის საშუალებით:

2. გახსენით ფაილი და დააკოპირეთ შინაარსი შემდეგ ბილიკზე:

C: / მომხმარებლები / [YOUR_USER_NAME] / Documents / Arduino / hardware / espressif / esp32

შენიშვნა: თუ არ არსებობს დირექტორია "espressif" და "esp32", უბრალოდ შექმენით ისინი ნორმალურად.

3. გახსენით დირექტორია

C: / მომხმარებლები / [YOUR_USER_NAME] / Documents / Arduino / hardware / espressif / esp32 / tools

გაუშვით ფაილი "get.exe".

4. "get.exe" დასრულების შემდეგ შეაერთეთ ESP32, დაელოდეთ დრაივერების დაინსტალირებას (ან ხელით ინსტალაციას).

მზადაა, ახლა შეარჩიეთ ESP32 დაფა "ინსტრუმენტები >> დაფაში" და შეადგინეთ თქვენი კოდი.

ნაბიჯი 6: WiFi სკანირება

აქ არის მაგალითი იმისა, თუ როგორ უნდა მოძებნოთ ხელმისაწვდომი WiFi ქსელები ESP-32– ის მახლობლად, ასევე თითოეული მათგანის სიგნალის სიძლიერე. თითოეული სკანირებისას ჩვენ ასევე გავარკვევთ, რომელი ქსელის აქვს სიგნალის საუკეთესო სიძლიერე.

ნაბიჯი 7: კოდი

პირველ რიგში შევიტანოთ ბიბლიოთეკა "WiFi.h", საჭირო იქნება მოგვცეს საშუალება ვიმუშაოთ ჩვენი მოწყობილობის ქსელის ბარათზე.

#მოიცავს "WiFi.h"

აქ არის ორი ცვლადი, რომელიც გამოყენებული იქნება ქსელის SSID (სახელი) და სიგნალის სიძლიერის შესანახად.

სიმებიანი ქსელიSSID = ""; int powerSignal = -9999;

ნაბიჯი 8: დაყენება

Setup () ფუნქციაში ჩვენ განვსაზღვრავთ ჩვენი მოწყობილობის WiFi ქცევის რეჟიმს. ამ შემთხვევაში, ვინაიდან მიზანი არის არსებული ქსელების ძებნა, ჩვენ დავაკონფიგურირებთ ჩვენს მოწყობილობას, რომ იმუშაოს როგორც "სადგური".

void setup () {// სერიალის ინიციალიზაცია სერიული მონიტორის შესასვლელად Serial.begin (115200);

// WiFi– ის მუშაობის რეჟიმის კონფიგურაცია, როგორც სადგური WiFi.mode (WIFI_STA); // WIFI_STA არის მუდმივი მითითება სადგურის რეჟიმში

// გათიშვა წვდომის წერტილიდან, თუ ის უკვე დაკავშირებულია WiFi.disconnect (); დაგვიანება (100);

// Serial.println ("დაყენება დასრულებულია");}

ნაბიჯი 9: მარყუჟი

მარყუჟის () ფუნქციაში, ჩვენ ვეძებთ არსებულ ქსელებს და შემდეგ ამობეჭდავთ ჟურნალს ნაპოვნი ქსელებში. თითოეული ამ ქსელისთვის ჩვენ შევადარებთ იმას, რომ ვიპოვოთ სიგნალის ყველაზე მაღალი სიძლიერე.

void loop () {// Serial.println ("სკანირების დაწყება"); // ასრულებს არსებული ქსელების სკანირებას

int n = WiFi.scanNetworks ();

Serial.println ("სკანირება შესრულებულია");

// შეამოწმეთ თუ იპოვნეთ რაიმე ქსელი if (n == 0) {Serial.println ("ქსელი არ მოიძებნა"); } else {networkSSID = ""; ძალა სიგნალი = -9999; სერიული. ბეჭდვა (n); Serial.println ("ნაპოვნია ქსელები / n"); for (int i = 0; i <n; ++ i) {// სერიულ მონიტორზე დაბეჭდვა თითოეული ნაპოვნი ქსელი Serial.print ("SSID:"); Serial.println (WiFi. SSID (i)); // ქსელის სახელი (ssid) Serial.print ("SIGNAL:"); Serial.print (WiFi. RSSI (i)); // სიგნალის სიძლიერე 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 (powerSignal)) {forceSignal = WiFi. RSSI (i); networkSSID = WiFi. SSID (i); Serial.print ("ქსელი საუკეთესო სიგნალთან ერთად: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (forceSignal); Serial.println (")"); } დაყოვნება (10); }} Serial.println ("\ n ----------------------------------------- ----------------------------------------------- / n ");

// ინტერვალის 5 წამი ახალი სკანირების შეფერხების შესასრულებლად (5000); }

"თუ (აბს (WiFi. RSSI (i))"

გაითვალისწინეთ, რომ ზემოთ მოცემულ განცხადებაში ჩვენ ვიყენებთ abs () -ს, ეს ფუნქცია იღებს რიცხვის აბსოლუტურ მნიშვნელობას (ანუ არა უარყოფითს). ჩვენს შემთხვევაში ჩვენ გავაკეთეთ ეს იმისათვის, რომ ვიპოვოთ შედარებით უმცირესი მნიშვნელობები, რადგან სიგნალის ინტენსივობა მოცემულია უარყოფით რიცხვში და რაც უფრო ახლოსაა ნულთან მით უკეთესი სიგნალია.

ნაბიჯი 10: ფაილები

ჩამოტვირთეთ ყველა ჩემი ფაილი აქ: www.fernandok.com

გირჩევთ: