Kajian semula tangan: ESP32 menawarkan MCU yang membolehkan IUT yang berkuasa untuk pemula dan kebaikan

TERKINI:RAFIZI RAMLI-BERSERI:PERLIS BERPOTENSI BESAR JATUH KE TANGAN PAKATAN HARAPAN (Julai 2019).

$config[ads_text] not found
Anonim

Menggabungkan pemproses dwi-teras dengan Bluetooth dan Wi-Fi terbina dalam, ESP32 SoC adalah impian pemaju IoT

Oleh TK Hareendran, penyumbang penulis

Keahlian pertama saya ke IoT menggunakan Espressif ESP8266, SoC dengan MCU 32-bit dan Wi-Fi 2.4-GHz yang dibina. Sejak itu, saya telah menggunakan banyak variasi modul yang berbeza berdasarkan mikrokontroler. Oleh itu apabila saudara kandungnya yang lebih kuat, ESP32, mendarat di atas tanah saya, saya terpaksa pergi mencuba.

Espressif ESP32 adalah SoC Wi-Fi dan Soket Bluetooth yang menjanjikan dengan kiraan GPIO yang besar. Baru-baru ini, saya membeli (di eBay) dua papan pengembangan ESP32 generik untuk beberapa eksperimen. Setiap ini dikuasakan oleh modul Wi-Fi Expressif ESP-WROOM-32 dan Bluetooth, yang mengandungi ESP32 SoC, memori flash dan antena cip. Espressif menawarkan beberapa modul pembangunan / papan untuk membantu pengguna menilai fungsi cip ESP32, dan ESP-Wroom-32 adalah modul terkecil yang dimaksudkan untuk pemasangan dalam produk pengguna akhir.

Rajah 1: SoC ESP32 mengintegrasikan teras CPU teras dan pemproses bersama periferal bersama-sama dengan unsur radio Bluetooth dan Wi-Fi. (Sumber: Expressif)

ESP-WROOM-32
Menurut lembaran data, ESP-WROOM-32 adalah modul 38-pin Wi-Fi / Bluetooth / BLE MCU yang kuat yang menggunakan cip ESP32-D0WDQ6 yang berskala dan bersesuaian. Cip ini mengandungi dua mikropemproses 32-bit LTE Xtensa berkuasa rendah di terasnya bersama dengan pemproses kuasa ultra rendah (ULP). Kedua-dua teras CPU boleh dikawal secara individu, dan frekuensi jam mereka boleh laras dari 80 MHz hingga 240 MHz. Pengguna juga boleh mematikan CPU dan menggunakan pemproses ULP untuk mengendalikan penukaran A / D dan memantau periferal untuk perubahan nilai atau penyeberangan ambang.

Rajah 2: Modul ESP-Wroom-32.

Penyepaduan Bluetooth, Bluetooth LE, dan Wi-Fi memastikan bahawa modul itu boleh menyasarkan pelbagai aplikasi. Wi-Fi membolehkan rangkaian fizikal yang besar dan sambungan langsung ke internet melalui penghala Wi-Fi, manakala Bluetooth membenarkan pengguna untuk menyambung dengan mudah ke telefon atau menyiarkan suar tenaga rendah untuk pengesanannya. ESP32 semasa tidur diabaikan ESP32 (kurang daripada 5 μA) menjadikan ia sesuai untuk kebanyakan aplikasi elektronik berkuasa bateri dan boleh pakai.

Perkara yang saya dapat dari eBay, digambarkan sebagai "Papan Pembangunan ESP32, " sebenarnya hanya papan pelarian kecil dan mudah berdasarkan modul ESP-WROOM-32, dengan beberapa komponen tambahan. Papan pelarian ini mendedahkan I / O modul melalui header lelaki, dan memaparkan cip CP2102 SiLab untuk debugging Serial-to-USB melalui port mikro-USB. Antara muka pengaturcaraan USB-ke-Serial juga menyediakan bekalan kuasa untuk papan. Terdapat cip, butang, dan LED pengawal selia 3.3-V, juga.

Kedua-dua papan menawarkan keupayaan yang hampir serupa tetapi dengan konfigurasi pinout yang berbeza. Yang pertama, yang sering disebut DevKitC, mempunyai susun atur 38-pin (2 x 19) dan berukuran 55 x 29 x 14 mm. Yang kedua, kadangkala dirujuk sebagai papan DOIT, mempunyai susun atur 30-pin (2 x 15) dan berukuran 52 x 29 x 14 mm.

Rajah 3: Modul pembangunan yang diperolehi dari eBay.

Saya memilih papan pengembangan ESP32 yang mudah digunakan ini walaupun agak, agak mahal (sekurang-kurangnya dua kali kos modul sahaja). Sekiranya anda akan mengintegrasikan modul ESP-WROOM-32 dalam projek (komersial), anda boleh menggunakannya tanpa sebarang perkara tambahan. Tetapi untuk prototaip dan penggunaan dengan papan roti, kemungkinan besar anda akan memerlukan papan pelarian khas / testbed seperti ini untuk mendedahkan GPIOs. Lubang pelekap yang dibuang modul bermakna kerja pematerian yang diperlukan untuk menyambung I / O tidak mudah. Cuba untuk menggunakan modul terdedah boleh, jadi, menjadi masalah bagi ramai, dan mungkin pengalaman yang lucu untuk beberapa orang. Papan adalah lebih mudah.

Berlepas lepas
Bermula dengan papan cepat. Kerana saya telah memasang pemacu USB-ke-Serial (pemandu VCP) di PC saya, saya hanya boleh menyambungkan kabel USB-ke-USB antara papan dan komputer saya. Saya dapat melihat dengan segera bahawa Windows telah menetapkan pengenal port unik untuk papan.

Kerana laman web rasmi ESP32 menyebut Arduino, saya memutuskan untuk bermain dengan teras Arduino untuk cip ESP32 yang dikeluarkan oleh Espressif. Perisian ini menerangkan cara membuat kerja ESP32 dengan Arduino IDE. Malangnya, ia bukan pelayaran yang lancar. Pertama, arahan yang disediakan agak menyedihkan dan mengintimidasi (diakui, semuanya masih awal lagi). Kedua, teras ESP32 adalah berasaskan Xtensa, bukan ARM / AVR biasa. Jadi mereka tidak mempunyai pengurus pilihan papan Arduino lagi. Selepas beberapa permulaan masalah dan ketidaksuburan, saya berjaya membuat segala-galanya berfungsi tetapi gagal mencatatkan langkah saya secara terperinci demi pemula. (Maaf.)

Proses (diuji pada Windows 64-bit), secara ringkasnya ialah:

  • Pastikan anda menyimpan versi terbaru Arduino IDE yang berguna
  • Pasang GUI Git
  • Mula GUI GUI dan pilih Repositori yang sedia ada Clone
  • Pilih sumber ( //github.com/espressif/arduino-esp32.git ) dan destinasi (direktori target anda) dan klik Klon untuk memulakan pengklonan repositori
  • Pergi ke folder destinasi, buka Alat (

    .

    / Arduino / perkakasan / espressif / esp32 / alat), dan klik dua kali get.exe

  • Apabila get.exe selesai, anda perlu melihat semua fail yang diperlukan dalam direktori yang dinamakan

Rajah 4: Pengklonan repositori Git ESP32.

Seterusnya, pasang papan ESP32 ke dalam port USB komputer anda dan tunggu sehingga pemandu dipasang. Selepas itu, jalankan Arduino IDE, pilih papan anda, dan pilih port COM. Akhirnya, menyusun dan memuat naik kod anda.

Untuk ujian sulung saya, saya memilih sampel GetCHIPID, kerana ia hanya mengambil ID Chip (sebenarnya Alamat MAC) dari papan. Saya boleh memuat naik kod itu, dan ia benar-benar mengembalikan ID Chip saya - BC7306A4AE30. Penerbangan ujian pendek, tetapi berjaya!

Rajah 5: Ujian sulung yang berjaya memperoleh kod ID cip.

Mengakhiri
ESP32 adalah mikrokontroller berkuasa IoT yang sangat kuat, dan menggunakan papan pembangunan ESP32 mendedahkan kuasa ini dalam reka bentuk papan yang sangat menyenangkan, sesuai untuk kedua-dua pemula dan pengguna lanjutan. Kebanyakan papan pengembangan ESP32 yang 'n' yang ceria dihidupkan oleh modul ESP-Wroom-32, salah satu pilihan hebat untuk aplikasi IoT pada masa kini. ESP32 dimaksudkan untuk digunakan dalam menewaskan aplikasi tanpa wayar (Wi-Fi atau projek BLE), tetapi ciri-ciri yang kuat tidak berfungsi sepenuhnya dengan platform Arduino pada kebanyakan papan pengembangan sekarang. Itulah satu-satunya kelemahan yang saya perhatikan, walaupun.

Rajah 6: Papan pengembangan ESP32 yang komprehensif Arduino.

Katanya, peminat Arduino (walaupun orang baru) mencari platform ESP-Wroom-32 yang mudah digunakan yang membolehkan prototaip cepat menggunakan Arduino boleh mencuba "FireBeetle" daripada DFRobot (tidak diperakui oleh FCC). Tambahan lagi bagus di sini ialah "Hornbill" dari "Explore Embedded" - India. Kedua-duanya menuntut keserasian lengkap dengan Arduino IDE.