星やLILYGOTTGOTぞの苊難を通しお-むンタヌネット-POEESP32 LAN8270A

画像

私はの光景キャッチ LILYGO TTGO T-むンタヌネット-POE ESP32 LAN8270Aボヌドを、そしおもちろん私は、このような興味深い目新しで枡すこずができたせんでしたESP32、LAN8270A、POE、SDカヌド、のWi-Fi +むヌサネット...それは感じに面癜かったですTTXボヌドは、IoT、DIY、および䞀般的に「Wi-Fi +むヌサネットずあなたが想像できるもの」の分野で䜿甚するための非垞に興味深い芋通しを玄束したため、私自身の手で暗い䞭囜の倩才のこの䜜品を実際の䜜品でテストしたす。」



しかし、い぀ものように、売り手ずメヌカヌのWebサむトでパンフレットを宣䌝しおから、ボヌドを立ち䞊げおテストを実斜するたでの道のりは、非垞に困難で厄介であるこずが刀明したした。次に、このトピックに関する私の魅力的な研究に぀いおのレポヌトをお届けしたす。



庭の石LILYGO



私の芳察によれば、倚くの「ハヌドりェア」の補造業者は、1぀の䞀般的な病気に苊しんでいたす。それは、マヌケティング胜力の完党な欠劂であり、䞀般に、補品が人々に䜕をしおいるのかに぀いおの基本的な理解です。



良い䟋は、 LILYGO TTGO T-Internet-POE ESP32 LAN8270Aです以䞋、簡朔にするために、このボヌドをT-Internet-POEず呌びたす。メヌカヌは面癜いボヌドを䜜りたした、しかし...他に䜕もしたせんでした



  • 通垞のコントロヌラヌのピン配眮なし
  • 回路図なし
  • ボヌドの䜿甚法ずその䜿甚の兞型的なパタヌンに぀いおの正しい説明はありたせん
  • ボヌドの個々のコンポヌネントの操䜜に関する技術的な説明はありたせん
  • コヌド䟋はありたせん「やめろ、男の子、わざわざ仕事をしないでください」のスケッチが1぀ありたす
  • ドキュメントのあるりェブサむトはありたせん
  • 有胜でやる気のあるモデレヌタヌずのフォヌラムはありたせん
  • このコントロヌラヌに興味があるが、圌が自分の目的のためにそれをどこで䜿甚できるかわからない理解しおいない人々のための人気のあるやる気を起こさせる蚘事はありたせん
  • そしお、あるべきだったこずがただたくさんありたす


芁するに、T-Internet-POEをあえお賌入する人は誰もが非の打ちどころのないDIY戊士でなければなりたせん。さもなければ、圌はLILYGOずのこの戊いで生き残るチャンスがありたせん。そのような人はたくさんいたすか



そしお、このビゞネスぞのアプロヌチで、圌らはどうやっお䜕かを売るこずさえできたすかそしお、はんだごおを少し脇に眮いお顧客を思い出した堎合、売䞊はどのくらい増えるでしょうか。



質問は修蟞的ですが、どういうわけか、さらに私はLILYGOの技術郚門ずマヌケティング郚門のためにすべおの仕事をしなければなりたせん。



トリックは䜕ですか



簡単に蚀えば、このボヌドでは、ESP32Wi-Fi、むヌサネット、POEを1぀のデバむスにほがうたく組み合わせ、microSDカヌドリヌダヌの圢でこのケヌキの䞊にチェリヌを远加するこずができたした。これらのコンポヌネントの1぀の組み合わせから、このボヌドを䜿甚するための倚くの興味深いオプションがすぐに続きたす。



  • むヌサネットチャネルの圢匏のバックアップを䜿甚しおWi-Fi経由で動䜜する
  • Wi-Fi接続の圢匏でバックアップを䜿甚しおむヌサネット経由で動䜜したす
  • Wi-Fiリンクずむヌサネットリンクの䞡方のサヌビス
  • 䞡方向のWi-Fiずむヌサネット間のルヌタヌ
  • 2぀のむンタヌフェヌス甚のWebサヌバヌ
  • 異なるむンタヌフェむス䞊の異なるWebサヌバヌ
  • POEを介したリモヌトコントロヌラヌの電源


そしお、他の倚くの興味深いオプションちなみに、ネットワヌクコンポヌネント自䜓に加えお、ボヌドにはGPIO出力があり、本来の目的、぀たりIoTコントロヌラヌずしお䜿甚できるこずを忘れないでください。



ご芧のずおり、IoTずDIYでのこのボヌドの適甚範囲は、想像力ずニヌズによっおのみ制限され、䞀般にT-Internet-POEはデバむスずしお非垞に有望に芋えたす。



次に、ボヌド䞊の情報がほが完党に䞍足しおいるこずを考えるず、それほど簡単な䜜業ではない、このすべおの玠晎らしさに察凊する方法を芋぀けおみたしょう。



仕様



ここでは、ボヌドのすべおの技術的特性の完党なリストを提䟛するわけではありたせん。それは䜕であり、販売者ず補造者のWebサむトで問題はありたせん問題は、これらの特性以倖に䜕もないこずです。キヌボヌド芁玠のリストは次のずおりです。



  • ESP32-WROOM4MB
  • LAN8720AむヌサネットPHY
  • POE 802.3af
  • microSDカヌドリヌダヌ
  • 倖郚接続甚の12個のGPIOピン


この構成は私たちに䜕を教えおくれたすかこのボヌドをWebサヌバヌずしお䜿甚する堎合、ファむルはmicroSDメモリカヌドずESP32モゞュヌルの内郚メモリの䞡方たたはその䞡方に同時にに保存できたす。



同時に、12個の無料GPIOはあいたいな印象を䞎えたす。䞀方で、これはすでに「䜕か」であり、ESP8266よりもはるかに優れおいたす。他方、数十のGPIOを備えたMega 2560でのプロゞェクトの埌、 12ピンは非垞に控えめに芋え、開発の可胜性を倧幅に制限したす。ここでは、ある皮のポヌト゚クステンダヌを発明するか、他のコントロヌラヌずタンデムアセンブリを䜜成する必芁がありたす。



コントロヌラオプション



よく調べおみるず、同じ名前で2぀の異なるコントロヌラヌがありたす。1぀はESP32-WROOMにあり、もう1぀はESP32-WROVER-Bにありたすが、すぐにはわかりたせん。ボヌドはほが同じように芋えたす。そしお、あなたはゲヌム「10の違いを探す」をプレむするこずができたす...



画像



ESP32-WROOMでコントロヌラヌを入手したので、以降のナレヌションでそれを参照したす。



プログラマヌ



LILYGOの゚ンゞニアはナヌザヌから遠く離れおいるため、圌らの決定を理解するのは必ずしも簡単ではありたせん。これらの゜リュヌションには、T-Internet-POEコントロヌラヌ甚にCP2104チップ䞊に別個のプログラマヌボヌドを䜜成するこずが含たれたす。



䜕のためにこのノヌドをコントロヌラヌボヌド自䜓に統合したり、他のすべおのハヌドりェアメヌカヌず同様に暙準のUSB-TTLアダプタヌを䜿甚したりできるのに、なぜ別のプログラマヌが必芁なのですか答えは、明らかに、LILYGO開発者だけが知っおいたすしかし、この小さな創造性を圌らに蚱したしょう。



画像



しかし、LILYGO開発者は理解できないこずをしただけでなく、なんずかそれを曲がらせたした。



  • たず、2.0mmのピッチで人々に愛されおいるピンを䜿甚したした
  • 第二に、圌らはボヌドの裏偎にコネクタを取り付けるために提䟛したした


そのような゜リュヌションの開発者には、仕事に気を取られお䌑む時間をずるこずをお勧めしたす。



その結果、ある皮の奇劙な怪物が生たれ たす。そしお、問題が審矎的な芁玠だけに限定されおいれば、すべおがうたくいくでしょうが、ここではもっず深刻な問題が発生したす



  • ボヌドが通垞の䜍眮に取り付けられお固定されおいる堎合、プログラマヌピンはボヌドの䞋郚にあり、コントロヌラヌを分解せずに接続するこずはできたせん。
  • 固定せずにボヌドを䜿甚する堎合、ピッチ2.0のコネクタは十分な剛性を提䟛せず、構造党䜓がい぀でもバラバラになり、呚囲のすべおを閉じる恐れがありたす。


この開発者のわき柱の平準化ずしお、ボヌドの䞊面にピンのラむンをはんだ付けし、6ピン2.0 mmフレキシブルアダプタヌを䜜成たたは販売されおいる堎合は賌入するこずをお勧めしたす。



ピン配眮



たず、ピン配眮のオリゞナルバヌゞョン可胜な限り栜培を提䟛したす。「知っおいる」人にずっおは十分な情報がありたすが、残りの人はこの「䞭囜のリテラシヌ」からほずんど理解できたせん。



画像



これをロシア語に翻蚳しお、芁玠のピン配眮ずコントロヌラヌリ゜ヌスの割り圓おで䜕が起こるかを䞀般的に理解しおみたしょう。



合蚈で、ESP32には40ピンD0 – D39があり、そのうち14ピン



D6 – D11、D20、D24、D28-D31、D37、D38



は、実際には䜿甚されおいないため、考慮から陀倖したすさたざたな理由から、目的の詳现な分析これらのピンのうち、この蚘事の範囲を超えおいたす。残り



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



はLANチップにむンストヌルされ、D20AずD23はLANにむンストヌルされたす



メヌカヌがコントロヌラヌの回路図を提䟛するこずを躊躇したので、ここではLAN8720Aでの同様の兞型的なむヌサネット物理接続図しか提䟛できたせん。



画像



LAN8720Aには、T-Internet-POEボヌドのD17に接続されおいるクロックピンもありたすスケッチでも遞択されおいたす。



D17-ETH_CLOCK



およびリセットピン



D5-NRST



microSDカヌドリヌダヌ



microSDカヌドリヌダヌはHSPIに接続されおいたす



D2-SD_MISO

D12-SD_CS

D14-SD_SCLK

D15-SD_MOSI



䜿甚する堎合は、ピンD2、D14、D15を倖郚接続甚に解攟し、ボヌドに接続したす。「カヌドリヌダヌを䜿甚しお12本の空きピンのうち3本を倱うか、3぀の䜙分なGPIOを保持しおカヌドリヌダヌを攟棄する方が収益性が高い」ずいう質問は、「象ず銬のどちらが良いか」ずいう質問に䌌おいたす。T-Internet-POEカヌドを䜿甚するたびに答える必芁がありたす。



その他のピン



ピンD0ETH_CLOCK、この容量では䜿甚されたせんずD1TX0およびD3RX0がただありたす。



フリヌピン



次に、最も興味深い郚分、぀たりコントロヌラヌボヌドに持ち蟌たれたフリヌピンの説明に移りたしょう。



1぀目は、入口でのみ機胜するグルヌプD34、D35、D36、D39です。もちろん、䜕もないよりも入力の方が優れおいたすが、このようなGPIOの䞍足がある堎合は、これらの4぀のピンが本栌的なGPIOであるずはるかに優れおいたす。



そしお、プロゞェクトで䜿甚できる8぀の本栌的なGPIO。ここで、これらのピンは本栌的なGPIOですが、䞀郚は非垞に特殊な方法で機胜するこずを芚えおおく必芁がありたすたずえば、コントロヌラヌの起動時に電䜍が倉化するなど。したがっお、䜕かをそれらに接続する前に、これらの点を具䜓的に芋぀けお明確にする必芁がありたす。



D2SD_MISO

D4

D12

D14SD_SCLK

D15SD_MOSI

D16

D32

D33



圌らが蚀うように、これがプログラミングずマむクロコントロヌラヌの私の若い友人である8぀のGPIOであり、自分自身を吊定するものではありたせん。



POE



ここで、POEサポヌトに぀いおもう少し説明する必芁がありたす。これはこのボヌドの利点の1぀であり、その「チップ」の1぀であり、倚くの人にずっお、POEサポヌトを賌入しお䜿甚したいず思う理由になるからです。



これは、SI3404チップ䞊での分離ず電源管理を備えたPOE802.3af暙準の完党なサポヌトを実装したす。



私はコントロヌラヌのリモヌト電源䟛絊にはあたり興味がないので、T-Internet-POEパフォヌマンスのこの偎面をテストしおいたせんが、明らかに、POEに問題はありたせん。



゜フトりェアサポヌト



ご存知のずおり、ネむティブSDKを含め、このハヌドりェアを認識しおいる任意の゜フトりェア環境を䜿甚しおT-Internet-POEを操䜜できたすこれがおそらく最も正しいオプションですが、䜕を圧瞮できるかを調べたす。 ArduinoIDEを䜿甚しおこの鉄片から。



実隓甚の゜フトりェア環境ずしお、Arduino IDEバヌゞョン1.8.5およびESP32-Arduinoバヌゞョン1.0.5この蚘事の執筆時点での最新ビルドを䜿甚したした。



Arduino IDEにESP32サポヌトをむンストヌルするプロセスそのものに぀いおは説明したせん。これは、むンタヌネット䞊の膚倧な量の資料がこの問題に専念しおおり、このプロセスをあらゆるニュアンスで説明しおいるためです。



ここで1぀だけ蚀及したす。それに加えお、このコントロヌラヌにはないすべおのものがあり、ESP32-Arduinoバヌゞョン1.0.5ではただネむティブサポヌトがありたせん。そのため、ボヌドマネヌゞャヌのコントロヌラヌずしお「ESP32DEVモゞュヌル」を次​​の蚭定で遞択したした。



フラッシュモヌドDIO

フラッシュサむズ4MB32 Mb

パヌティションスキヌム4MB1.2MB / 1.5MB



暙準スケッチ



以䞋は、ボヌドメヌカヌに喜ばれたスケッチ です。コメントする特別なこずは䜕もありたせん。むヌサネットむンタヌフェむスを初期化し、むンタヌネット䞊のサヌバヌに芁求を送信するだけです。



ボヌドメヌカヌからの完党なスケッチコヌド
/*
    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);
}

      
      







このスケッチを初めお芋たずき、「メヌカヌはこれで䜕を蚀いたかったのか」ず思いたした。このスケッチの唯䞀の目的は、このテクノロゞヌが原則ずしお機胜するこずを瀺すこずです。これは確かに良いこずですが、次は䜕ですかドキュメント、䟋、たたは補造元からの適切な応答がなくおも、これらすべおをどうするか



キャンペヌンの結果、LILYGOからの答えは、プログラミングを孊び、自分で゜フトりェアを䜜成するこずですたたは、スポヌツではありたせんが、既補のファヌムりェアを探すこずです。



むンタヌフェむスずping



ネットワヌクの専門家およびそれらに参加しおいる人のために、Wi-Fiおよびむヌサネットむンタヌフェむスを介した䜜業の速床ずその応答性に぀いお簡単に説明したす。テストは無負荷のギガビットネットワヌクで実行され、Wi-Fi範囲のノむズレベルは特に制埡されおいたせんでした。



最初のスクリヌンショットは、Wi-Fiむンタヌフェむスを介したコントロヌラヌのpingです。最小24ミリ秒、最倧105ミリ秒、平均67ミリ秒。



画像



2぀目は、むヌサネットむンタヌフェむスを介しおコントロヌラヌにpingを実行するこずです。最小0ミリ秒、最倧9ミリ秒、平均2ミリ秒。



画像



ご芧のずおり、有線むヌサネットを介したpingは、Wi-Fiを介したpingよりも倧幅に䜎くなっおいたす予想どおり。これらの数字が良いか悪いかにかかわらず、私は読者に自分で刀断するこずを任せたす、私は私の目的のためにそれらに非垞に満足しおいたす。



テスト



T-Internet-POEのようなシステムを、補造元が提案したものず同様のスケッチでテストするこずは深刻ではないため、このボヌド甚に特別に適合されたAMSの専甚バヌゞョンを䜿甚しおコントロヌラヌをテストしたした。これが本栌的なHTML、CSS、Javascript、Ajax、グラフィックファむル、ラむブラリを䜿甚するサヌバヌであるこずを考えるず、T-Internet-POEでこのようなサヌバヌが正垞に動䜜するこずは、適切に蚭蚈されたハヌドりェアず、実際のプロゞェクト。



泚テストは、T-Internet-POE甚の内郚の非公開バヌゞョンのAMSで実行されたした。このバヌゞョンの公開ず配垃は蚈画されおいたせん。適切な改善を行った埌、おそらく埌で行われる予定です。



テスト1.T-Internet-POEでAMSサヌバヌを実行したす



新しいチップず新しいネットワヌクむンタヌフェむスを備えた新しいコントロヌラヌでAMSを起動するこずは簡単な䜜業ではありたせんが、それでも、適切なアプロヌチず実行内容の理解により、すべおが可胜になりたす。



わき柱番号1



この䜜業の過皋で、T-Internet-POEコントロヌラヌの「浅瀬」が出珟し始め、最初に明らかになったのは、microSDメモリヌカヌドが挿入されたずきにコントロヌラヌがフラッシュを拒吊したこずでした。 USBポヌトの亀換、別のナニットからの電源䟛絊、ボタンの抌䞋、カヌドの亀換など、䜕の圹にも立ちたせん。コントロヌラヌは、メモリヌカヌドを挿入した状態で頑固にフラッシュを拒吊したす。



特定のむンスタンスの䞍具合やすべおのT-Internet-POEコントロヌラヌの䞀般的な欠陥1぀のむンスタンスを自由に䜿甚できるを蚀うのは難しいですが、問題は100再珟可胜で再珟可胜であるずしか蚀えたせん。



これは私たちにずっおどういう意味ですか実際には、これはT-Internet-POEコントロヌラヌに実際にはカヌドリヌダヌがないこずを意味したす。コントロヌラヌのファヌムりェアをブロックするカヌドリヌダヌはカヌドリヌダヌではなく、バグです。



䜕をすべきか残っおいるのは、ESP32モゞュヌルで利甚可胜な1.5 MBSPIFFSを䜿甚するこずだけです。はい、これはそれほど倚くはありたせんが、原則ずしお、IoTデバむス甚の1.5MBのメモリは倚かれ少なかれほずんどの堎合蚱容されたす。



わき柱番号2



さお、私たちはカヌドリヌダヌを攟棄したした。今床はSPIFFSず友達を䜜る必芁がありたす。タスクは単玔でなじみ深いようですが、ここで埅ち䌏せをしおいたす。䜕らかの理由で、ESP32FSナヌティリティはこのコントロヌラヌこの構成で正垞に動䜜するこずを拒吊したす。ファむルをESP32モゞュヌルメモリに移動するず、SPIFFSディスクのマりント䞭に゚ラヌが発生したす。



うヌん...ファむルサヌバヌをSPIFFSディスクに正垞に転送できない堎合は、シリアル接続を介しおむンタヌフェむスを初期化し、Webむンタヌフェむスを介しおファむルをSPIFFSディスクに転送するずいう1぀の方法しかありたせん。もちろん、この方法はあたり䟿利ではありたせんが、最終結果にはたったく圱響したせん。サヌバヌファむルはSPIFFSディスクに正垞に転送されたした。



新しいコントロヌラヌにコヌドを適合させるプロセスの説明は省略したす。これには、VILeninによる䜜品の完党なコレクションのようなアン゜ロゞヌをコンパむルする必芁があり、すぐにTでAMSサヌバヌが正垞に動䜜するずいう事実のデモンストレヌションに進むためです。 -Internet-POEしたがっお、T -Internet-POEの操䜜性。



Wi-Fiむンタヌフェヌスを介しおペヌゞを読み蟌んでいたす。



画像



むヌサネットむンタヌフェむスを介しおペヌゞをロヌドしおいたす。



画像



速床の向䞊は、圓然、むヌサネットを支持しお玄4倍です。ここでは、最適化されおいないコヌドに぀いお話しおいるこずにも留意する必芁がありたす。適切な䜜業を実行するず、結果が倧幅に向䞊するはずです。



画像



LILYGO TTGO T-Internet-POE ESP32LAN8270Aのむヌサネットむンタヌフェむスを介したサヌバヌ操䜜。



テスト2.2぀のむンタヌフェヌスでの䜜業



これは私がちょっずした神話の仕事をしなければならないずころです。ESP32ずLAN8270AのバンドルでWi-Fiずむヌサネットを同時に操䜜するこずは䞍可胜であるずいう噂がむンタヌネット䞊に根匷く残っおいたす。これは圓おはたりたせん。AMSサヌバヌは2぀のむンタヌフェむスで同時に正垞に動䜜し、Wi-Fiずむヌサネットを介しお芁求を完党に凊理したす。ESP32のフリヌズや再起動に問題はありたせん。



画像



これはすでに興味深い結果であり、魅力的な芋通しが開かれおいたす。独自のサヌバヌがあるため、Wi-Fiを介しお1぀のコンテンツで䞀郚のサむトにサヌビスを提䟛したり、むヌサネットを介したりするなど、あらゆる方法でむンタヌフェむスのサヌビスを管理できたす。 -他のコンテンツを含む他のサむト。比喩的に蚀えば、むヌサネット経由で祖母に料理レシピのサむトを提䟛し、Wi-Fi経由でTSBから孫に遞択された蚘事のサむトを提䟛したす。



テスト3.むンタヌフェヌスの1぀を犁止する



それでは、りェブサヌバヌによっおさたざたなむンタヌフェヌスを提䟛するずいうアむデアを実践しおみたしょう。䟋ずしお、むンタヌフェむスの1぀むヌサネットを介した接続に察しおサヌビス拒吊を実装しおみたしょう。



画像



むヌサネットむンタヌフェヌスを介しおコントロヌラヌに接続されたクラむアントがサヌビス拒吊を受けたした。



むンタヌフェむスの冗長性



むンタヌフェヌス予玄のアむデアそのものが衚面化しおおり、実装を求めおいたす。倚くの同様のシナリオがありたす。たずえば、むヌサネットを介しおロヌカルネットワヌクに接続されおいるIoTコントロヌラヌがありたす。緊急時に有線リンクが倱われるず、コントロヌラヌは自動的にバックアップワむダレスルヌタヌに接続し、䜜業を続行したす。



ネットワヌクルヌティング



2぀の機胜するネットワヌクむンタヌフェむスを自由に䜿甚できるため、ネットワヌク内でパケットを奜きなようにルヌティングできたす。nRF24やLoRa、たたはその他のワむダレスネットワヌクを介したデヌタルヌティングをWi-Fiおよびむヌサネットルヌティングスキヌムに远加する必芁はありたせん。したがっお、IoTシステム甚の任意のルヌタヌを䜜成できたす。



さお、そしお䞊蚘のように、2぀のネットワヌクむンタヌフェヌスを備えたコントロヌラヌには、さらに倚くの興味深いナヌスケヌスがありたす。



結果



ここで、この小さな研究を芁玄したしょう。䞀般に、いく぀かのわき柱や子䟛の病気にもかかわらず、私はLILYGO TTGO T-Internet-POE ESP32 LAN8270Aコントロヌラヌが奜きでした-特に適切な資栌を持っおいお、そうでない堎合は、IoTシステムを構築するための優れたツヌルです想像力ずあなたの仕事ぞの創造的なアプロヌチなしで。



LILYGO TTGO T-Internet-POE ESP32LAN8270Aの長所ず短所。



長所

  • できたす
  • 完党な統合Wi-Fi +むヌサネット+ POE + GPIO゜リュヌション
  • フリヌズや再起動のない良奜な䜜業テスト䞭に問題は特定されたせんでした
  • 2぀のむンタヌフェヌスでの同時䜜業の可胜性


マむナス

  • ドキュメント、䟋、説明がたったくない
  • 比范的高い゚ントリしきい倀
  • 実斜䞭の小児期の病気ず軜床の矀れ



All Articles