Connexion d'Ethernet à l'AVR

12

Je me familiarise assez avec les microcontrôleurs et je veux maintenant le connecter à Internet. Quelles sont les exigences minimales pour qu'un microcontrôleur soit en mesure de le faire, en particulier un AVR si possible. Deuxièmement, que faut-il d'autre? J'ai lu des informations sur les contrôleurs Ethernet, mais je ne sais pas vraiment exactement ce qu'ils font et comment ils doivent être interfacés avec le microcontrôleur.

Quels sont les composants nécessaires pour mettre un micro-contrôleur en ligne (pas de blindages Arduino)?

Alexis K
la source
1
modem de numérotation série .... Je sors avec moi?
kenny
2
Vous semblez utiliser Ethernet et Internet de manière interchangeable. Vous ne vous en rendez peut-être pas compte, mais ce ne sont pas les mêmes du tout. Avoir une connexion Ethernet ne signifie pas que vous avez Internet et avoir Internet ne signifie pas que vous avez une connexion Ethernet. Qu'est-ce que tu veux faire spécifiquement?
Kellenjb
1
Oui. Tu as raison. Ce que je veux, c'est une connexion Ethernet avec toutes les autres choses (DHCP, TCP / IP, ...) pour obtenir une connexion Internet.
Alexis K
1
Mais que voulez-vous réellement faire? Si vous souhaitez héberger un serveur Web, les exigences seront très différentes, alors si vous souhaitez retirer un octet d'un site Web de temps en temps. Qu'est-ce qui vous donne envie de rester avec Ethernet filaire et de ne pas faire quelque chose avec WiFi ou 3G?
Kellenjb

Réponses:

4

Je crois que pour avoir un chemin plus ou moins productif, vous devez commencer par ajouter un spi séparé au circuit intégré Ethernet, tel que l'ENC28J60 et améliorer à partir de là. Cette puce fera abstraction des couches OSI 1 et 2.

Une fois que vous avez le matériel, je crois que la programmation sera certainement la partie la plus difficile, car vous devrez comprendre les détails de l'IP, du TCP et du protocole que vous utiliserez.

Vous préféreriez probablement apprendre par l'exemple avant de creuser tous les détails théoriques, donc je crois que jeter un coup d'œil à ce qui est fait sur des sites tels que tuxgraphics ( article sur avr web-server, avec code - open-source), embeddedmarket ( consultez leur manuel d'utilisation pour les schémas ). Consultez également cet article de blog.

Vous aurez sûrement besoin d'autant de RAM et d'EEPROM que possible, vous pouvez le faire avec un appareil de la famille 8 bits.

N'oubliez pas non plus que vous pouvez commencer avec quelque chose d'assez simple (pas de serveur Web, juste une connexion de type Telnet ou brut (simplement transférer votre interface série actuelle en une basée sur des sockets), et utiliser un logiciel tel que du mastic pour vous connecter dans ça).

Enfin, au cas où vous auriez besoin d'une solution rapide, vous pouvez également utiliser un convertisseur intégré pour votre port de communication série / ttl. Il existe des versions pour les consommateurs (digi one SP, moxa Nport5150, etc.) et d'autres à intégrer sur votre projet (de moxa , hw-group et autres). Celles-ci résument complètement les couches osi 1, 2, 3, 4. Eh bien, elles résument tout.

J'espère que cela vous aidera à vous mettre sur la bonne voie.

Bruno Flávio
la source
6

Le projet open source Nanode implémente à peu près le matériel minimal requis pour connecter un Arduino à Internet - un microcontrôleur ATMega328, un contrôleur Ethernet ENC28J60, un convertisseur de niveau 74HC125 (afin que le Mega328 puisse toujours fonctionner à 5 V et parler à l'ENC28J60 fonctionnant à partir de 3,3 V) et une prise Ethernet (avec magnétisme interne), ainsi que les circuits d'alimentation et passifs appropriés. Vous pouvez en lire beaucoup plus sur le Web, y compris sa page Solderpad . Il a également été élu meilleur projet Open Source IoT 2011 , pour ce qu'il vaut.

Divulgation complète - Je vends ce produit sur Wicked Device .

vicatcu
la source
... ou celui-ci pollin.de/shop/dt/MTQ5OTgxOTk-/Bausaetze_Module/Bausaetze/… pour moins de 20 EUR
Curd
@Curd cool, un inconvénient avec le périphérique lié est qu'il n'est pas compatible Arduino, non?
vicatcu