Merci.
Version imprimable
Merci.
Bonjour Beginner :D .
Je dirais même "tu dois choisir l'adresse MAC du shield par logiciel".
La box a besoin de ce renseignement pour discriminer les différents appareils connectés et, accessoirement, leur attribuer une adresse IP. Comme le shield Ethernet ne fournit pas ce renseignement, la librairie impose à l'utilisateur de le fournir lui-même, à défaut de quoi la connexion sera impossible.
Toute adresse MAC valide, excepté celles auxquelles f-leb fait allusion et celles utilisées par les appareils déjà connectés, sera acceptée comme étant l'adresse MAC fournie par le shield, et conférera une identité unique de ce shield
Tu peux faire l'expérience suivante : tu fixes une adresse MAC quelconque sans fournir d'adresse IP pour laisser le serveur DHCP de la box attribuer une adresse IP, puis tu déconnectes et reconnectes ta carte plusieurs fois. Tu constates qu'elle se connecte toujours avec la même adresse IP. La box ne lui affecte pas une nouvelle adresse IP car elle "reconnaît" la carte.
Maintenant, tu fixes une adresse MAC différente de la précédente. Tu constates alors que la box attribue une nouvelle adresse à ta carte.
Si tu remets la première adresse MAC, ta carte se reconnecte avec la première adresse IP. Pour la box, il s'agit donc bien de deux matériels différents, que seule l'adresse MAC lui permet de discriminer.
Amicalement,
naute
Salut,
Merci.
Oui mais comme l'adresse MAC que l'on fourni dans le code peut être différente de l’adresse MAC physique du shield Ethernet alors je suppose que la box ne se base pas sur cela pour "discriminer les différents appareils connectés", non ?
Peut-être qu'elle se base sur les adresse MAC physiques (et non sur celles fournies par logiciel) des différents appareils connectés, non ?
Oui justement si la box reconnait la carte c'est que quelque part il existe une information qui identifie la carte et que la box est capable de lire indépendamment du code dans lequel on fournit une adresse MAC logicielle de son choix, non ? Et cette information en question serait l’adresse MAC physique de la carte ?
Cela signifierait que la box garde en mémoire l'association "adresse IP - adresse MAC (fournie par logicielle)" qu'elle aurait faite lors d'une première connexion de la carte, non ?
Merci.
Ouais c'est un peu l'embrouille entre adresse MAC physique et logicielle...
Je viens de lire ça :
https://fr.wikipedia.org/wiki/Filtrage_par_adresse_MACCitation:
Fausses idées concernant le filtrage par adresse MAC
Contrairement aux idées reçues, l'usurpation d'adresse MAC est très facile à réaliser, ce n'est donc pas un moyen de sécuriser l'accès à ses équipements Wi-Fi. En effet il faut distinguer l'adresse MAC physique de l'adresse MAC logicielle. L'adresse physique est en effet difficile à modifier, mais celle-ci sert uniquement d'adresse MAC par défaut pour établir les connexions réseau. C'est le système d'exploitation qui choisit la(les) adresse(s) MAC avec laquelle(lesquelles) il désire communiquer. Une bonne politique de sécurité ne doit donc pas reposer sur l'adresse MAC, puisque dans le cadre d'une connexion réseau, celle-ci n'est que logicielle.
Si je comprends bien, à la base toutes les cartes ont une adresse MAC, chaque adresse MAC est unique :
Mais on peut très bien changer cette adresse :Citation:
Une adresse MAC (Media Access Control1), parfois nommée adresse physique2, est un identifiant physique stocké dans une carte réseau ou une interface réseau similaire. À moins qu'elle n'ait été modifiée par l'utilisateur, elle est unique au monde. Le MAC (acronyme de Media Access Control) n'a aucun rapport avec le Mac d'Apple (diminutif de Macintosh). Toutes les cartes réseau ont une adresse MAC, même celles contenues dans les PC et autres appareils connectés (tablette tactile, smartphone, consoles de jeux, réfrigérateurs, montres ...).
Je suppose donc que c'est ce qu'on fait dans le tuto : c'est-à-dire qu'on utilise pas forcément l'adresse MAC physique et unique de notre carte, on peut en choisir une différente par logiciel...Citation:
Changement d'adresse MAC
Certaines personnes souhaitent changer l'adresse de MAC (adresse physique) d'une carte réseau local parce qu'une application en demande une particulière pour fonctionner, ou aussi parfois parce qu'il y a un conflit avec une autre adresse MAC sur le même réseau, ou pour éviter d’être tracé.
Avec certains OS, l'adresse matérielle MAC n'est pas utilisée directement, ce qui permet de la modifier au niveau logiciel et non physique, elle est alors modifiable par l'utilisateur. Son changement permet de réduire le risque de traçage inhérent à tout identifiant immuable3. Mais cela peut poser d'autres problèmes par la suite, par exemple si l'accès à une connexion internet est filtré sur la base des adresses MAC.
Le changement peut être temporaire avec une commande ou persistant en modifiant un fichier de configuration par exemple. Avec certains pilotes l'adresse MAC peut directement être modifiée dans les propriétés avancées de la carte réseau. À noter que certains logiciels tiers permettent également cette modification4.
Bonjour :D .
Non ! La puce W5500 ne possède pas d'adresse MAC codée en dur à la fabrication. Elle possède un registre pour stoker cette information qui lui est fournie par voie logicielle : c'est ce que fait la librairie ethernet2 avec l'adresse que tu lui fournis dans ton code. Tu peux bien sûr, une fois qu'une adresse MAC est affectée au shield, considérer que c'est son adresse physique : en tout état de cause, il n'en a pas d'autre. Quand tu coupes l'alimentation, cette adresse est perdue, les registres sont "volatiles" (heureusement). Elle sera restaurée au prochain allumage lors de l'initialisation de la carte par ton code.
Il existe des modules comme le WIZ550io qui sont munis d'une mémoire flash dans laquelle une adresse MAC unique est enregistrée en usine et qui est chargée dans le registre du W5500 à l'initialisation (ainsi qu'une adresse IP, d'ailleurs), mais ce n'est pas le cas du shield Ethernet 2. Avant de leur avoir affecté une adresse MAC, tous ces shields sont rigoureusement identiques. C'est grâce au fait que l'adresse MAC n'est pas inscrite en dur sur la puce elle-même, mais dans une mémoire externe, qu'on peut la modifier par voie logicielle. Mais je pense (?) que ce n'est pas possible sur tous les matériels.
Tout à fait, mais pendant un laps de temps déterminé. La box que j'utilise (une LiveBox) ne conserve cette association que trois mois. Ce délais est automatiquement reconduit à chaque connexion.
Sur la majorité des ordinateurs effectivement il y a une adresse MAC codée en dur dans la carte, ça permet d'éviter les soucis de 2 appareils se retrouvant identifiés de la même façon. L'OS (ou les couches basses du firmware de la carte) vont lire cette adresse et c'est avec cela qu'il se présente sur le réseau. Mais comme tout cela est "logiciel" vous pouvez vous présenter avec une adresse MAC qui n'est pas la votre si vous voulez - c'est pour cela qu'il ne faut pas fonder sa politique de sécurité sur les adresses MAC.Citation:
Mais je pense (?) que ce n'est pas possible sur tous les matériels
Ok merci à tous pour vos explications.
Alors oui je pensais d’après ce que j'avais lu que toutes les cartes se voyaient attribuées par le constructeur une adresse MAC unique mais effectivement si ce n'est pas le cas des shield Ethernet alors tout s'explique...
Bonjour,
Merci pour ce tutoriel, je suis en plein dans ces choses là en ce moment moi aussi...
Petite question : dans ton header HTTP tu ne mets pas de "Content-length: ".
J'en ai mis avec mon projet et c'est pas facile car on connait la longueur qu'à la fin.
As-tu vérifié le résultat avec W3C (une redirection pour rendre temporairement la carte accessible est requise) ?
Quid de la fragmentation de packets ?
Sur ce forum j'avais proposé une version modifiée de Socket() pour pouvoir à la fois écrire en plusieurs fois les données tout en ayant un seul packet d'une taille allant jusqu'à la taille du buffer du W5500.
La fragmentation de packets c'est pas très grave si le client est un PC ou un smartphone, en revanche si c'est pour communiquer avec un autre Arduino ça ne marchera pas.
La carte https://www.keyestudio.com/keyestudi...poe-p0368.html est très intéressante...
Surtout si c'est un "vrai" W5500 (et pas un W5100 ou W5200)
Elle est moins chère et plus compacte...
Est-ce la même qualité ? (notamment la connectique)
Les alimentations 5V et 3.3V peuvent-elle fournir autant de courant ?
Je trouve la position du bouton reset peut pratique mais c'est un détail.
Peut-on utiliser le port SPI avec d'autres périphériques (comme ce que je fais actuellement avec mon port SPI partagé avec le shield Ethernet et l'écran TFT ILI9341) ?
A bientôt
Bonjour :D .
Ce n'est pas nécessaire dans notre cas de figure. N'oublie pas qu'il ne s'agit pas d'un cours de HTML : je détermine un cahier des charges et je le traite au plus près, du moins j'essaye.
Non, mais rien ne t'interdit d'effectuer cette vérification et de nous faire profiter des résultats :mrgreen: .
Ce qui est le cas ici !
Par contre, ce cas de figure est hors sujet en ce qui concerne ce tutoriel.
Pour ce qui est de la carte KeyesStudio :
Je confirme ! Elle remplace avantageusement le couple Arduino UNO / Shield Ethernet 2, tant en ce qui concerne son coût que son encombrement.
- c'est un "vrai" W5500" (sérigraphié et tout) ;
- sur ma carte, j'ai eu des petits soucis avec le slot accueillant la carte microSD : celle-ci n'est pas toujours reconnue et il faut parfois la réinsérer pour régler le problème ;
- **en ce qui concerne les capacités de l'alimentation, je n'ai pas testé, mais il ne faut pas oublier que dans le couple Arduino UNO / Shield Ethernet 2, la carte UNO doit alimenter le shield Ethernet 2, ce qui diminue d'autant sa capacité à alimenter les éléments d'un montage ou d'autres périphériques ;
- **pour le bus SPI, je ne vois pas pourquoi tu ne pourrais pas l'utiliser en même temps avec plusieurs périphériques. Le microcontrôleur est un ATMEGA328P, le même que sur la carte UNO, et les fonctionnalités n'ont aucune raison d'être différentes. Cela dit, je n'ai pas testé non plus.
**Je rappelle que je précise ceci dans le tuto :
Citation:
Quand je parle de « mes tests », je veux dire que tout ce que j’ai fait avec cette carte a fonctionné de la même manière qu’avec les cartes officielles. Je n’ai pas mené une batterie de tests exhaustive visant à « homologuer » le produit
Amicalement,
naute
Salut,
J'utilise beaucoup la validation W3C car comme tu l'as dit, les navigateurs sont trop tolérants et ne permettent pas de vérifier qu'une page HTML est correcte.
Le gag étant que cette tolérance n'est pas la même entre les différents navigateurs, en fonction de leur version. :aie:
En tout ce qui est bien dans ton tutoriel, c'est que j'ai vu qu'on pouvait avoir des boutons en plus que "submit" et "reset"
Je ne savais pas que c'était possible, et c'est pratique ! :D
A bientôt !