Voici le premier prototype de base HomeBugz sans PC:

Pour les premiers tests et afin de gagner du temps, on a décidé de prendre un module Ethernet tout fait qui contient le connecteur RJ45 femelle, le circuit intégré gérant les couches bas niveaux Ethernet, le cristal et tout un tas de résistances, condensateurs et autres LED.
Mais ca s’est finalement révélé être une énorme galère…
Au début, impossible de faire communiquer le module Ethernet avec le PIC via le SPI. On a regardé le code, 100 fois les câblages et au bout d’un long moment, on s’est finalement rendu compte que les pattes du modules ne correspondaient pas du tout à ce qui était écrit sur leur papier. Sur les 10 pattes du module, une seule était bonne! On a eu beaucoup de chance de pas avoir cramer le module au passage!
On voit enfin des données cohérente sur le SPI! Mais les paquets semblent être traités de façon aléatoire, des fois le paquet passe, des fois pas. En final, quand on fait un ping on avait ca:

Après avoir passé encore plus de temps à retourner tout le code de la pile TCP/IP, les câblages etc, je me résous à demander de l’aide sur le forum de Microchip. Des experts ont trouvés un certain nombre de sources possible au problème et après les avoir levé un par un, on a finalement trouvé la raison du problème: la plaque du module Ethernet est mal câblé entre le micro processeur et le connecteur RJ45! Une inversion de polarité génère ce problème aléatoire!
Après avoir coupé un câble Ethernet et avoir inversé les polarités, comme vous pouvez le voir ici…

… tout fonctionne à merveille!
J’ai pu synchroniser l’horloge avec un serveur NTP et envoyer des paquets à notre serveur HomeBugz. on va enfin pouvoir passer aux choses sérieuses!