Melalui kesulitan untuk bintang atau LILYGO TTGO T-Internet-POE ESP32 LAN8270A

gambar

Saya melihat papan LILYGO TTGO T-Internet-POE ESP32 LAN8270A dan tentu saja saya tidak dapat melewatkan hal baru yang menarik: ESP32, LAN8270A, POE, kartu SD, Wi-Fi + Ethernet ... Sangat menarik untuk dirasakan ini karya seorang jenius Cina yang suram dengan tangan saya sendiri dan mengujinya dalam karya nyata, karena papan TTX menjanjikan prospek yang sangat menarik untuk digunakan di IoT, DIY, dan secara umum di bidang "Wi-Fi + Ethernet dan apa yang dapat Anda bayangkan . "



Tapi, seperti biasa, jalur dari brosur periklanan di situs web penjual dan produsen hingga meluncurkan papan dan melakukan pengujian di atasnya ternyata sangat sulit dan sulit. Selanjutnya, saya menyampaikan kepada Anda sebuah laporan tentang penelitian saya yang menarik tentang topik ini.



Batu di taman LILYGO



Menurut pengamatan saya (banyak) produsen "perangkat keras" menderita satu penyakit umum - kurangnya kompetensi dalam pemasaran dan, secara umum, pemahaman dasar tentang apa yang produk mereka lakukan untuk orang-orang.



Contoh yang bagus adalah LILYGO TTGO T-Internet-POE ESP32 LAN8270A (selanjutnya kita akan menyebut papan ini T-Internet-POE untuk singkatnya). Pabrikan membuat papan yang menarik, tetapi ... tidak melakukan apa pun:



  • tidak ada pinout pengontrol normal
  • tidak ada diagram sirkuit
  • tidak ada penjelasan yang masuk akal tentang penggunaan papan dan pola khas penggunaannya
  • tidak ada penjelasan teknis untuk pengoperasian masing-masing komponen papan
  • tidak ada contoh kode (ada 1 (!) sketsa untuk "persetan, nak, jangan repot-repot bekerja")
  • tidak ada situs web dengan dokumentasi
  • tidak ada forum dengan moderator yang kompeten dan termotivasi
  • tidak ada artikel yang populer dan memotivasi bagi mereka yang tertarik dengan kontroler ini, tetapi tidak tahu (tidak mengerti) dimana dia bisa menggunakannya untuk keperluannya sendiri
  • dan masih banyak hal yang seharusnya


Singkatnya, tidak ada sama sekali dan setiap orang yang berani membeli T-Internet-POE harus menjadi pejuang DIY yang sempurna, jika tidak, dia tidak memiliki kesempatan untuk bertahan dalam pertempuran ini dengan LILYGO. Apakah banyak dari kita yang seperti itu?



Dan bagaimana, dengan pendekatan bisnis ini, mereka bisa menjual sesuatu? Dan seberapa besar penjualan mereka akan meningkat jika mereka mengesampingkan besi solder sejenak dan mengingat pelanggan mereka?



Pertanyaannya retoris, tetapi dengan satu atau lain cara, selanjutnya saya harus melakukan semua pekerjaan untuk departemen teknis dan pemasaran LILYGO.



Apa triknya?



Secara sederhana, di papan ini kami berhasil menggabungkan ESP32 (Wi-Fi), Ethernet, POE dalam satu perangkat, dan menambahkan ceri di atas kue ini dalam bentuk pembaca kartu microSD. Dari hanya satu kombinasi komponen ini, banyak pilihan menarik untuk menggunakan papan ini segera menyusul:



  • bekerja melalui Wi-Fi dengan cadangan dalam bentuk saluran Ethernet
  • bekerja melalui Ethernet dengan cadangan dalam bentuk koneksi Wi-Fi
  • layanan tautan Wi-Fi dan Ethernet
  • router antara Wi-Fi dan Ethernet di kedua arah
  • server web untuk dua antarmuka
  • server web yang berbeda pada antarmuka yang berbeda
  • catu daya dari pengontrol (jarak jauh) melalui POE


Dan banyak opsi menarik lainnya (omong-omong, jangan lupa bahwa selain komponen jaringan itu sendiri, papan memiliki keluaran GPIO dan dapat digunakan untuk tujuan yang dimaksudkan, yaitu sebagai pengontrol IoT).



Seperti yang Anda lihat, cakupan penerapan board ini di IoT dan DIY hanya dibatasi oleh imajinasi dan kebutuhan Anda, dan secara umum T-Internet-POE terlihat sangat menjanjikan sebagai perangkat.



Selanjutnya, mari kita coba mencari cara untuk mengatasi semua kemegahan ini, yang, mengingat kurangnya informasi di papan tulis, bukanlah tugas yang mudah.



Spesifikasi



Kami tidak akan memberikan di sini daftar lengkap dari semua karakteristik teknis papan - itu dengan apa, dan tidak ada masalah dengan itu di situs web penjual dan produsen (masalahnya adalah tidak ada yang lain selain karakteristik ini). Berikut ini hanya daftar elemen papan utama:



  • ESP32-WROOM (4MB)
  • LAN8720A (Ethernet PHY)
  • POE 802.3af
  • pembaca kartu microSD
  • 12 pin GPIO untuk koneksi eksternal


Apa yang diberitahukan konfigurasi ini kepada kita begitu saja? Bahwa saat menggunakan papan ini sebagai server web, file dapat disimpan baik di kartu memori microSD dan di memori internal modul ESP32 (atau keduanya di sana sekaligus).



Pada saat yang sama, 12 GPIO gratis menghasilkan kesan ambigu - di satu sisi, ini sudah "sesuatu" dan jauh lebih baik daripada di ESP8266, dan di sisi lain, setelah proyek di Mega 2560 dengan lusinan GPIO, 12 pin terlihat sangat, sangat sederhana dan sangat membatasi kemungkinan pengembangan - di sini Anda perlu menemukan semacam port extender, atau membuat rakitan tandem dengan pengontrol lain.



Opsi pengontrol



Setelah diperiksa lebih dekat, ternyata dengan nama yang sama ada dua pengontrol yang berbeda - satu di ESP32-WROOM, dan yang kedua di ESP32-WROVER-B, yang tidak dapat langsung Anda lihat - papan terlihat hampir sama dan Anda dapat memainkan permainan "temukan 10 perbedaan" ...



gambar



Saya mendapatkan pengontrol di ESP32-WROOM, jadi narasi lebih lanjut akan mengacu padanya.



Programmer



Insinyur LILYGO sangat jauh dari penggunanya sehingga keputusan mereka tidak selalu mudah dipahami. Solusi ini mencakup pembuatan papan pemrogram terpisah pada chip CP2104 untuk pengontrol T-Internet-POE.



Untuk apa? Mengapa Anda memerlukan programmer terpisah ketika node ini dapat diintegrasikan pada papan pengontrol itu sendiri atau cukup menggunakan adaptor USB-TTL standar (seperti yang dilakukan semua produsen perangkat keras lainnya)? Jawabannya, rupanya, hanya pengembang LILYGO yang tahu (tapi mari kita maafkan mereka yang kreatif kecil ini).



gambar



Tetapi pengembang LILYGO tidak hanya melakukan hal yang tidak dapat dipahami, mereka juga berhasil membuatnya bengkok:



  • pertama, mereka menggunakan pin yang disukai orang-orang dengan tinggi nada 2,0 mm
  • kedua, mereka menyediakan pemasangan konektor di sisi belakang (!) papan


(Untuk pengembang solusi seperti itu, saya akan merekomendasikan terkadang mengalihkan perhatian dari pekerjaan dan meluangkan waktu untuk istirahat.)



Hasilnya adalah semacam monster aneh. Dan semuanya akan baik-baik saja jika masalahnya hanya terbatas pada komponen estetika, tetapi di sini muncul masalah yang lebih serius:



  • jika papan dipasang dan diikat pada posisi normalnya, maka pin pemrogram berada di bagian bawah papan dan tidak mungkin untuk menyambungkannya tanpa membongkar pengontrol;
  • jika Anda bekerja dengan papan tanpa pengikat, maka konektor dengan nada 2.0 tidak memberikan kekakuan yang memadai dan seluruh struktur mengancam untuk runtuh setiap saat dan menutup segala sesuatu di sekitarnya.


Sebagai penyamarataan untuk kusen pengembang ini, kami dapat merekomendasikan menyolder garis pin di sisi atas papan dan membuat (atau membeli, jika dijual) adaptor fleksibel 6-pin 2,0 mm.



Pinout



Untuk memulainya, kami akan memberikan versi asli pinout (diusahakan sebanyak mungkin). Bagi mereka yang "mengetahui" ada informasi yang cukup, sisanya hanya akan sedikit memahami dari "keaksaraan China" ini.



gambar



Mari kita coba menerjemahkan ini ke dalam bahasa Rusia dan secara umum mencari tahu apa yang terjadi di sana dengan pinout elemen dan alokasi sumber daya pengontrol.



Secara total, ESP32 memiliki 40 pin (D0 - D39), di mana 14 pin



D6 - D11, D20, D24, D28-D31, D37, D38



kami kecualikan dari pertimbangan karena praktis tidak digunakan (untuk berbagai alasan, analisis rinci tentang tujuan tersebut pin ini berada di luar cakupan artikel ini). Tetap:



Pin koneksi Ethernet dari chip LAN8720A



D18 - ETH_MDIO_PIN

D19 - ETH_TX_D0

D21 - ETH_TX_EN

D22 - ETH_TX_D1

D23 - ETH_MDC_PIN

D25 - ETH_RX_D0

D26 - ETH_RX_D1

D27 - ETH_RX_CRS



dipasang di chip LAN, sedangkan D20A dan D23 standar dipasang di chip LAN



Karena pabrikan ragu-ragu untuk memberikan diagram skematik pengontrol, saya hanya dapat memberikan di sini diagram koneksi fisika Ethernet khas yang serupa di LAN8720A.



gambar



LAN8720A juga memiliki pin jam, yang terhubung ke D17 pada papan T-Internet-POE (juga dipilih dalam sketsa):



D17 - ETH_CLOCK



dan setel ulang pin



D5 - NRST



pembaca kartu microSD



Pembaca kartu microSD terhubung ke HSPI:



D2 - SD_MISO

D12 - SD_CS

D14 - SD_SCLK

D15 - SD_MOSI



dan dalam kasus penggunaannya "mengambil" pin D2, D14, D15 gratis untuk koneksi eksternal dan dibawa ke papan. Pertanyaan "mana yang lebih menguntungkan - menggunakan pembaca kartu dan kehilangan 3 dari 12 pin gratis, atau menyimpan 3 GPIO tambahan dan meninggalkan pembaca kartu" mirip dengan pertanyaan "mana yang lebih baik: gajah atau kuda?" dan Anda harus menjawabnya setiap kali Anda menggunakan kartu T-Internet-POE.



Pin lainnya



Kami masih memiliki pin D0 (ETH_CLOCK, tidak digunakan dalam kapasitas ini) dan D1 (TX0) dan D3 (RX0).



Pin gratis



Sekarang mari beralih ke bagian yang paling menarik - deskripsi pin gratis yang dibawa ke papan pengontrol.



Yang pertama adalah grup D34, D35, D36, D39, yang hanya berfungsi di pintu masuk. Lebih baik, tentu saja, untuk input daripada tidak sama sekali, tetapi dengan defisit GPIO seperti itu, akan jauh lebih baik jika keempat pin ini adalah GPIO yang lengkap.



Dan kemudian 8 GPIO lengkap yang dapat Anda gunakan dalam proyek Anda. Di sini Anda perlu mengingat bahwa meskipun pin ini adalah GPIO lengkap, beberapa di antaranya bekerja dengan cara yang sangat aneh (misalnya, mereka mengubah potensi di awal pengontrol, dll.). Oleh karena itu, sebelum Anda menghubungkan sesuatu dengan mereka, Anda perlu mencari tahu dan mengklarifikasi poin-poin ini secara khusus.



D2 (SD_MISO)

D4

D12

D14 (SD_SCLK)

D15 (SD_MOSI)

D16

D32

D33



Seperti yang mereka katakan, ini untuk Anda, teman muda saya pemrograman dan mikrokontroler, 8 GPIO dan jangan menyangkal diri Anda sendiri.



POE



Di sini kami perlu menyampaikan beberapa patah kata lagi tentang dukungan POE, karena ini adalah salah satu kelebihan dari board ini dan salah satu "chip" -nya dan bagi banyak orang akan menjadi alasan mengapa mereka ingin membeli dan menggunakannya.



Ini mengimplementasikan dukungan penuh untuk standar POE 802.3af dengan isolasi dan manajemen daya pada chip SI3404.



Saya tidak terlalu tertarik dengan pengontrolan daya jarak jauh, jadi saya belum menguji aspek kinerja T-Internet-POE ini, tetapi, tampaknya, tidak ada masalah dengan POE.



Dukungan perangkat lunak



Seperti yang Anda pahami sendiri, Anda dapat bekerja dengan T-Internet-POE menggunakan lingkungan perangkat lunak apa pun yang mengetahui tentang perangkat keras ini, termasuk SDK asli (dan ini mungkin opsi yang paling benar), tetapi kami akan mencoba mencari tahu apa yang dapat diperas dari potongan besi ini menggunakan Arduino IDE.



Sebagai lingkungan perangkat lunak untuk eksperimen, kami menggunakan Arduino IDE versi 1.8.5 dan ESP32-Arduino versi 1.0.5 (versi terbaru pada saat penulisan ini).



Saya tidak akan menjelaskan proses pemasangan dukungan ESP32 di Arduino IDE, karena sejumlah besar materi di Internet dikhususkan untuk masalah ini, menjelaskan proses ini dalam semua nuansa.



Saya hanya akan menyebutkan satu poin di sini: ditambah semua yang tidak dimiliki pengontrol ini, ia belum memiliki dukungan asli di ESP32-Arduino versi 1.0.5. Oleh karena itu, “ESP32 DEV Module” dipilih sebagai pengontrol di pengelola papan dengan pengaturan berikut:



Mode Flash: DIO

Ukuran Flash: 4MB (32 Mb)

Skema Partisi: 4MB (1,2MB / 1,5MB)



Sketsa standar



Di bawah ini adalah sketsa yang membuat kami senang dengan produsen papan . Tidak ada yang istimewa untuk dikomentari, ini hanya menginisialisasi antarmuka Ethernet dan mengirimkan permintaan ke server di Internet.



Kode sketsa lengkap dari produsen papan
/*
    This sketch shows how to configure different external or internal clock sources for the Ethernet PHY
*/

#include <ETH.h>
#include <SPI.h>
#include <SD.h>

#define SD_MISO         2
#define SD_MOSI         15
#define SD_SCLK         14
#define SD_CS           13
/*
   * ETH_CLOCK_GPIO0_IN   - default: external clock from crystal oscillator
   * ETH_CLOCK_GPIO0_OUT  - 50MHz clock from internal APLL output on GPIO0 - possibly an inverter is needed for LAN8720
   * ETH_CLOCK_GPIO16_OUT - 50MHz clock from internal APLL output on GPIO16 - possibly an inverter is needed for LAN8720
   * ETH_CLOCK_GPIO17_OUT - 50MHz clock from internal APLL inverted output on GPIO17 - tested with LAN8720
*/
// #define ETH_CLK_MODE    ETH_CLOCK_GPIO0_OUT          // Version with PSRAM
#define ETH_CLK_MODE    ETH_CLOCK_GPIO17_OUT            // Version with not PSRAM

// Pin# of the enable signal for the external crystal oscillator (-1 to disable for internal APLL source)
#define ETH_POWER_PIN   -1

// Type of the Ethernet PHY (LAN8720 or TLK110)
#define ETH_TYPE        ETH_PHY_LAN8720

// I²C-address of Ethernet PHY (0 or 1 for LAN8720, 31 for TLK110)
#define ETH_ADDR        0

// Pin# of the I²C clock signal for the Ethernet PHY
#define ETH_MDC_PIN     23

// Pin# of the I²C IO signal for the Ethernet PHY
#define ETH_MDIO_PIN    18

#define NRST            5
static bool eth_connected = false;

void WiFiEvent(WiFiEvent_t event)
{
    switch (event) {
    case SYSTEM_EVENT_ETH_START:
        Serial.println("ETH Started");
        //set eth hostname here
        ETH.setHostname("esp32-ethernet");
        break;
    case SYSTEM_EVENT_ETH_CONNECTED:
        Serial.println("ETH Connected");
        break;
    case SYSTEM_EVENT_ETH_GOT_IP:
        Serial.print("ETH MAC: ");
        Serial.print(ETH.macAddress());
        Serial.print(", IPv4: ");
        Serial.print(ETH.localIP());
        if (ETH.fullDuplex()) {
            Serial.print(", FULL_DUPLEX");
        }
        Serial.print(", ");
        Serial.print(ETH.linkSpeed());
        Serial.println("Mbps");
        eth_connected = true;
        break;
    case SYSTEM_EVENT_ETH_DISCONNECTED:
        Serial.println("ETH Disconnected");
        eth_connected = false;
        break;
    case SYSTEM_EVENT_ETH_STOP:
        Serial.println("ETH Stopped");
        eth_connected = false;
        break;
    default:
        break;
    }
}

void testClient(const char *host, uint16_t port)
{
    Serial.print("\nconnecting to ");
    Serial.println(host);

    WiFiClient client;
    if (!client.connect(host, port)) {
        Serial.println("connection failed");
        return;
    }
    client.printf("GET / HTTP/1.1\r\nHost: %s\r\n\r\n", host);
    while (client.connected() && !client.available());
    while (client.available()) {
        Serial.write(client.read());
    }

    Serial.println("closing connection\n");
    client.stop();
}

void setup()
{
    Serial.begin(115200);

    WiFi.onEvent(WiFiEvent);

    SPI.begin(SD_SCLK, SD_MISO, SD_MOSI, SD_CS);
    if (!SD.begin(SD_CS)) {
        Serial.println("SDCard MOUNT FAIL");
    } else {
        uint32_t cardSize = SD.cardSize() / (1024 * 1024);
        String str = "SDCard Size: " + String(cardSize) + "MB";
        Serial.println(str);
    }

    pinMode(NRST, OUTPUT);
    digitalWrite(NRST, 0);
    delay(200);
    digitalWrite(NRST, 1);
    delay(200);
    digitalWrite(NRST, 0);
    delay(200);
    digitalWrite(NRST, 1);


    ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK_MODE);
}


void loop()
{
    if (eth_connected) {
        testClient("baidu.com", 80);
    }
    delay(10000);
}

      
      







Ketika saya melihat sketsa ini untuk pertama kalinya, saya bertanya-tanya: "Apa yang ingin dikatakan pabrikan tentang ini?" Satu-satunya tujuan sketsa ini adalah untuk menunjukkan bahwa teknologi ini bekerja secara prinsip. Ini memang bagus, tapi apa selanjutnya? Apa yang harus dilakukan dengan semua ini tanpa dokumentasi, atau contoh, atau tanggapan yang waras dari pabrikan?



Kampanyenya ternyata jawaban dari LILYGO adalah belajar programming dan membuat software sendiri (atau cari firmware yang sudah jadi, walaupun ini bukan olahraga).



Antarmuka dan ping



Untuk para profesional jaringan (dan mereka yang telah bergabung dengan mereka), saya akan menyampaikan beberapa patah kata tentang kecepatan kerja melalui antarmuka Wi-Fi dan Ethernet serta daya tanggapnya. Pengujian dilakukan dalam jaringan gigabit yang dibongkar, tingkat kebisingan kisaran Wi-Fi tidak dikontrol secara khusus.



Tangkapan layar pertama adalah ping pengontrol melalui antarmuka Wi-Fi. Minimum 24 ms, maksimum 105 ms, rata-rata 67 ms.



gambar



Yang kedua adalah melakukan ping ke pengontrol melalui antarmuka Ethernet. Minimum 0 ms, maksimum 9 ms, rata-rata 2 ms.



gambar



Seperti yang Anda lihat, ping melalui Ethernet kabel secara dramatis lebih rendah daripada melalui Wi-Fi (yang diharapkan). Apakah angka-angka ini baik atau buruk, saya serahkan kepada pembaca untuk menilai sendiri, saya cukup puas dengan mereka untuk tujuan saya.



Menguji



Tidaklah serius untuk menguji sistem seperti T-Internet-POE pada sketsa yang mirip dengan yang disarankan oleh pabrikan, jadi versi khusus AMS, yang diadaptasi secara khusus untuk papan ini, digunakan untuk menguji pengontrol. Mempertimbangkan bahwa ini adalah server yang menggunakan HTML, CSS, Javascript, Ajax, file grafik dan pustaka yang lengkap, operasi yang berhasil dari server semacam itu di T-Internet-POE akan menunjukkan perangkat keras yang dirancang dengan baik dan kemungkinan penggunaannya di proyek nyata.



Catatan: pengujian dilakukan pada AMS versi internal non-publik untuk T-Internet-POE. Publikasi dan distribusi versi ini tidak direncanakan, mungkin akan dilakukan nanti, setelah perbaikan yang sesuai.



Tes 1. Jalankan server AMS di T-Internet-POE



Meluncurkan AMS pada pengontrol baru dengan chip baru dan antarmuka jaringan baru bukanlah tugas yang sepele, namun demikian, dengan pendekatan dan pemahaman yang tepat tentang apa yang Anda lakukan, semuanya menjadi mungkin.



Kusen nomor 1



Dalam proses pekerjaan ini, "beting" pengontrol T-Internet-POE mulai muncul, dan hal pertama yang terungkap adalah bahwa pengontrol menolak untuk berkedip ketika kartu memori microSD dimasukkan. Tidak ada yang membantu - baik mengganti port USB, atau menyalakan dari unit terpisah, atau menekan tombol, atau mengganti kartu - pengontrol dengan keras kepala menolak untuk berkedip dengan kartu memori dimasukkan.



Sulit untuk mengatakan kesalahan pada contoh tertentu atau cacat umum dari semua pengontrol T-Internet-POE (memiliki satu contoh yang kami miliki), kami hanya dapat menyatakan bahwa masalahnya 100% dapat diulang dan dapat direproduksi.



Apa artinya ini untuk kita? Dalam istilah praktis, ini berarti bahwa pengontrol T-Internet-POE sebenarnya tidak memiliki pembaca kartu - pembaca kartu yang memblokir firmware pengontrol bukanlah pembaca kartu, tetapi bug.



Apa yang harus dilakukan? Yang tersisa hanyalah menggunakan 1,5 MB SPIFFS yang tersedia pada modul ESP32. Ya, ini tidak terlalu banyak, tetapi pada prinsipnya, 1,5 MB memori untuk perangkat IoT kurang lebih dapat diterima dalam banyak kasus.



Kusen nomor 2



Ok, kita mengabaikan card reader, sekarang kita perlu berteman dengan SPIFFS. Tampaknya tugasnya sederhana dan bahkan akrab, tetapi di sini kita berada dalam penyergapan: karena alasan tertentu, utilitas ESP32FS menolak untuk bekerja secara normal pada pengontrol ini (dalam konfigurasi ini). Memindahkan file ke memori modul ESP32 menghasilkan kesalahan berikutnya saat memasang disk SPIFFS.



Hmmm ... Jika tidak mungkin untuk mentransfer file (server) ke disk SPIFFS secara normal, hanya ada satu cara - inisialisasi antarmuka melalui koneksi Serial, dan kemudian mentransfer file ke disk SPIFFS melalui antarmuka web. Metode ini, tentu saja, sangat tidak nyaman, tetapi tidak mempengaruhi hasil akhir dengan cara apa pun - file server berhasil ditransfer ke disk SPIFFS.



Saya menghilangkan deskripsi proses mengadaptasi kode untuk pengontrol baru, karena ini akan memerlukan kompilasi antologi seperti koleksi lengkap karya VILenin dan segera melanjutkan untuk menunjukkan fakta keberhasilan operasi server AMS di T -Internet-POE (dan karenanya pengoperasian T -Internet-POE).



Memuat halaman melalui antarmuka Wi-Fi.



gambar



Memuat halaman melalui antarmuka Ethernet.



gambar



Peningkatan kecepatan sekitar 4 kali, tentu saja, mendukung Ethernet. Di sini Anda juga perlu mengingat bahwa kita berbicara tentang kode yang tidak dioptimalkan dan setelah melakukan pekerjaan yang sesuai, hasilnya akan meningkat secara signifikan.



gambar



Operasi server melalui antarmuka Ethernet di LILYGO TTGO T-Internet-POE ESP32 LAN8270A.



Tes 2. Bekerja pada dua antarmuka



Di sinilah saya harus melakukan sedikit pekerjaan pemecah mitos. Ada desas-desus yang terus-menerus di Internet bahwa pengoperasian Wi-Fi dan Ethernet secara simultan pada bundel ESP32 dan LAN8270A tidak mungkin dilakukan. Ini tidak terjadi - server AMS berfungsi dengan baik pada dua antarmuka pada saat yang sama dan dengan sempurna melayani permintaan melalui Wi-Fi dan Ethernet. Tidak ada masalah dengan ESP32 membeku atau mem-boot ulang.



gambar



Ini sudah merupakan hasil yang menarik, yang membuka prospek yang menggiurkan: karena kami memiliki server sendiri, kami dapat mengelola layanan antarmuka dengan cara apa pun, misalnya, melalui Wi-Fi untuk melayani beberapa situs dengan satu konten, dan melalui Ethernet - situs lain dengan konten lain. Secara kiasan, untuk memberikan situs dengan resep kuliner kepada nenek melalui Ethernet, dan situs dengan artikel pilihan dari TSB ke cucu melalui Wi-Fi.



Tes 3. Larangan pada salah satu antarmuka



Sekarang mari kita coba mempraktikkan gagasan melayani antarmuka yang berbeda oleh server web. Sebagai contoh, mari kita coba menerapkan penolakan layanan untuk koneksi melalui salah satu antarmuka (Ethernet).



gambar



Klien yang terhubung ke pengontrol kami melalui antarmuka Ethernet menerima penolakan layanan.



Redundansi antarmuka



Ide tentang reservasi antarmuka ada di permukaan dan meminta implementasi. Ada banyak skenario serupa, misalnya, Anda memiliki pengontrol IoT yang terhubung ke jaringan lokal melalui Ethernet. Dalam keadaan darurat, jika tautan kabel hilang, pengontrol secara otomatis menghubungkan ke router nirkabel cadangan dan melanjutkan pekerjaannya.



Perutean jaringan



Dengan dua antarmuka jaringan yang berfungsi yang Anda inginkan, Anda dapat merutekan paket di jaringan sesuka Anda. Tidak ada yang mau menambahkan perutean data melalui nRF24 atau LoRa atau melalui jaringan nirkabel lain ke skema perutean Wi-Fi dan Ethernet. Dengan demikian, Anda dapat membuat router apa pun untuk sistem IoT Anda.



Nah, dan seperti disebutkan di atas, ada banyak kasus penggunaan yang lebih menarik untuk pengontrol dengan dua antarmuka jaringan.



Hasil



Sekarang mari kita rangkum penelitian kecil ini: secara umum, terlepas dari beberapa tiang tembok dan penyakit masa kanak-kanak, saya menyukai pengontrol LILYGO TTGO T-Internet-POE ESP32 LAN8270A - ini adalah alat yang sangat baik untuk membangun sistem IoT, terutama jika Anda memiliki kualifikasi yang sesuai dan tidak tanpa imajinasi dan pendekatan kreatif untuk pekerjaan Anda.



Pro dan kontra dari LILYGO TTGO T-Internet-POE ESP32 LAN8270A.



Kelebihan:

  • Berhasil!
  • Solusi Lengkap Wi-Fi + Ethernet + POE + GPIO Terintegrasi
  • Kerja bagus tanpa macet dan reboot (tidak ada masalah yang teridentifikasi selama pengujian)
  • Kemungkinan bekerja secara simultan pada dua antarmuka


Minus:

  • Kurangnya dokumentasi, contoh dan penjelasan
  • Ambang batas masuk yang relatif tinggi
  • Penyakit masa kanak-kanak dan beting kecil dalam implementasi



All Articles