🛠 Serveur web embarqué : l'Ethernet natif 10/100 du Teensy 4.1 (DP83825)

Teensy 4.1 · intermediaire · Schéma : le Teensy 4.1 avec son PHY TI DP83825I embarqué et le connecteur RJ45 magnétique (kit à souder) branché à ses pieds ; flèches vers le câble Ethernet et le navigateur d'un PC sur le réseau local.

Objetivos

El Teensy 4.1 integra un controlador Ethernet 10/100 Mbit con DMA y PHY TI DP83825I en la placa: solo falta el conector RJ45 con transformadores magnéticos, que se vende como kit para soldar. Este tutorial configura un servidor HTTP que expone las mediciones de la placa a la red local — sin shield, sin SPI, sin chip-select.

Material

Puntos clave

Código completo

#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // MAC unique !
EthernetServer server(80);

void setup {
  Serial.begin(9600);
  Ethernet.begin(mac);                    // DHCP ; (mac, ip) pour statique
  if (Ethernet.hardwareStatus == EthernetNoHardware) {
    Serial.println("Pas de materiel Ethernet (variant -NE ?)");
    while (true) delay(1);
  }
  server.begin;
  Serial.print("serveur a ");
  Serial.println(Ethernet.localIP);
}

void loop {
  Ethernet.maintain;
  EthernetClient client = server.available;
  if (!client) return;
  bool lineDone = false;
  while (client.connected && !lineDone) {
    if (client.available) {
      char c = client.read;
      if (c == '\n') lineDone = true;   // fin des en-tetes HTTP
    }
  }
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println("Connection: close");
  client.println;
  client.println("<html>A0 = ");
  client.print(analogRead(14));
  client.println("</html>");
  client.stop;
}

Verificación esperada

La IP asignada por DHCP se muestra en el puerto serie; al escribirla en un navegador, la página muestra el valor de A0, actualizado en cada recarga.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales