class LAN – contrôle d’une interface Ethernet¶
La classe LAN pilote le MAC Ethernet intégré au microcontrôleur avec un PHY RMII externe. Le type de PHY, l’adresse MDIO et le brochage dépendent tous de la carte ; des valeurs par défaut judicieuses sont intégrées à chaque carte OpenMV, de sorte que le constructeur ne prend normalement aucun argument.
Disponible sur :
OpenMV Cam N6 (port STM32) – PHY par défaut
PHY_LAN8742.Arduino Portenta H7 (port STM32) – PHY par défaut
PHY_LAN8742.OpenMV Cam RT1062 (port mimxrt) – PHY par défaut
PHY_KSZ8081.
Exemple d’utilisation
import network
nic = network.LAN()
nic.active(True)
while not nic.isconnected():
pass
print(nic.ipconfig("addr4"))
Constructeurs¶
- class network.LAN(id: int = 0, *, phy_type: int | None = None, phy_addr: int | None = None, ref_clk_mode: int | None = None) None¶
Construit un objet d’interface
LAN. Tous les arguments aprèsidsont passés uniquement par mot-clé.idsélectionne le port Ethernet sur les cartes qui en exposent plusieurs (port mimxrt :0= ENET,1= ENET_1). Ignoré sur les cartes STM32, qui ne possèdent qu’un seul MAC.phy_typesélectionne le pilote PHY (l’une des constantesPHY_*ci-dessous). PassezNone(la valeur par défaut) pour utiliser le PHY câblé sur la carte OpenMV.phy_addrest l’adresse MDIO du PHY sur le bus de gestion. PassezNone(la valeur par défaut) pour utiliser la valeur câblée de la carte.ref_clk_mode(mimxrt uniquement) détermine si l’horloge de référence RMII est pilotée par le MAC (OUT) ou par le PHY (IN). Ignoré sur les cartes STM32.Méthodes¶
- active(is_active: bool | None = None) bool¶
Active ou désactive le MAC Ethernet.
Sans argument, renvoie l’état actuel du lien PHY sous forme d’entier vrai/faux – voir
status()pour l’ensemble complet des valeurs encodées.active(True)démarre le MAC et le PHY, lance l’auto-négociation et active le netif lwIP. L’établissement du lien lui-même peut prendre un moment – interrogezisconnected()si vous devez bloquer jusqu’à ce que le lien soit complètement prêt. Toutes les autres méthodes (ipconfig(),config(), …) nécessitent que l’interface soit active.active(False)arrête le MAC et démonte le netif.
- isconnected() bool¶
Renvoie
Truelorsque le PHY a négocié l’établissement du lien et que l’interface est dans l’état entièrement actif (valeur d’état du lien3).
- status() int¶
Renvoie l’état brut du lien PHY sous forme d’entier :
0– lien inactif.1– lien actif (PHY uniquement, pile IP pas encore prête).2– en transition.3– lien actif et la pile IP a fini d’activer l’interface.
- ifconfig(config: Tuple[str, str, str, str] | None = None) Tuple[str, str, str, str] | None¶
Lit ou définit les paramètres IPv4 de l’interface sous forme de 4-tuple de chaînes en notation décimale pointée
(ip, subnet, gateway, dns).Note
Préférez
ipconfig()pour le nouveau codenic.ipconfig(addr4="192.168.0.4/24", gw4="192.168.0.1") network.ipconfig(dns="8.8.8.8")
- ipconfig(param: str) Any¶
- ipconfig(**kwargs: Any) None
Lit ou définit les paramètres IPv4 / IPv6 de l’interface. Se comporte de la même manière que
AbstractNIC.ipconfig()– voir cette méthode pour la liste complète des noms de paramètres pris en charge (dhcp4,addr4,gw4,autoconf6,addr6, …).
- config(param: str) Any¶
- config(**kwargs: Any) None
Lit ou définit les paramètres d’interface spécifiques à Ethernet.
Avec un unique argument positionnel de type chaîne, renvoie la valeur de ce paramètre :
"mac"– l’adresse MAC de l’interface sous forme d’objetbytesde 6 octets.
Avec des arguments par mot-clé, définit un ou plusieurs paramètres :
trace=<int>– active le traçage lwIP. Champ de bits :2trace l’émission (TX),4trace la réception (RX),8active le traçage complet.low_power=<bool>– active ou désactive le mode basse consommation IEEE 802.3az (Energy Efficient Ethernet) du PHY.
Constantes¶
- PHY_LAN8742: int¶
PHY Ethernet 10/100 Microchip LAN8742A. Port STM32 uniquement ; valeur par défaut sur l’OpenMV Cam N6 et l’Arduino Portenta H7.
- PHY_DP83848: int¶
PHY Ethernet 10/100 Texas Instruments DP83848. Disponible sur les ports STM32 et mimxrt.
- PHY_DP83825: int¶
PHY Ethernet 10/100 Texas Instruments DP83825. Disponible sur les ports STM32 et mimxrt.
- PHY_KSZ8081: int¶
PHY Ethernet 10/100 Microchip KSZ8081. Port mimxrt uniquement ; valeur par défaut sur l’OpenMV Cam RT1062.