Bahasa Inggris | tidak
Proyek ini adalah modul nirkabel berdasarkan chip ESP32-pico-d4 dari Espressif Systems, dengan beberapa antarmuka protokol komunikasi: UART, SPI. Tujuan awal dari desain ini adalah untuk memfasilitasi debugging algoritma kamera untuk kompetisi mobil pintar, dan untuk mengurangi kesulitan debugging dengan bekerja sama dengan komputer atas.
Perangkat keras esp32 mendukung UART 5Mbps dan budak SPI 10Mbps
Salah satu fitur modul ini adalah dapat kompatibel dengan antarmuka port serial nirkabel ZhuFei, memiliki fungsi kontrol aliran perangkat keras, dan dapat langsung menggunakan driver port serial nirkabel ZhuFei untuk mencapai komunikasi satu arah, menghilangkan kebutuhan teman mobil untuk menguji modul ini. Perlunya pembuatan re-board, saat ini hanya mendukung transmisi satu arah ke komputer atas
Perangkat lunak dan perangkat keras proyek ini kasar, menyambut semua orang untuk berkomunikasi dan memberikan saran untuk perbaikan, QQ saya: 1626632460
Komputer atas transmisi gambar mobil pintar sumber terbuka dapat menggunakan komputer atas Zhiyong , modul ini terutama digunakan dengan komputer atas ini , panduan pengguna dan rutinitas mikrokomputer chip tunggal ada di gudang komputer atas ini , tautan: https://gitee.com /zhou-wenqi/ipc-untuk-mobil
Tautan video Bilibili: https://www.bilibili.com/video/BV1oZ4y1m7y2
Simulasi PCB adalah sebagai berikut
Kategori | UART+SPI |
---|---|
Simulasi 3D | |
Efek pengelasan | |
Tautan sumber terbuka JLC | https://oshwhub.com/Wander_er/891fe1d235694ef7afe684f5a2f05b73 |
Nama | Fungsi |
---|---|
dokter | dokumen chip |
pengemudi | berkas pengemudi |
firmware | Firmware |
perangkat keras | Perangkat keras |
gambar | Gambar |
perangkat lunak | Skrip python komputer atas transmisi gambar sederhana |
Dua mode komunikasi
Kecepatan baud UART hingga 5Mbps, menerima hingga 20.000 byte sekaligus
Gunakan polling serial untuk mengekstrak data yang diterima dari buffer. Ada dua parameter, yaitu ukuran buffer penerimaan dan waktu tunggu maksimum. Ketika jumlah byte yang diterima mencapai ukuran buffer, maka penerimaan dianggap selesai; ketika pengiriman selesai tetapi tidak mencapai ukuran buffer penerimaan, Kemudian tunggu waktu tunggu maksimum sebelum dilihat sebagai penyelesaian transfer. Waktu tunggu ini ditetapkan pada 20 ms.
Jadi dapat dianggap memiliki dua mode, beralih dengan memodifikasi parameter length
dalam fungsi uart_read_bytes
() di firmware.
Mode transparan : mengacu pada tidak adanya batas byte tetap untuk data yang dikirimkan. Setiap komunikasi dapat mengirimkan data dengan berbagai ukuran, lebih fleksibel.
Direkomendasikan bahwa penggunaan mode transparan harus memiliki interval yang lebih besar dari serial port transmission time
+ 20ms
+ udp transmission time (rate calculated at 30Mbps)
Ketika parameter length
adalah ukuran buffer RX_BUF_SIZE -1
, itu adalah mode transparan , Dengan asumsi bahwa tidak ada data yang mencapai panjang ini.
Mode byte tetap : mengacu pada memiliki batas byte tetap untuk data yang dikirimkan. Kecepatannya lebih cepat dibandingkan mode transparan namun hanya dapat mengirimkan data berukuran tetap.
Direkomendasikan bahwa penggunaan mode byte tetap harus memiliki interval yang lebih besar dari serial port transmission time
+ udp transmission time (rate calculated at 30Mbps)
Ketika parameter length
sama dengan jumlah byte data tetap yang dikirim, itu adalah byte tetap, misalnya, saat mentransmisikan gambar skala abu-abu 60 x 90 padahal 5400.
Tentu saja, mengirimkan data yang lebih pendek dari panjang ini juga dapat dianggap sebagai mode transparan.
Kecepatan baud SPI hingga 10Mbps, menerima hingga 25000 byte sekaligus
SPI transmission time
+ udp transmission time (calculated at 30Mbps)
Firmware ini mengintegrasikan dua mode komunikasi UART dan SPI, yang dapat dikonfigurasi dengan protokol komunikasi serial dan ditulis ke dalam Flash, tanpa kehilangan daya, sehingga menghilangkan kebutuhan untuk modifikasi firmware berulang kali
Bagaimana cara terhubung dengan komputer yang lebih rendah?
UART
Tautan Gambar | Komputer yang lebih rendah |
---|---|
RXD | TXD |
TXD | RXD |
RTS (MOSI multipleks) | CTS (jika tidak tersedia, tidak masalah, tetapi Anda perlu menonaktifkan deteksi kontrol aliran di fungsi transmisi serial komputer yang lebih rendah) |
SPI
Tautan Gambar | Komputer yang lebih rendah |
---|---|
CLK | CLK |
MISO | MISO |
MOSI | MOSI |
CS | CS |
Catu daya 5V, kabel ground harus dihubungkan
Bagaimana cara menghitung waktu yang diperlukan untuk mengirim gambar lengkap?
Ambil transmisi UART 3Mbps dari ukuran gambar skala abu-abu sebagai contoh. Hitung dulu jumlah bit pada gambar: 60 x 90 x 8 = 43200 bit. Kemudian bagi jumlah bit dengan baud rate: 43200/3000000 = 0,0144 s = 14,4 ms
Bagaimana cara masuk dan menggunakan mode konfigurasi?
Gunakan asisten serial USB ke TTL di komputer Anda untuk menghubungkan Pic-o Link
, pin MOSI
dan CS
hubungan pendek, lalu setel ulang. Lampu indikator RGB menyala kuning menandakan Anda sudah masuk ke mode konfigurasi. Saat ini, Anda dapat mengkonfigurasi parameter Pic-o Link melalui port serial. Baud ratenya adalah 115200 , dan protokolnya ditunjukkan pada tabel
| Kategori | Catatan | Tajuk bingkai | Panjang | | :--------------------------: | :---------------: | :------: |- ----:| | Pemilihan protokol komunikasi |8bit unsigned integer, 0 : UART, 1 : SPI| 0x41 (A) | 1bita | | Kecepatan baud mode komunikasi UART | Bilangan bulat tak bertanda 32bit, <=5000000 | 0x42 (B) | 4byte | | Mode komunikasi UART menerima nomor byte buffer| 16bit bilangan bulat tak bertanda tangan, <=20000 | 0x43 (C) | 2byte | | akun WiFi | string, hingga 32 byte | 0x44 (D) | 32byte | | kata sandi WiFi | string, hingga 64 byte | 0x45 (T) | 64byte | | Alamat ip Server UDP |string, hingga 16 byte| 0x46 (P) | 16byte | | Port Server UDP |16bit bilangan bulat tak bertanda tangan, <=65535| 0x47 (G) | 2byte | | Baca parameter modul |instruksi tunggal | 0x48 (T) |tidak ada | |Tulis parameter memori modul ke dalam Flash|instruksi tunggal | 0x49 (I) |tidak ada |
Alamat IP mana yang harus saya konfigurasi secara spesifik?
Dua situasi berikut menunjukkan parameter alamat IP yang dikonfigurasi oleh Pic-o Link:
Bagaimana cara membuka proyek firmware?
Pic-o Link
dan pilih Open with Code
, tunggu beberapa saat setelah dibuka, plugin akan otomatis menginstal dependensi dan mengkompilasi toolchain Bagaimana cara masuk ke mode unduh dan mem-flash firmware?
Pic-o Link
ke komputer Anda, tekan dan tahan tombol DOWNLOAD
di Pic-o Link lalu tekan tombol RESET
, lalu klik tombol unduh di bagian bawah Platform IO untuk mengkompilasi dan mengunduh dengan satu klik, ingatlah untuk menekan tombol RESET
setelah mendownload Bagaimana cara mengubah nama host modul?
CONFIG_LWIP_LOCAL_HOSTNAME
di file sdkconfig.pico32
dan kompilasi ulang serta flash firmwareBerapa frekuensi WiFI yang didukung modul?
Persyaratan antarmuka dan gambar PCB?
Mode UART mengambil TC264 sebagai contoh (lihat diagram skema antarmuka port serial nirkabel ZhuFei, dapat langsung disalin, perhatikan bahwa dibandingkan dengan antarmuka UART umum, diperlukan pin kontrol aliran tambahan, dapat meniru driver pengiriman port serial nirkabel ZhuFei menggunakan GPIO sebagai mode input untuk disimulasikan)
Skrip tampilan komputer bagian atas transmisi gambar python sederhana, dengan header bingkai dan deteksi ekor bingkai, mirip dengan komputer bagian atas Zhiyong
Pustaka Python diperlukan untuk menjalankan:
Tes resmi espressif tingkat udp/tcp ESP32:
Jenis/Throughput | Udara Di Lab | Kotak perisai | Alat Uji | Versi IDF (ID komit) |
---|---|---|---|---|
Paket RX 802.11 mentah | T/A | 130 MBit/dtk | Alat dalam | TIDAK |
Mentah 802.11 Paket TX | T/A | 130 MBit/dtk | Alat dalam | TIDAK |
UDP RX | 30 MBit/dtk | 85 MBit/dtk | contoh sempurna | 15575346 |
UDP TX | 30 MBit/dtk | 75 MBit/dtk | contoh sempurna | 15575346 |
TCP RX | 20 MBit/dtk | 65 MBit/dtk | contoh sempurna | 15575346 |
TCPTX | 20 MBit/dtk | 75 MBit/dtk | contoh sempurna | 1557534 |