J'ai aperçu la carte LILYGO TTGO T-Internet-POE ESP32 LAN8270A et bien sûr je ne pouvais pas passer par une nouveauté aussi intéressante: ESP32, LAN8270A, POE, carte SD, Wi-Fi + Ethernet ... C'était intéressant à ressentir ce travail d'un sombre génie chinois de mes propres mains et le tester en vrai travail, car les cartes TTX promettaient des perspectives très intéressantes d'utilisation dans l'IoT, le bricolage, et en général dans le domaine du "Wi-Fi + Ethernet et ce que vous pouvez imaginer . "
Mais, comme toujours, le chemin entre les brochures publicitaires sur les sites Web des vendeurs et des fabricants et le lancement de la carte et la réalisation de tests s'est avéré très difficile et épineux. Ensuite, j'attire votre attention sur un rapport sur mes recherches passionnantes sur ce sujet.
Pierre dans le jardin LILYGO
D'après mes observations, (de nombreux) fabricants de "matériel" souffrent d'une maladie générique - un manque total de compétence en marketing et, en général, une compréhension élémentaire de ce que leurs produits font pour les gens.
Un bon exemple est LILYGO TTGO T-Internet-POE ESP32 LAN8270A (ci-après, nous appellerons cette carte T-Internet-POE par souci de concision). Le fabricant a fait une planche intéressante, mais ... n'a rien fait d'autre:
- pas de brochage normal du contrôleur
- pas de schéma de circuit
- il n'y a pas de description sensée de l'utilisation de la carte et des schémas typiques de son utilisation
- il n'y a pas d'explications techniques pour le fonctionnement des composants individuels de la carte
- pas d'exemple de code (il y a 1 (!) esquisse pour "fuck off, boy, don't bother work")
- pas de site web avec documentation
- il n'y a pas de forum avec des modérateurs compétents et motivés
- il n'y a pas d'articles populaires et motivants pour ceux qui sont intéressés par ce contrôleur, mais ne savent pas (ne comprennent pas) où il pourrait l'utiliser à ses propres fins
- et il y a encore beaucoup de choses qui auraient dû être
Bref, il n'y a rien du tout et quiconque ose acheter T-Internet-POE doit être un guerrier DIY impeccable, sinon il n'a aucune chance de survivre dans cette bataille avec LILYGO. Est-ce que nous sommes nombreux comme ça?
Et comment, avec cette approche des affaires, parviennent-ils même à vendre quelque chose? Et combien augmenteraient leurs ventes s'ils mettaient le fer à souder de côté pendant un moment et se souvenaient de leurs clients?
Les questions sont rhétoriques, mais d'une manière ou d'une autre, je devrai faire tout le travail pour les services techniques et marketing de LILYGO.
C'est quoi le truc?
En termes simples, sur cette carte, nous avons réussi à combiner plus ou moins avec succès ESP32 (Wi-Fi), Ethernet, POE dans un seul appareil, et ajouter une cerise sur le gâteau sous la forme d'un lecteur de carte microSD. À partir d'une seule combinaison de ces composants, de nombreuses options intéressantes pour utiliser cette carte suivent immédiatement:
- travailler via Wi-Fi avec une sauvegarde sous la forme d'un canal Ethernet
- travailler sur Ethernet avec une sauvegarde sous la forme d'une connexion Wi-Fi
- service de liaisons Wi-Fi et Ethernet
- routeur entre Wi-Fi et Ethernet dans les deux sens
- serveur web pour deux interfaces
- différents serveurs Web sur différentes interfaces
- alimentation de la commande (à distance) via POE
Et de nombreuses autres options intéressantes (en passant, n'oubliez pas qu'en plus du composant réseau lui-même, la carte possède des sorties GPIO et peut être utilisée aux fins prévues, c'est-à-dire en tant que contrôleur IoT).
Comme vous pouvez le voir, le champ d'application de cette carte dans l'IoT et le bricolage n'est limité que par votre imagination et vos besoins, et en général T-Internet-POE semble très prometteur en tant qu'appareil.
Ensuite, essayons de comprendre comment faire face à toute cette splendeur, ce qui, étant donné le manque presque complet d'informations au tableau, n'est pas une tâche si facile.
Caractéristiques
Nous ne fournirons pas ici une liste complète de toutes les caractéristiques techniques de la carte - c'est avec quoi, et cela ne pose aucun problème sur les sites Web des vendeurs et des fabricants (le problème est qu'il n'y a rien d'autre que ces caractéristiques). Voici juste une liste des éléments clés du tableau:
- ESP32-WROOM (4 Mo)
- LAN8720A (Ethernet PHY)
- POE 802.3af
- lecteur de carte microSD
- 12 broches GPIO pour les connexions externes
Que nous dit cette configuration? Que lors de l'utilisation de cette carte comme serveur Web, les fichiers peuvent être stockés à la fois sur une carte mémoire microSD et dans la mémoire interne du module ESP32 (ou les deux à la fois).
Dans le même temps, 12 GPIO gratuits produisent une impression ambiguë - d'une part, c'est déjà «quelque chose» et bien mieux que sur l'ESP8266, et d'autre part, après des projets sur le Mega 2560 avec ses dizaines de GPIO, Les 12 broches semblent très, très modestes et limitent considérablement les possibilités de développement - ici, vous devrez soit inventer une sorte d'extension de port, soit faire des assemblages en tandem avec d'autres contrôleurs.
Options du contrôleur
En y regardant de plus près, il s'avère que sous le même nom, il y a deux contrôleurs différents - un sur l'ESP32-WROOM et le second sur l'ESP32-WROVER-B, que vous ne pouvez pas voir immédiatement - les cartes se ressemblent presque. et vous pouvez jouer au jeu "trouver 10 différences" ...
J'ai le contrôleur sur l'ESP32-WROOM, donc la narration ultérieure y fera référence.
Programmeur
Les ingénieurs LILYGO sont si éloignés de leurs utilisateurs que leurs décisions ne sont pas toujours faciles à comprendre. Ces solutions incluent la création d'une carte de programmation séparée sur la puce CP2104 pour le contrôleur T-Internet-POE.
Pourquoi? Pourquoi avez-vous besoin d'un programmeur séparé lorsque ce nœud peut être intégré sur la carte contrôleur elle-même ou simplement utiliser des adaptateurs USB-TTL standard (comme le font tous les autres fabricants de matériel)? La réponse, apparemment, seuls les développeurs LILYGO le savent (mais pardonnons-leur ce petit créatif).
Mais non seulement les développeurs de LILYGO ont fait une chose incompréhensible, mais ils ont également réussi à la rendre tordue:
- tout d'abord, ils ont utilisé des épingles aimées par les gens avec un pas de 2,0 mm
- d'autre part, ils prévoyaient l'installation du connecteur sur le côté inverse (!) de la carte
(Pour les développeurs d'une telle solution, je recommanderais parfois d'être distrait du travail et de prendre le temps de se reposer.)
Le résultat est une sorte de monstre étrange. Et tout irait bien si le problème se limitait uniquement à la composante esthétique, mais ici des problèmes plus graves émergent:
- si la carte est installée et fixée dans sa position normale, les broches du programmateur sont au bas de la carte et il est impossible de s'y connecter sans démonter le contrôleur;
- si vous travaillez avec une carte sans fixation, alors les connecteurs avec un pas de 2.0 n'offrent pas une rigidité adéquate et toute la structure risque de s'effondrer à tout moment et de tout fermer.
Pour niveler ce montant de développeurs, nous pouvons vous recommander de souder une ligne de broches sur le dessus de la carte et de fabriquer (ou d'acheter, s'il est vendu) un adaptateur flexible 6 broches de 2,0 mm.
Brochage
Pour commencer, nous donnerons la version originale du pinout (cultivée autant que possible). Pour ceux "qui sont au courant", il y a suffisamment d'informations, les autres comprendront peu de cette "alphabétisation chinoise".
Essayons de traduire cela en russe et voyons généralement ce qui se passe là-bas avec le brochage des éléments et l'allocation des ressources du contrôleur.
Au total, ESP32 a 40 broches (D0 - D39), dont 14 broches
D6 - D11, D20, D24, D28-D31, D37, D38
nous excluons de la considération comme pratiquement inutilisé (pour diverses raisons, une analyse détaillée de l'objectif de ces broches sort du cadre de cet article). Rester:
Broches de connexion Ethernet de la puce 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
sont installés dans la puce LAN D20 tandis que le standard D20 est installé dans la puce LAN D23
Le fabricant ayant hésité à fournir un schéma de principe du contrôleur, je ne peux donner ici qu'un schéma de connexion physique Ethernet typique similaire sur LAN8720A.
Le LAN8720A dispose également d'une broche d'horloge, qui est connectée à D17 sur la carte T-Internet-POE (également sélectionnée dans le croquis):
D17 - ETH_CLOCK
et réinitialiser la broche
D5 - NRST
lecteur de carte microSD
Le lecteur de carte microSD est connecté à HSPI:
D2 - SD_MISO
D12 - SD_CS
D14 - SD_SCLK
D15 - SD_MOSI
et en cas d'utilisation "prend" les broches D2, D14, D15 libres pour les connexions externes et amenées à la carte. La question "qui est le plus rentable - utiliser un lecteur de carte et perdre 3 des 12 broches gratuites, ou garder 3 GPIO supplémentaires et abandonner le lecteur de carte" s'apparente à la question "quel est le meilleur: un éléphant ou un cheval?" et vous devez y répondre chaque fois que vous utilisez la carte T-Internet-POE.
Autres épingles
Nous avons toujours les broches D0 (ETH_CLOCK, non utilisées à ce titre) et D1 (TX0) et D3 (RX0).
Broches gratuites
Passons maintenant à la partie la plus intéressante - la description des broches libres apportées à la carte contrôleur.
Le premier est le groupe D34, D35, D36, D39, qui fonctionne uniquement à l'entrée. Mieux vaut, bien sûr, à l'entrée que rien du tout, mais avec un tel déficit GPIO, ce serait bien mieux si ces quatre broches étaient des GPIO à part entière.
Et puis 8 GPIO à part entière que vous pouvez utiliser dans vos projets. Ici, vous devez vous rappeler que bien que ces broches soient des GPIO à part entière, certaines d'entre elles fonctionnent d'une manière très particulière (par exemple, elles changent le potentiel au démarrage du contrôleur, etc.). Par conséquent, avant de leur connecter quelque chose, vous devez spécifiquement découvrir et clarifier ces points.
D2 (SD_MISO)
D4
D12
D14 (SD_SCLK)
D15 (SD_MOSI)
D16
D32
D33
Comme on dit, voici pour vous, mon jeune ami de la programmation et des microcontrôleurs, 8 GPIO et ne vous refusez rien.
POE
Ici, nous devons dire quelques mots de plus sur le support POE, car c'est l'un des avantages de cette carte et de l'une de ses "puces" et pour beaucoup, ce sera la raison pour laquelle ils voudront l'acheter et l'utiliser.
Il implémente une prise en charge complète de la norme POE 802.3af avec isolation et gestion de l'alimentation sur la puce SI3404.
Je ne suis pas très intéressé par l'alimentation à distance du contrôleur, donc je n'ai pas testé cet aspect des performances de T-Internet-POE, mais, apparemment, il n'y a aucun problème avec POE.
Support logiciel
Comme vous le comprenez vous-même, vous pouvez travailler avec T-Internet-POE en utilisant n'importe quel environnement logiciel qui connaît ce matériel, y compris le SDK natif (et c'est probablement l'option la plus correcte), mais nous essaierons de découvrir ce qui peut être compressé. de ces morceaux de fer en utilisant l'IDE Arduino.
En tant qu'environnement logiciel pour les expériences, nous avons utilisé Arduino IDE version 1.8.5 et ESP32-Arduino version 1.0.5 (la dernière version au moment de la rédaction de cet article).
Je ne décrirai pas le processus même d'installation du support ESP32 dans l'IDE Arduino, car une énorme quantité de documents sur Internet sont consacrés à ce problème, décrivant ce processus dans toutes les nuances.
Je ne mentionnerai qu'un seul point ici: en plus de tout ce que ce contrôleur n'a pas, il n'a pas encore de support natif dans l'ESP32-Arduino version 1.0.5. Par conséquent, «ESP32 DEV Module» a été sélectionné comme contrôleur dans le gestionnaire de carte avec les paramètres suivants:
Mode Flash: DIO
Flash Taille: 4 Mo (32 Mo)
Schéma de partition: 4 Mo (1,2 Mo / 1,5 Mo)
Esquisse standard
Ci-dessous, un croquis qui nous a plu avec le fabricant de la carte . Il n'y a rien de spécial à commenter, il initialise simplement l'interface Ethernet et envoie des requêtes au serveur sur Internet.
Code d'esquisse complet du fabricant de la carte
/*
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);
}
Quand j'ai vu ce croquis pour la première fois, je me suis demandé: "Qu'est-ce que le fabricant voulait dire à ce sujet?" Le seul but de cette esquisse est de montrer que cette technologie fonctionne en principe. C'est certainement bon, mais que faire ensuite? Que faire de tout cela sans avoir de documentation, d'exemples ou de réponse sensée du fabricant?
La campagne s'avère que la réponse de LILYGO est d'apprendre la programmation et de créer des logiciels par vous-même (ou de rechercher un micrologiciel prêt à l'emploi, bien que ce ne soit pas du sport).
Interfaces et ping
Pour les professionnels des réseaux (et ceux qui les ont rejoints), je dirai quelques mots sur la vitesse de travail sur les interfaces Wi-Fi et Ethernet et leur réactivité. Les tests ont été réalisés dans un réseau gigabit déchargé, le niveau de bruit de la gamme Wi-Fi n'était pas spécifiquement contrôlé.
La première capture d'écran est un ping du contrôleur via l'interface Wi-Fi. Minimum 24 ms, maximum 105 ms, moyenne 67 ms.
La seconde consiste à envoyer une requête ping au contrôleur via l'interface Ethernet. Minimum 0 ms, maximum 9 ms, moyenne 2 ms.
Comme vous pouvez le voir, le ping sur Ethernet filaire est considérablement inférieur à celui du Wi-Fi (ce qui est attendu). Que ces chiffres soient bons ou mauvais, je laisse aux lecteurs le soin de juger par eux-mêmes, j'en suis tout à fait satisfait pour mes besoins.
Essai
Ce n'est pas grave de tester un système comme T-Internet-POE sur des croquis similaires à celui suggéré par le fabricant, donc une version spécialisée d'AMS, adaptée spécifiquement pour cette carte, a été utilisée pour tester le contrôleur. Considérant qu'il s'agit d'un serveur qui utilise du HTML, CSS, Javascript, Ajax, des fichiers graphiques et des bibliothèques à part entière, le bon fonctionnement d'un tel serveur sur T-Internet-POE indiquera un matériel correctement conçu et la possibilité de son utilisation dans de vrais projets.
Remarque: les tests ont été effectués sur une version interne non publique d'AMS pour T-Internet-POE. La publication et la distribution de cette version n'est pas prévue, peut-être se fera-t-elle plus tard, après des améliorations appropriées.
Test 1. Exécutez le serveur AMS sur T-Internet-POE
Lancer AMS sur un nouveau contrôleur avec une nouvelle puce et une nouvelle interface réseau n'est pas une tâche anodine, mais néanmoins, avec la bonne approche et la bonne compréhension de ce que vous faites, tout devient possible.
Jamb numéro 1
Au cours de ce travail, les «bancs» du contrôleur T-Internet-POE ont commencé à émerger, et la première chose qui a été révélée était que le contrôleur refusait de clignoter lorsqu'une carte mémoire microSD était insérée. Rien n'y fait - ni remplacer le port USB, ni alimenter à partir d'une unité séparée, ni appuyer sur des boutons, ni remplacer la carte - le contrôleur refuse obstinément de clignoter avec une carte mémoire insérée.
Il est difficile de dire un pépin d'une instance spécifique ou un défaut générique de tous les contrôleurs T-Internet-POE (ayant une instance à notre disposition), on ne peut qu'affirmer que le problème est 100% répétable et reproductible.
Qu'est-ce que cela signifie pour nous? Concrètement, cela signifie que le contrôleur T-Internet-POE n'a en fait pas de lecteur de carte - un lecteur de carte qui bloque le micrologiciel du contrôleur n'est pas un lecteur de carte, mais un bogue.
Que faire? Il ne reste plus qu'à utiliser le SPIFFS de 1,5 Mo disponible sur le module ESP32. Oui, ce n'est pas beaucoup, mais en principe, 1,5 Mo de mémoire pour un appareil IoT est plus ou moins acceptable dans la plupart des cas.
Jamb numéro 2
Ok, nous avons abandonné le lecteur de carte, maintenant nous devons nous lier d'amitié avec SPIFFS. Il semble que la tâche soit simple et même familière, mais nous voilà dans une embuscade: pour une raison quelconque, l'utilitaire ESP32FS refuse de fonctionner normalement sur ce contrôleur (dans cette configuration). Le déplacement de fichiers vers la mémoire du module ESP32 entraîne une erreur ultérieure de montage du disque SPIFFS.
Hmmm ... S'il est normalement impossible de transférer des fichiers (serveurs) sur un disque SPIFFS, il n'y a qu'un seul moyen: l'initialisation de l'interface via une connexion série, puis le transfert des fichiers sur un disque SPIFFS via l'interface Web. La méthode, bien sûr, n'est pas très pratique, mais elle n'affecte en rien le résultat final - les fichiers du serveur ont été transférés avec succès sur le disque SPIFFS.
J'omets la description du processus d'adaptation du code pour le nouveau contrôleur, car cela nécessiterait de compiler une anthologie comme une collection complète d'œuvres de VILenin et de procéder immédiatement à la démonstration du fait du bon fonctionnement du serveur AMS sur le T -Internet-POE (et donc l'opérabilité du T -Internet-POE).
Chargement de la page via l'interface Wi-Fi.
Chargement de la page via l'interface Ethernet.
Le gain de vitesse est d'environ 4 fois, naturellement, en faveur d'Ethernet. Ici, vous devez également garder à l'esprit que nous parlons de code non optimisé et qu'après avoir effectué le travail approprié, les résultats devraient s'améliorer considérablement.
Fonctionnement du serveur via l'interface Ethernet sur LILYGO TTGO T-Internet-POE ESP32 LAN8270A.
Test 2. Travailler sur deux interfaces
C'est là que je dois faire un peu de travail pour briser les mythes. Il y a des rumeurs persistantes sur Internet selon lesquelles le fonctionnement simultané du Wi-Fi et d'Ethernet sur un ensemble d'ESP32 et de LAN8270A est impossible. Ce n'est pas le cas - le serveur AMS fonctionne très bien sur deux interfaces en même temps et répond parfaitement aux demandes via Wi-Fi et Ethernet. Il n'y a aucun problème avec le gel ou le redémarrage d'ESP32.
C'est déjà un résultat intéressant, qui ouvre des perspectives alléchantes: puisque nous avons notre propre serveur, nous pouvons gérer le service des interfaces de quelque manière que ce soit, par exemple via Wi-Fi pour desservir certains sites avec un contenu, et via Ethernet - d'autres sites avec un autre contenu. Au sens figuré, donner un site avec des recettes culinaires à une grand-mère via Ethernet, et un site avec des articles sélectionnés du TSB à un petit-fils via Wi-Fi.
Test 3. Interdiction de l'une des interfaces
Essayons maintenant de mettre en pratique l'idée de servir différentes interfaces par le serveur Web. A titre d'exemple, essayons d'implémenter un déni de service pour les connexions sur l'une des interfaces (Ethernet).
Un client connecté à notre contrôleur via une interface Ethernet a reçu un déni de service.
Redondance d'interface
L'idée même de réservation d'interface est à la surface et demande une implémentation. Il existe de nombreux scénarios similaires, par exemple, vous avez un contrôleur IoT connecté à un réseau local via Ethernet. En cas d'urgence, si la liaison filaire est perdue, le contrôleur se connecte automatiquement au routeur sans fil de secours et continue son travail.
Routage réseau
Avec deux interfaces réseau fonctionnelles à votre disposition, vous pouvez acheminer les paquets dans le réseau comme vous le souhaitez. Personne ne prend la peine d'ajouter le routage des données via nRF24 ou LoRa ou via tout autre réseau sans fil au schéma de routage Wi-Fi et Ethernet. Ainsi, vous pouvez créer n'importe quel routeur pour votre système IoT.
Eh bien, et comme indiqué ci-dessus, il existe de nombreux cas d'utilisation plus intéressants pour un contrôleur avec deux interfaces réseau.
Résultats
Maintenant, résumons cette petite recherche: en général, malgré quelques jambages et maladies infantiles, j'ai aimé le contrôleur LILYGO TTGO T-Internet-POE ESP32 LAN8270A - c'est un excellent outil pour construire des systèmes IoT, surtout si vous avez les qualifications appropriées et que vous ne l'êtes pas sans imagination et une approche créative de votre travail.
Avantages et inconvénients de LILYGO TTGO T-Internet-POE ESP32 LAN8270A.
Avantages:
- Ça marche!
- Solution Wi-Fi + Ethernet + POE + GPIO intégrée complète
- Bon travail sans gels ni redémarrages (aucun problème n'a été identifié lors des tests)
- Possibilité de travail simultané sur deux interfaces
Moins:
- Absence totale de documentation, d'exemples et d'explications
- Seuil d'entrée relativement élevé
- Maladies infantiles et petits bancs de mise en œuvre