สารบัญ:
- ขั้นตอนที่ 1: คุณสมบัติที่สำคัญ
- ขั้นตอนที่ 2: เปรียบเทียบระหว่าง ESP32, ESP8266 และ Arduino R3
- ขั้นตอนที่ 3: ประเภทของ ESP32
- ขั้นตอนที่ 4: WiFi NodeMCU-32S ESP-WROOM-32
- ขั้นตอนที่ 5: การกำหนดค่า Arduino IDE (Windows)
- ขั้นตอนที่ 6: การสแกน WiFi
- ขั้นตอนที่ 7: รหัส
- ขั้นตอนที่ 8: ตั้งค่า
- ขั้นตอนที่ 9: วนซ้ำ
- ขั้นตอนที่ 10: ไฟล์
วีดีโอ: บทนำสู่ ESP32: 10 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
ในบทความนี้เราจะพูดถึง ESP32 ซึ่งฉันคิดว่าเป็นพี่ชายของ ESP8266 ฉันชอบไมโครคอนโทรลเลอร์ตัวนี้มากเพราะมี WiFi เพื่อให้คุณมีความคิด ก่อนที่ ESP จะเกิดขึ้น หากคุณต้องการ Arduino เพื่อให้มี WiFi คุณจะต้องใช้เงินระหว่าง $ 200 ถึง $ 300 เพื่อซื้ออแด็ปเตอร์ Wifi อแด็ปเตอร์สำหรับสายเคเบิลเครือข่ายนั้นไม่แพงนัก แต่สำหรับ WiFi นั้นมีมาโดยตลอดและยังมีราคาแพงอยู่ แต่โชคดีที่ Espressif Systems ได้เปิดตัว ESP และกำลังแก้ไขชีวิตของเรา
ฉันชอบ ESP32 ด้วยรูปแบบนี้ที่มีพอร์ต USB โครงร่าง NodeMCU นี้จัดการได้ง่ายเพราะไม่ต้องการอุปกรณ์อิเล็กทรอนิกส์ใดๆ เพียงเสียบสายเคเบิล จ่ายไฟให้อุปกรณ์ และตั้งโปรแกรม มันทำงานเหมือนกับ Arduino
อย่างไรก็ตาม วันนี้เราจะมาพูดถึงลักษณะทั่วไปของ ESP32 และวิธีกำหนดค่า Arduino IDE เพื่อตั้งโปรแกรมอุปกรณ์ประเภทนี้เพิ่มเติม นอกจากนี้ เราจะสร้างโปรแกรมที่ค้นหาเครือข่ายและแสดงว่าเครือข่ายใดมีประสิทธิภาพมากกว่า
ขั้นตอนที่ 1: คุณสมบัติที่สำคัญ
ชิปพร้อม WiFi ในตัว: มาตรฐาน 802.11 B / G / N ทำงานในช่วง 2.4 ถึง 2.5GHz
โหมดการทำงาน: Client, Access Point, Station + Access Point
ไมโครโปรเซสเซอร์ดูอัลคอร์ Tensilica Xtensa 32 บิต LX6
นาฬิกาที่ปรับได้จาก 80MHz ถึง 240MHz
แรงดันไฟฟ้าที่ใช้งาน: 3.3 VDC
มี SRAM 512KB
คุณสมบัติ 448KB ROM
มีหน่วยความจำแฟลชภายนอก 32Mb (4 เมกะไบต์)
กระแสไฟสูงสุดต่อพินคือ 12mA (แนะนำให้ใช้ 6mA)
มี 36 GPIO
GPIO พร้อมฟังก์ชัน PWM / I2C และ SPI
มีบลูทูธ v4.2 BR / EDR และ BLE (บลูทูธพลังงานต่ำ)
ขั้นตอนที่ 2: เปรียบเทียบระหว่าง ESP32, ESP8266 และ Arduino R3
ขั้นตอนที่ 3: ประเภทของ ESP32
ESP32 เกิดมาพร้อมกับพี่น้องมากมาย วันนี้ผมใช้ตัวแรกจากซ้ายมือ Espressif แต่มีหลายยี่ห้อและหลายประเภท รวมทั้ง Oled display ในตัวด้วย อย่างไรก็ตาม ความแตกต่างนั้นเป็นชิปตัวเดียวกันทั้งหมด: Tensilica LX6, 2 Core
ขั้นตอนที่ 4: WiFi NodeMCU-32S ESP-WROOM-32
นี่คือไดอะแกรมของ ESP ที่เราใช้ในการประกอบ เป็นชิปที่มีเสน่ห์และทรงพลังมาก หมุดเหล่านี้เป็นหมุดหลายตัวที่คุณเลือกได้ว่าจะทำงานเป็นแบบดิจิทัลแอนะล็อก แอนะล็อกดิจิทัล หรือแม้แต่ทำงานแบบประตูเป็นแบบดิจิทัล
ขั้นตอนที่ 5: การกำหนดค่า Arduino IDE (Windows)
ต่อไปนี้เป็นวิธีกำหนดค่า Arduino IDE เพื่อให้เราสามารถคอมไพล์สำหรับ ESP32:
1. ดาวน์โหลดไฟล์ผ่านลิงค์:
2. Unzip ไฟล์และคัดลอกเนื้อหาไปยังเส้นทางต่อไปนี้:
C: / ผู้ใช้ / [YOUR_USER_NAME] / Documents / Arduino / hardware / espressif / esp32
หมายเหตุ: หากไม่มีไดเรกทอรี "espressif" และ "esp32" ให้สร้างขึ้นตามปกติ
3. เปิดไดเรกทอรี
C: / Users / [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"
ต่อไปนี้คือตัวแปร 2 ตัวที่จะใช้ในการจัดเก็บ SSID (ชื่อ) ของเครือข่ายและความแรงของสัญญาณ
เครือข่ายสตริงSSID = ""; int strengthSignal = -9999;
ขั้นตอนที่ 8: ตั้งค่า
ในฟังก์ชันการตั้งค่า () เราจะกำหนดโหมดพฤติกรรม WiFi ของอุปกรณ์ของเรา ในกรณีนี้ เนื่องจากเป้าหมายคือการค้นหาเครือข่ายที่พร้อมใช้งาน เราจะกำหนดค่าอุปกรณ์ของเราให้ทำงานเป็น "สถานี"
การตั้งค่าเป็นโมฆะ () { // เริ่มต้น Serial เพื่อเข้าสู่ระบบ Serial Monitor Serial.begin (115200);
// การกำหนดค่าโหมดการทำงานของ WiFi เป็นสถานี WiFi.mode(WIFI_STA); //WIFI_STA เป็นค่าคงที่ที่ระบุโหมดสถานี
// ยกเลิกการเชื่อมต่อจากจุดเชื่อมต่อ หากเชื่อมต่อ WiFi.disconnect(); ล่าช้า (100);
// Serial.println("ตั้งค่าเสร็จแล้ว");}
ขั้นตอนที่ 9: วนซ้ำ
ในฟังก์ชันลูป () เราจะค้นหาเครือข่ายที่มีอยู่ จากนั้นพิมพ์บันทึกในเครือข่ายที่พบ สำหรับแต่ละเครือข่ายเหล่านี้ เราจะทำการเปรียบเทียบเพื่อค้นหาเครือข่ายที่มีความแรงของสัญญาณสูงสุด
วงเป็นโมฆะ () { // Serial.println ("เริ่มสแกน"); // ทำการสแกนเครือข่ายที่มีอยู่
int n = WiFi.scanNetworks();
Serial.println("ดำเนินการสแกน");
// ตรวจสอบว่าคุณพบเครือข่ายใด ๆ หาก (n == 0) { Serial.println ("ไม่พบเครือข่าย"); } อื่น ๆ { networkSSID = ""; ความแรงของสัญญาณ= -9999; Serial.print(n); Serial.println(" พบเครือข่าย\n"); สำหรับ (int i = 0; i <n; ++i) {//print on serial monitor แต่ละเครือข่ายที่พบ Serial.print ("SSID: "); Serial.println (WiFi. SSID (i)); //ชื่อเครือข่าย (ssid) Serial.print ("สัญญาณ: "); Serial.print(WiFi. RSSI(ผม)); //ความแรงของสัญญาณ Serial.print("\t\tCHANNEL: "); Serial.print ((int) WiFi.channel (i)); Serial.print("\t\tMAC: "); Serial.print(WiFi. BSSIDstr(i)); Serial.println("\n\n"); ถ้า (abs (WiFi. RSSI (i)) < abs (strengthSignal)) { strengthSignal = WiFi. RSSI (i); เครือข่ายSSID = WiFi. SSID(i); Serial.print("เครือข่ายที่มีสัญญาณที่ดีที่สุด: ("); Serial.print(networkSSID); Serial.print(") - SIGNAL: ("); Serial.print(strengthSignal); Serial.println(")"); } ล่าช้า(10); } } Serial.println("\n----------------------------------------- -------------------------------------------\NS");
// ช่วงเวลา 5 วินาทีเพื่อทำการหน่วงเวลาการสแกนใหม่ (5000); }
"ถ้า (abs (WiFi. RSSI (i))"
โปรดทราบว่าในคำสั่งด้านบนเราใช้ abs () ฟังก์ชันนี้ใช้ค่าสัมบูรณ์ (เช่น ไม่ใช่ค่าลบ) ของตัวเลข ในกรณีของเรา เราทำสิ่งนี้เพื่อค้นหาค่าที่น้อยที่สุดในการเปรียบเทียบ เนื่องจากความเข้มของสัญญาณถูกกำหนดเป็นจำนวนลบ และยิ่งเข้าใกล้ศูนย์มากเท่าใด สัญญาณก็จะยิ่งดีขึ้น
ขั้นตอนที่ 10: ไฟล์
ดาวน์โหลดไฟล์ทั้งหมดของฉันใน: www.fernandok.com
แนะนำ:
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
บทนำสู่ Visuino - Visuino สำหรับผู้เริ่มต้น: 6 ขั้นตอน
บทนำสู่ Visuino | Visuino สำหรับผู้เริ่มต้น: ในบทความนี้ฉันต้องการพูดคุยเกี่ยวกับ Visuino ซึ่งเป็นซอฟต์แวร์การเขียนโปรแกรมกราฟิกอีกตัวสำหรับ Arduino และไมโครคอนโทรลเลอร์ที่คล้ายกัน หากคุณเป็นมือสมัครเล่นอิเล็กทรอนิกส์ที่ต้องการเข้าสู่โลกของ Arduino แต่ขาดความรู้ด้านการเขียนโปรแกรมมาก่อน
บทนำสู่ Python: 9 ขั้นตอน
Intro to Python: Python เป็นภาษาการเขียนโปรแกรมคอมพิวเตอร์ที่มีประโยชน์และยืดหยุ่นมาก ซึ่งสร้างโดย Guido van Rossum Python ยังเป็นแอปพลิเคชั่นบน Raspberry Pi ที่แปลรหัสที่คุณเขียนเป็นสิ่งที่ Raspberry Pi สามารถเข้าใจและนำไปใช้ได้ เมื่อย
บทนำสู่ ADC ในไมโครคอนโทรลเลอร์ AVR - สำหรับผู้เริ่มต้น: 14 ขั้นตอน
บทนำสู่ ADC ในไมโครคอนโทรลเลอร์ AVR | สำหรับผู้เริ่มต้น: ในบทช่วยสอนนี้ คุณจะรู้ทุกอย่างเกี่ยวกับ ADC ในไมโครคอนโทรลเลอร์ avr
บทนำสู่ Unity3D: 27 ขั้นตอน
บทนำสู่ Unity3D: Unity3D Game Engine มอบกรอบการทำงานที่ยอดเยี่ยมสำหรับนักออกแบบเกมที่ต้องการ เช่น ตัวคุณเอง เพื่อสร้างระดับเกมที่น่าทึ่งและมีรายละเอียดโดยไม่ต้องเขียนโปรแกรมใดๆ เลย! คู่มือนี้จะแสดงคำแนะนำทีละขั้นตอนสำหรับการสร้าง