ESP32 simulator, the classic one, on an Xtensa core
Mokxi memodelkan DOIT ESP32 DevKit V1 tiga puluh pin: ESP32-WROOM-32 dengan Xtensa LX6 240 MHz, GPIO matrix, IO_MUX, ketiga UART, timer group 0, ADC1, dan pengendali PWM LEDC, pada alamat yang sebenarnya. Satu core, bukan dua, dan tanpa radio (WiFi di sini disimulasikan, dan dinyatakan begitu), dan kontrak menyebut persis di mana setiap batasnya.
- 10area periferal dimodelkan
- 24proyek siap dijalankan
- Waktu nyatadi mesinmu sendiri
Apa yang dimodelkan
Diambil dari dokumen kontrak board itu sendiri dan ditulis dengan kata-kata sederhana, beserta apa yang belum ada di sampingnya.
Dimodelkan
- Core
- Xtensa LX6 dalam windowed ABI, enam puluh empat register alamat, handler window overflow dan underflow, satu instruksi per siklus pada 240 MHz
- Memori
- RAM instruksi 128 KB di 0x4008_0000 dan RAM data 192 KB di 0x3FFB_0000, dipisahkan seperti ESP-IDF memisahkannya
- GPIO matrix dan IO_MUX
- Empat puluh pin dengan pemisahan dua register yang sebenarnya, pull dan input enable per pad, dan GPIO 34 sampai 39 ditolak sebagai output, karena chip tidak punya driver di sana
- UART0
- Dengan kecepatan sesuai baud rate yang diatur, tersambung ke Serial Monitor
- UART1 dan UART2
- Serial1 dan Serial2 di pin mana pun yang disebut begin(), lewat GPIO matrix: frame sungguhan di kabel, bit demi bit, pada kecepatan yang benar-benar diberikan pembagi, dengan buffer terima milik driver core
- Timer group 0
- Timer 0 dengan tick satu mikrodetik di belakang millis() dan micros(); delay() memarkir core di CCOMPARE0, bukan berputar menunggu
- ADC1
- Dua belas bit pada delapan kanal sebenarnya (GPIO 36, 37, 38, 39, 32, 33, 34, dan 35) dengan empat atenuasi, dan 11 dB mengikuti kurva komponen sungguhan sampai 4095 pada sekitar 3,1 V
- LEDC
- Grup kecepatan tinggi: empat timer dan delapan kanal di pin mana pun yang punya driver output, di balik analogWrite, ledcAttach, dan ledcWrite
- Interrupt matrix
- Sumbernya dirutekan seperti hardware merutekannya, sehingga attachInterrupt adalah tiga penulisan, bukan satu
- WiFi, disimulasikan
- WiFi.h, HTTPClient.h, dan WebServer.h di atas jaringan yang ditulis dalam software: tanpa radio, tanpa 802.11, dan internet sungguhan hanya saat kamu masuk dan mengaktifkannya
Tidak dimodelkan
- Radio jenis apa pun. Tidak ada 802.11 dan tidak ada radio Bluetooth dalam model. WiFi dan Bluetooth disimulasikan sebagai gantinya (API Arduino di atas jaringan buatan kami yang menjangkau internet sungguhan hanya saat kamu masuk dan mengaktifkannya, dan HP di panel Bluetooth editor), dan setiap halaman yang menyebutnya menyatakan hal itu.
- Core kedua. ESP32 sungguhan punya dua core LX6; model ini menjalankan core PRO, sehingga apa pun yang memulai task di core 1 tidak akan berjalan.
- FPU: biner hard-float yang dibangun di tempat lain fault pada instruksi float pertamanya. Sketch yang dibangun di sini soft float, sehingga matematika float bekerja.
- Cache, flash, dan PSRAM, RTC dan ULP, deep sleep, ADC2, sensor sentuh dan hall, I2C, SPI, I2S, dan RMT.
- Beberapa alamat (urutan pad IO_MUX, tata letak timer group dan LEDC, offset SENS, nomor interrupt matrix, dan indeks sinyal GPIO matrix yang dipakai LEDC) adalah keyakinan model ini, bukan sesuatu yang bisa dijaminnya. Bagian 6 kontrak menyebut semuanya.
Buka salah satu dan tekan Jalankan
Masing-masing terbuka di editor persis seperti yang digambar di sini.
Semua proyek bawaan di ESP32 DevKit V1
Masing-masing punya halaman sendiri dengan rangkaian yang berjalan, kode, dan daftar komponen.
- Knob ESP32Pemula
- Tombol dan LED ESP-NOWMenengah
- Monitor energi PZEM-004T dengan ESP32Menengah
- Lukis sentuh ILI9488 dengan ESP32Menengah
- Lukis sentuh ST7796S dengan ESP32Menengah
- Pengukur level mikrofon I2S dengan ESP32Menengah
- Pemutar sinus I2S dengan ESP32Menengah
- Sistem darurat lalu lintas ESP32 dengan RFIDMenengah
- Web server cuaca DHT22 dengan ESP32Menengah
- Web server ESP32 dengan dua LEDPemula
- Web server async ESP32: BME280, slider, dan relayMenengah
- Bel pintu Telegram ESP32 dengan sensor PIRMenengah
- Jam NTP ESP32 di layar TM1637Pemula
- Lampu Bluetooth serial ESP32Pemula
- Lampu BLE UART ESP32Menengah
- Blink MicroPython di ESP32Pemula
- Interrupt tombol MicroPython di ESP32Pemula
- Fade PWM MicroPython di ESP32Pemula
- DHT22 di ESP32 dengan MicroPythonPemula
- OLED SSD1306 di ESP32 dengan MicroPythonPemula
- Cuaca WiFi MicroPython di ESP32Menengah
- Penganalisis spektrum audioMahir
- Mata animatronikMahir
- An ESP32 and an Arduino Uno talking over serialMenengah
Komponen yang dirangkai ke ESP32 DevKit V1, langkah demi langkah
Setiap halaman berisi pengkabelan dengan nama pin milik ESP32 DevKit V1, kode, kesalahan umum, dan rangkaian yang berjalan.
- ESP32 DHT22
- ESP32 SSD1306 OLED
- ESP32 I2C LCD
- Servo ESP32
- ESP32 HC-SR04
- NeoPixel ESP32
- Tombol ESP32
- Potensiometer ESP32
- Buzzer ESP32
- Relay ESP32
- Sensor PIR ESP32
- ESP32 MPU6050
- ESP32 BMP280
- ESP32 DS18B20
- Penerima IR ESP32
- Keypad ESP32
- Layar TM1637 ESP32
- Stepper 28BYJ-48 ESP32
- ESP32 RC522 RFID
- ESP32 LDR
- ESP32 BME280
- Joystick ESP32
- Layar 7 segmen ESP32
- ESP32 DS3231 RTC
Tutorial yang memakai board ini
Masing-masing berakhir dengan rangkaian yang berjalan, di board yang sama.
- Pinout ESP32 DevKit V1: setiap pin, dan mana yang dihindari
- analogRead di ESP32: 12 bit, atenuasi, dan ADC2
- Uno vs ESP32 vs Pico: mana yang dipilih untuk mulai
- Sepuluh proyek ESP32 untuk pemula, berurutan
- ESP32 dan Arduino Uno dalam satu simulasi
- Permintaan HTTP GET: ambil cuaca sebagai JSON
- MicroPython di ESP32: blink, tombol, PWM, DHT22, OLED, dan WiFi
Pertanyaan
Apakah gratis?
Ya. Setiap board dan setiap komponen ada di paket gratis, tanpa akun.
Bisakah aku mengompilasi sketch-ku sendiri untuknya?
Ya. Edit sketch dan tekan Jalankan: dikompilasi di tab dengan clang untuk Xtensa, dan panel build menampilkan setiap langkah. Tidak ada yang diunggah. Matematika floating-point bekerja: browser membangunnya sebagai soft float, seperti di setiap board lain di sini.
Apakah mensimulasikan WiFi atau Bluetooth?
Keduanya, disimulasikan, dan itu dinyatakan terang-terangan. Bluetooth adalah HP di panel Bluetooth editor, bukan radio. Sketch-mu memakai panggilan Arduino yang sebenarnya (WiFi.begin, WiFi.status, HTTPClient, WebServer), dan board bergabung ke jaringan, mengambil halaman, dan menyajikan satu. Di bawahnya tidak ada radio dan tidak ada 802.11. Empat alamat rekaan di bawah .mokxi menjawab di dalam tab ini. Setelah masuk, kamu bisa mengaktifkan Real internet di panel Cloud, dan permintaan HTTP dan HTTPS ke host sungguhan keluar lewat gateway Mokxi.
Mengapa pinMode(34, OUTPUT) tidak berfungsi?
Karena di chip aslinya juga tidak berfungsi. GPIO 34 sampai 39 punya buffer input dan sama sekali tidak punya driver output. Mokxi menolak penulisan itu seperti silikonnya, menghitungnya, dan memberi tanda kecil berwarna amber di board, supaya kamu tidak mengira pin itu menggerakkan sesuatu.
Mengapa potensiometerku mencapai 4095 sebelum ujung putarannya?
Karena pada atenuasi 11 dB bawaan, pembacaan mentah ESP32 sungguhan jenuh sekitar 3,1 V, kurang dari rel 3,3 V, dan melengkung di jalan menuju ke sana: tengah pot terbaca sekitar 1890, bukan 2048. Mokxi memodelkan kurva itu, dan contoh knob mencetak angka mentahnya supaya tidak menjadi misteri.
Ini board 30 pin atau 38 pin?
DOIT DevKit V1 tiga puluh pin. Espressif DevKitC 38 pin berjarak satu inci penuh antar baris header dan mengeluarkan enam pin lagi: nomor GPIO-nya milik chip yang sama, posisinya tidak.
Apakah menjalankan kedua core?
Satu. Core PRO berjalan; tidak ada APP CPU dan tidak ada FreeRTOS untuk menjadwalkan di antara keduanya, sehingga sketch setup()/loop() tidak masalah dan xTaskCreatePinnedToCore tidak.
Board lainnya
Semua ini berjalan hari ini, dan semuanya gratis.
Mencari pengantar yang lebih singkat? Lihat halaman simulator ESP32 DevKit.
Chip RISC-V di 160 MHz, dengan peta memori yang asli.
Arduino klasik, dengan ATmega328P yang berjalan di 16 MHz.
Chip Uno di board kecil yang muat di breadboard.
Arduino besar, dengan 54 pin digital dan empat port serial.
Board berbentuk Uno yang chip-nya mengurus serial USB sendiri.
Board RISC-V kedua, dengan 31 pin dan WiFi simulasi.
ESP32-S3 di 240 MHz, dengan serial USB dan LED RGB.
ESP8266 milik NodeMCU di 80 MHz, dengan WiFi simulasi.
Coba dengan firmware-mu sendiri
Apa yang kamu buat di sini berjalan di board di mejamu, tanpa diubah. Tanpa instal dan tanpa akun.