Руководство 3 о подключении к Linux* через Telnet для плат Intel® Galileo

Документация

Установка и настройка

000006386

02.02.2022

Необходимое оборудование

  • Системная плата Intel® Galileo
  • Модуль питания Galileo (входит в комплект поставки)
  • Кабель microUSB
  • Кнопка
  • Сетевой кабель CAT-5

Подключение к Linux* через telnet

Telnet — это сетевой протокол, который позволяет подключаться к удаленным компьютерам локально или через Интернет с помощью программного обеспечения telnet. Используя интерфейс командной строки (CLI), например терминал (доступен на Mac*, Unix* и Linux) и операционную систему (DOS) диска в Windows*.

Начало работы с telnet

Для подключения телесети к плате Intel® Galileo нам необходимо подключить ее к сети. Это не единственный способ подключения к плате, вы также можете подключиться с помощью функции SSH или последовательного подключения с помощью такого клиента, как PuTTY (только для Windows).

Используя кабель категории 5 (CAT5), подключите один конец к сетевому порту на системной плате. Подключите другой конец к маршрутизатору, подключенным к Интернету. Вы можете установить телесети на плату без подключения к Интернету, но с помощью онлайн-платы будет еще больше развлечений!

Уже есть прекрасное руководство о том, как установить телесети на системную плату Intel® Galileo на сайте сообщества Intel.

Чтобы сделать следующее руководство, см. наброски, которые вы хотите сконфигурировать IP-адрес вашей платы:

Сконфигурируйте IP-адрес системных плат вручную:

void setup() {
// Connect to Galileo over telnet
system("telnetd -l /bin/sh");
// Assign the IP address '169.254.1.1' to it
system("ifconfig eth0 169.254.1.1 netmask 255.255.0.0 up");
}
void loop() {
// Left intentionally empty
}

Автоматически сконфигурировать IP-адрес с помощью DHCP:

Этот набросок немного отличается от предыдущего. В этом эскизе мы запрашиваем у нашего интернет-маршрутизатора предоставить нам динамически сгенерирован IP-адрес. Мы модифицировали оригинальный сценарий, указанный в публикации, для вывода только IP-адреса (и не всей дополнительной информации, которую обычно можно распечатать).

void setup() {
system("telnetd -l /bin/sh");
system("echo setup > /dev/ttyGS0");
}
void loop() {
// Original code that prints out all data:
// system("ifconfig eth0 > /dev/ttyGS0");
// Modified code to search for "inet addr" and print out the address
system("ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' > /dev/ttyGS0");
// Sleep is used here like the "delay" function to continuously print out the address for us.
sleep(10);
}

Запустите любой из набросок выше, затем откройте последовательный монитор платы Arduino*. Код присваивает (вручную или динамический) IP-адрес, который мы будем использовать для телесети в системной плате.

Взаимодействие с системной платой Intel® Galileo с помощью telnet

Мы использовали DHCP для создания IP-адреса. Адрес, который мы получили: 192.168.1.12.

Используя любой интерфейс командной строки, например терминал, выполните следующий код (и замените IP-адрес на свой): telnet 192.168.1.12.

Если подключение успешно, вы должны увидеть что-то подобное:

example image

Чтобы отключить CLI, введите exit

Доступ к контактам GPIO через telnet выполняется с помощью интерфейса Linux Sysfs. Согласно документации: sysfs — это файловая система на базе памяти, изначально основанная на ramfs. Она позволяет экспортировать структуры данных ядра, их атрибуты и связи между ними в пользовательское пространство.

Дополнительную информацию о командах Linux, использованных в приведенных выше набросках, можно найти здесь: