Оглавление:

Telnet к вашему Arduino / AVR!: 4 шага
Telnet к вашему Arduino / AVR!: 4 шага

Видео: Telnet к вашему Arduino / AVR!: 4 шага

Видео: Telnet к вашему Arduino / AVR!: 4 шага
Видео: Как перейти на прошивку Klipper: 8 бит CR-10 шаг за шагом 2024, Июль
Anonim
Telnet к вашему Arduino / AVR!
Telnet к вашему Arduino / AVR!

На днях я хотел проверить один из своих AVR, но я был наверху, и, бог знает, было слишком сложно спуститься вниз, где был микроконтроллер. Но наверху рядом с моей ленивой задницей стояли два простаивающих компьютера, поэтому у меня было полдня на работе, и я решил написать приложение, которое связывает два порта: последовательный порт для подключения к Arduino / AVR и TCP / IP. порт, к которому я мог подключиться по telnet из моей беспроводной сети или через Интернет. Затем приложение действует как прокси между сетью TCP / IP и AVR. Чтобы лучше просмотреть видео, щелкните дважды и откройте его в отдельном окне и увеличьте. В противном случае, прищурившись, вы увидите, что набирается. Итак, я закончил модификацию приложения последовательного подключения терминала AVR, которое я уже написал, и добавил к нему поддержку TCP / IP. Чтобы согласиться с этим, я написал некоторую прошивку, которая предоставляет что-то вроде оболочки UNIX, давая мне удаленный доступ ко всем контактам, настройкам предохранителей и т. Д. Вы можете включать светодиоды и все такое удаленно. Он даже поддерживает регулировку тактовой частоты в реальном времени и имеет систему псевдопаролей, которая дает основу для списков контроля доступа или аутентификации для команд корневого уровня (например, отключение подсистем и т. Д.). Вот что он умеет:

  • Отобразите частоту вашего процессора
  • Установите любой контакт на вход или выход
  • Считайте состояние любого пина
  • Отправьте логику 1 и 0 на любой контакт для включения светодиодов и т. Д.
  • Выключите и включите периферийные устройства SPI, TWI, USART и ADC.
  • Считайте нижний предохранитель, верхний предохранитель, внешний предохранитель и биты блокировки в режиме реального времени
  • Таймеры запуска для автоматического отсчета времени событий и прочего.
  • Фреймворк для системы аутентификации в EEPROM
  • Установите любой доступный предварительный делитель часов в режиме реального времени
  • Написан на C ++ и скомпилирован для ATmega328P

В этой инструкции подробно рассказывается, как вы можете загрузить программное обеспечение (и микропрограммное обеспечение, если хотите), установить его и начать доступ к вашему AVR из домашней беспроводной сети или через Интернет.

Шаг 1. Что вам понадобится

  • Автономный AVR или Arduino / клон (подробные инструкции о том, как создать свою собственную, довольно полную автономную систему AVR, включая внешний кристалл, разделительные конденсаторы и регулируемый источник питания, см. В других моих инструкциях).
  • Последовательное или USB-соединение с вашим главным компьютером
  • Версия терминала AVR со встроенным сервером TCP / IP
  • Необязательно, AVR Shell (avrsh), если вы хотите запустить прошивку на вашем целевом AVR / Arduino, чтобы получить доступ к вашим периферийным устройствам.

Шлюз TCP / IP работает с любой прошивкой, которую вы можете использовать или хотите писать, если он обменивается данными с ПК через UART. К сожалению, версии для Java нет, поэтому на данный момент терминал AVR работает только в Windows.

Шаг 2: Загрузите и установите терминал AVR и сервер TCP / IP

Загрузите и установите терминал AVR и сервер TCP / IP
Загрузите и установите терминал AVR и сервер TCP / IP

Терминал AVR - это приложение для Windows, которое я представил в предыдущих инструкциях. Он может разговаривать с вашим AVR через RS232 USART, а также прослушивать входящие соединения TCP / IP и ретранслировать их через соединение RS232 для ответа от ожидающего AVR. Он не является полным, но предлагает начальный тур по функциям, подробно описанным здесь и в других моих инструкциях. Самую последнюю версию можно скачать здесь. Программное обеспечение не требует полной установки; вы можете просто запустить программное обеспечение из его каталога. Текстовое поле на панели инструментов с надписью ЛЮБОЙ - это IP-адрес, который нужно привязать для прослушивания. ЛЮБОЙ будет связывать все без исключения IP-адреса, или, при желании, вы можете указать один, к которому нужно привязаться. Текстовое поле справа от IP-адреса - это IP-порт, к которому будет привязан сервер. По умолчанию это 23232, но вы можете изменить его на все, что захотите.

Шаг 3. Установите оболочку

Прежде чем ваш AVR сможет связаться с вами, вам понадобится какая-то операционная система или оболочка на целевом AVR. Есть несколько доступных, включая мою оболочку AVR Shell и оболочку Bitlash.

В качестве альтернативы используйте этот опыт как возможность написать свою собственную минимальную оболочку.

Шаг 4: Telnet и наслаждайтесь

Telnet и наслаждайтесь
Telnet и наслаждайтесь

Запомните информацию о конфигурации или оставьте ее по умолчанию. В моем примере изображения я нахожусь на хосте с именем «newton» и telnet к машине, к которой подключен мой AVR, хосту с именем «quadcpu1». Вы можете увидеть стандартный вывод telnet. Итак, если вы сохранили его по умолчанию, вы можете получить доступ к своему AVR / Arduino из своей сети TCP / IP с помощью: telnet 23232

или, если вы находитесь в том же самом ящике: telnet localhost 23232

Просто не забудьте использовать конфигурацию, на которую вы ее изменили, если вы ее изменили. Так и должно быть. Исходный код как для telnet-сервера, так и для микропрограммы AVR находится в свободном доступе как открытый исходный код и должен предоставить вам достаточно полезной информации, чтобы вы могли изменить его или написать свои собственные версии того и другого. Следующим шагом может быть написание реализации TCP / IP-сервера на Java или Qt, чтобы пользователи Mac и Linux могли получить выгоду.

Рекомендуемые: