Table des matières:

Telnet à votre Arduino/AVR ! : 4 étapes
Telnet à votre Arduino/AVR ! : 4 étapes

Vidéo: Telnet à votre Arduino/AVR ! : 4 étapes

Vidéo: Telnet à votre Arduino/AVR ! : 4 étapes
Vidéo: LDmicro 22: платы Arduino с AVRDUDESS (программирование микроконтроллеров с помощью LDmicro) 2024, Juillet
Anonim
Telnet à votre Arduino/AVR !
Telnet à votre Arduino/AVR !

L'autre jour, je voulais vérifier l'un de mes AVR, mais j'étais en haut et Dieu sait que c'était trop compliqué de descendre là où se trouvait le microcontrôleur. Mais, il y avait deux ordinateurs inactifs assis à l'étage à côté de mes fesses paresseuses, alors j'ai eu une demi-journée de travail et j'ai décidé d'écrire une application qui lie deux ports: un port série pour se connecter à l'Arduino/AVR et un TCP/IP port auquel je pourrais telnet à partir de mon réseau sans fil ou sur Internet. L'application agit alors comme un proxy entre le réseau TCP/IP et l'AVR. Pour mieux voir la vidéo, cliquez deux fois et faites-la apparaître dans sa propre fenêtre et agrandissez-la. Sinon, louche et vous pouvez voir ce qui est tapé. J'ai donc fini par modifier l'application de connexion série du terminal AVR que j'avais déjà écrite, et j'y ai ajouté le support TCP/IP. Pour l'accompagner, j'ai écrit un firmware qui fournit quelque chose comme un shell UNIX, me donnant un accès à distance à toutes les broches, paramètres de fusible, etc. Vous pouvez allumer les LED et tout ça à distance. Il prend même en charge le réglage de la vitesse d'horloge en temps réel et dispose d'un système de pseudo-mot de passe qui fournit le cadre pour les listes de contrôle d'accès ou l'authentification pour les commandes de niveau racine (comme la mise hors tension des sous-systèmes, etc.). Voici certaines des choses qu'il peut faire:

  • Affichez la fréquence de votre processeur
  • Définir n'importe quelle broche en entrée ou en sortie
  • Lire l'état de n'importe quelle broche
  • Envoyez la logique 1 et 0 à n'importe quelle broche pour allumer les LED, etc.
  • Mettez hors tension et sous tension les périphériques SPI, TWI, USART et ADC
  • Lire le fusible inférieur, le fusible supérieur, le fusible externe et les bits de verrouillage en temps réel
  • Démarrez les minuteries pour chronométrer automatiquement les événements et les choses.
  • Un framework pour un système d'authentification en EEPROM
  • Établir n'importe quel préscaler d'horloge disponible en temps réel
  • Écrit en C++ et compilé pour un ATmega328P

Cette instructable détaille comment vous pouvez télécharger le logiciel (et le micrologiciel, si vous le souhaitez), l'installer et commencer à accéder à votre AVR depuis votre réseau domestique sans fil ou via Internet.

Étape 1: ce dont vous aurez besoin

  • Un AVR autonome ou Arduino/clone (pour des instructions détaillées sur la façon de créer votre propre système AVR autonome assez complet comprenant un cristal externe, des condensateurs de découplage et une source d'alimentation régulée, voir mon autre instructable).
  • Une connexion série ou USB à votre PC hôte
  • La version du terminal AVR qui a le serveur TCP/IP intégré
  • En option, l'AVR Shell (avrsh) si vous souhaitez exécuter le firmware sur votre AVR/Arduino cible pour accéder à vos périphériques.

La passerelle TCP/IP fonctionne avec le micrologiciel que vous utilisez ou que vous souhaitez écrire tant qu'il communique via l'UART avec le PC. Malheureusement, il n'y a pas de version Java, donc le terminal AVR ne fonctionne que sous Windows pour le moment.

Étape 2: Téléchargez et installez le terminal AVR et le serveur TCP/IP

Téléchargez et installez le terminal AVR et le serveur TCP/IP
Téléchargez et installez le terminal AVR et le serveur TCP/IP

Le terminal AVR est une application Windows que j'ai présentée dans les instructions précédentes. Il peut parler à votre AVR via l'USART RS232 ainsi qu'écouter les connexions TCP/IP entrantes et les relayer via la connexion RS232 pour obtenir une réponse de votre AVR en attente. Il n'est pas complet mais offre une première visite des fonctionnalités détaillées ici et dans mes autres instructables. La version la plus récente peut être téléchargée ici. Le logiciel ne prend pas une installation complète; vous pouvez simplement exécuter le logiciel à partir de son répertoire. La zone de texte dans la barre d'outils qui indique ANY est l'adresse IP à lier pour l'écoute. ANY liera toutes les adresses IP, ou vous pouvez éventuellement en lister une à laquelle vous lier en particulier. La zone de texte à droite de l'adresse IP est le port IP auquel le serveur sera lié. La valeur par défaut est 23232, mais vous pouvez le changer à votre guise.

Étape 3: installez votre shell

Avant que votre AVR puisse communiquer avec vous, vous devez disposer d'une sorte de système d'exploitation ou de shell sur l'AVR cible. Il y en a quelques-uns disponibles, dont mon AVR Shell et le Bitlash Shell.

Alternativement, utilisez cette expérience comme une chance d'écrire votre propre shell minimal.

Étape 4: Telnet et profitez-en

Telnet et profitez
Telnet et profitez

N'oubliez pas vos informations de configuration ou vous pouvez les conserver par défaut. Dans mon exemple d'image, je suis sur un hôte nommé "newton" et telnet à la machine à laquelle mon AVR est connecté, un hôte appelé "quadcpu1". Vous pouvez voir la sortie telnet standard. Donc, si vous avez conservé les valeurs par défaut, vous pouvez accéder à votre AVR/Arduino depuis votre réseau TCP/IP avec: telnet 23232

ou si vous êtes sur la même box: telnet localhost 23232

N'oubliez pas d'utiliser la configuration avec laquelle vous l'avez modifiée, si vous l'avez modifiée. Ça devrait être ça. Le code source du serveur telnet et du micrologiciel AVR sont disponibles gratuitement en open source et devraient vous fournir suffisamment d'informations intéressantes pour vous permettre de le modifier ou d'écrire vos propres versions de l'un ou de l'autre. La prochaine étape pourrait être d'écrire une implémentation Java ou Qt du serveur TCP/IP afin que les utilisateurs Mac et Linux puissent en bénéficier.

Conseillé: