Índice:

Telnet para seu Arduino / AVR !: 4 etapas
Telnet para seu Arduino / AVR !: 4 etapas

Vídeo: Telnet para seu Arduino / AVR !: 4 etapas

Vídeo: Telnet para seu Arduino / AVR !: 4 etapas
Vídeo: Como Fazer um Arduino Uno? Como usar o ATMEGA328P em seu Projeto e PCB? Eletronica Facil 2024, Novembro
Anonim
Telnet para seu Arduino / AVR!
Telnet para seu Arduino / AVR!

Outro dia, eu queria verificar um dos meus AVRs, mas estava lá em cima e Deus sabe que era muito trabalhoso descer até onde estava o microcontrolador. Mas, havia dois computadores ociosos sentados no andar de cima ao lado da minha bunda preguiçosa, então eu tive meio dia de trabalho e decidi escrever um aplicativo que liga duas portas: uma porta serial para conectar ao Arduino / AVR e um TCP / IP porta para a qual eu poderia telnetar da minha rede sem fio ou da Internet. O aplicativo então atua como um proxy entre a rede TCP / IP e o AVR. Para ver melhor o vídeo, clique duas vezes, abra-o em sua janela e amplie-o. Caso contrário, aperte os olhos e você poderá ver o que está sendo digitado. Então, acabei modificando o aplicativo de conexão serial AVR Terminal que já havia escrito e adicionei suporte TCP / IP a ele. Para acompanhar, escrevi um firmware que fornece algo como um shell UNIX, dando-me acesso remoto a todos os pinos, configurações de fusíveis, etc. Você pode ligar os LEDs e todas essas coisas remotamente. Ele ainda suporta o ajuste da velocidade do clock em tempo real e tem um sistema de pseudo-senha que fornece a estrutura para Listas de Controle de Acesso ou autenticação para comandos de nível raiz (como desligar subsistemas, etc). Aqui estão algumas das coisas que ele pode fazer:

  • Exibir sua frequência de cpu
  • Defina qualquer pino para entrada ou saída
  • Leia o estado de qualquer alfinete
  • Envie a lógica 1 e 0 para qualquer pino para ligar os LEDs, etc.
  • Desligue e ligue os periféricos SPI, TWI, USART e ADC
  • Leia o fusível inferior, o fusível superior, o fusível externo e os bits de bloqueio em tempo real
  • Inicie cronômetros para cronometrar eventos e coisas automaticamente.
  • Uma estrutura para um sistema de autenticação em EEPROM
  • Estabeleça qualquer prescaler de relógio disponível em tempo real
  • Escrito em C ++ e compilado para um ATmega328P

Este instrutivo detalha como você pode baixar o software (e firmware, se desejar), instalá-lo e começar a acessar seu AVR de sua rede doméstica sem fio ou pela Internet.

Etapa 1: O que você precisa

  • Um AVR autônomo ou Arduino / clone (para obter instruções detalhadas sobre como fazer seu próprio sistema AVR autônomo bastante completo, incluindo um cristal externo, capacitores de desacoplamento e uma fonte de alimentação regulada, consulte meu outro instrutível).
  • Uma conexão serial ou USB para o seu PC host
  • A versão do Terminal AVR que possui o servidor TCP / IP embutido
  • Opcionalmente, o AVR Shell (avrsh) se você deseja executar o firmware em seu AVR / Arduino de destino para obter acesso aos seus periféricos.

O gateway TCP / IP funciona com qualquer firmware que você esteja usando ou queira escrever, desde que se comunique via UART com o PC. Infelizmente, não há uma versão Java, então o Terminal AVR só funciona no Windows no momento.

Etapa 2: Baixe e instale o terminal AVR e o servidor TCP / IP

Baixe e instale o terminal AVR e o servidor TCP / IP
Baixe e instale o terminal AVR e o servidor TCP / IP

O AVR Terminal é um aplicativo do Windows que apresentei em instructables anteriores. Ele pode se comunicar com seu AVR via RS232 USART, bem como ouvir conexões TCP / IP de entrada e retransmiti-las através da conexão RS232 para a resposta de seu AVR em espera. Ele não está completo com os recursos, mas oferece um tour inicial dos recursos detalhados aqui e em meus outros instructables. A versão mais recente pode ser baixada aqui. O software não faz uma instalação completa; você pode simplesmente executar o software a partir de seu diretório. A caixa de texto na barra de ferramentas que diz QUALQUER é o endereço IP a ser vinculado para escuta. QUALQUER vinculará todo e qualquer endereço IP ou, opcionalmente, você pode listar um para vincular em particular. A caixa de texto à direita do endereço IP é a porta IP à qual o servidor será vinculado. O padrão é 23232, mas você pode alterar para o que quiser.

Etapa 3: instale seu shell

Antes que seu AVR possa se comunicar com você, você precisará ter algum tipo de sistema operacional ou shell no AVR de destino. Existem alguns disponíveis, incluindo meu shell AVR e o shell Bitlash.

Como alternativa, use esta experiência como uma chance de escrever seu próprio shell mínimo.

Etapa 4: Telnet e aproveite

Telnet e aproveite
Telnet e aproveite

Lembre-se de suas informações de configuração ou você pode mantê-las nos padrões. Na minha foto de exemplo, estou em um host chamado "newton" e telnet para a máquina à qual meu AVR está conectado, um host chamado "quadcpu1". Você pode ver a saída telnet padrão. Então, se você o manteve nos padrões, você pode acessar seu AVR / Arduino de sua rede TCP / IP com: telnet 23232

ou se você estiver na mesma caixa: telnet localhost 23232

Apenas lembre-se de usar a configuração para a qual você mudou, se você mudou. Deve ser isso. O código-fonte para o servidor telnet e o firmware do AVR estão disponíveis gratuitamente como código-fonte aberto e devem fornecer informações boas o suficiente para que você possa modificá-lo ou escrever suas próprias versões de qualquer um deles. O próximo passo pode ser escrever uma implementação Java ou Qt do servidor TCP / IP para que os usuários de Mac e Linux possam se beneficiar.

Recomendado: