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.