Смена ttl raspberry pi

Содержание

Смена ttl raspberry pi

I brought Raspberry Pi board a while ago and I am using it primarily in remote mode, without any monitor or keyboard connected to it; Yesterday after reboot of the board I found that the IP address changed suddenly, now I have a problem, How to find the actual IP address of this board?

I tried to ping all available IP addresses, when I received ping replies I was not able identity the device exactly. I thought over this problem for a while and came up with a simple solution, to uniquely identify a machine using the ping reply.

By looking at the above ping replies we can’t identify the machine uniquely, I am documenting this solution, so that it can be useful to other when they are faced with similar scenarios, This solution works on all Linux machines.

Solution

Ping is a ICMP protocol which in turn is carried over IP, Every IP packet will have a Time-To-Live field which is decremented once after making routing decision by intermediate routers.

By default the TTL value in Linux is set to 64.

I decided to change this value in my raspberry PI board and set it to a random number. This way when the ping reply is received I know from TTL value who is responding.

With the TTL value changed, now when I ping the data

Looking at the ping reply now I know this is my Raspberry Pi. To make the TTL change permanent please add the following line in /etc/sysctl.conf

Hope this tip will be of use to others. I wrote a small python script to locate my PI, The python code can be found here.

Question from a Friend?

After reading this post one of my friend asked me, why can’t we use MAC addresses to identify the PI? think for a while before reading further.

MAC addresses works only at link level, which means the addresses gets changed the movement packet is moved from one link to another by a switch or router. So we need something further up in the protocol stack, and that is why I settled for IP field.

Источник

Подключитесь к Raspberry Pi без интернета через последовательный порт.

ⓘ Эта статья могла быть частично или полностью переведена с помощью автоматических средств. Приносим извинения за возможные ошибки.

Как управлять Raspberry Pi, когда его невозможно подключить к клавиатуре или подключить к Интернету.

Мы увидим, как использовать последовательное соединение Raspberry Pi для управления им с ПК.

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

Чтобы иметь возможность последовательно подключаться к Raspberry Pi и управлять им, нам потребуется следующее оборудование:

Вам также понадобится компьютер для подключения Pi через кабель USB к последовательному порту.

Как подключить USB-кабель к последовательному порту Raspberry Pi?

Первое, что нам нужно сделать, чтобы иметь возможность подключиться к последовательному порту, — это подключить его к нашему компьютеру.

Для этого выключите Pi и подключите USB-порт к компьютеру, подключив провода к Raspberry Pi следующим образом:

  • Черный провод -> контакт 6
  • Белый провод -> контакт 8
  • Зеленый провод -> контакт 10

Красный провод намеренно оставляем отключенным. На самом деле, он обычно используется для подачи тока на Raspberry Pi, чтобы не использовать его источник питания. Тем не менее, подаваемый ток мне кажется слабоватым для Pi, поэтому лучше обойтись без него.

Если вы хотите попробовать подключить Pi напрямую от USB, подключите красный провод к контакту 2. Однако будьте осторожны, после этого вы должны отключить питание Raspberry Pi, иначе вы рискуете поджечь его!

Как подключиться к Raspberry Pi через TTL порт?

Теперь, когда мы подключили последовательный порт Raspberry Pi к нашему ПК, как нам подключиться к Pi?

Во-первых, вам нужно активировать консольный порт на Raspberry Pi. Для этого вставьте SD-карту в компьютер, откройте файл config.txt в счете boot с SD-карты и добавьте следующую строку в новую строку:

Для этого у вас есть три решения, в зависимости от того, используете ли вы Linux, Mac OS или Windows.

Подключитесь к последовательному порту Raspberry Pi с Linux

В Linux подключение через последовательный порт очень просто. Обычно после подключения порта он обозначается как / dev / ttyUSB0. Вам просто нужно открыть на нем терминал с помощью команды screen :

Теперь у вас есть терминал, открытый на вашем Raspberry Pi с вашего ПК.

Подключитесь к последовательному порту Raspberry с Mac OS

На Mac все немного сложнее.

Сначала вам необходимо скачать драйверы для кабеля. В зависимости от модели кабеля требуются два разных драйвера: Prolific или SiLabs. Для простоты установите оба.

После установки драйверов вам нужно будет найти имя устройства. Для этого откройте терминал и выполните следующую команду:

Ищете имя, которое выглядит как /dev/cu.usbserial-NNNN золото /dev/cu.SLAB_USBtoUART золото /dev/cu.usbmodem . Как только вы найдете свой, вы можете связаться с screen , как и в Linux. Например, если вы нашли /dev/cu.usbserial-1234 :

Подключитесь к Raspberry Pi в TTL из Windows

Последняя возможность, вы используете Windows. Все еще немного сложнее, чем на Mac, но все еще довольно просто.

Что касается Mac, начните с установки драйверов, которые можно найти здесь и там.

Вам также потребуется загрузить клиент Putty SSH, доступный здесь.

Теперь нам нужно найти порт, используемый Windows для USB-соединения. Для этого зайдите в диспетчер устройств в разделе «Порты» и найдите устройство, относящееся к «USB to Serial». Вы должны увидеть номер порта в круглых скобках в форме COM x где x это число.

Все, что вам нужно сделать, это запустить Putty, выбрать соединение в Serial , со скоростью 115200 , и проинформировать порт COM использовать.

И вот оно, снова у вас есть терминал для Raspberry Pi, без интернета!

Источник

Активируйте последовательный порт TTL Raspberry Pi и убедитесь, что он работает.

ⓘ Эта статья могла быть частично или полностью переведена с помощью автоматических средств. Приносим извинения за возможные ошибки.

Если вы занимаетесь электроникой с Raspberry Pi, вам быстро потребуется использовать последовательный порт, чтобы ваш Pi мог взаимодействовать с внешним модулем. Но чтобы иметь возможность использовать последовательный порт, вам сначала нужно активировать его на Raspberry Pi.

Поэтому в этом руководстве мы увидим, как активировать последовательный порт Raspberry Pi и убедиться, что он работает правильно.

Для этого вам потребуются следующие материалы:

Для чего нужен последовательный порт?

Как следует из названия, последовательный порт передает данные «последовательно», то есть один бит за другим. Это делает его использование и реализацию довольно простым с точки зрения программного обеспечения и электроники, позволяя создавать очень недорогие интерфейсы.

Хотя сегодня он в значительной степени неизвестен широкой публике, его заменил USB (который сам по себе является последовательным портом), он все еще широко используется в электронике, чтобы позволить различным электронным модулям обмениваться данными.

Таким образом, как часть Raspberry Pi, вам потенциально придется использовать последовательный порт для использования внешних датчиков или модулей, требующих обмена данными с Raspberry.

Активируйте последовательный порт Raspberry для связи с внешним модулем.

По умолчанию последовательный порт Raspberry Pi подключен к консоли, что позволяет управлять Raspberry Pi без графического интерфейса. Если это может быть полезно для подключения к Raspberry без интернета, однако это несовместимо со стандартным использованием последовательного порта.

Поэтому для начала нам придется изменить конфигурацию Raspberry, чтобы использовать последовательный порт в качестве «последовательного интерфейса», а не консоли.

Для этого откройте терминал на Raspberry Pi напрямую или через SSH, затем выполните команду sudo raspi-config для доступа к инструменту управления конфигурацией Raspberry.

После запуска raspi-config выберите Interfacing options , затем Serial . Ответ No к части, спрашивающей, хотите ли вы активировать оболочку через последовательное соединение, затем Yes к части, спрашивающей, хотите ли вы активировать аппаратный порт. Подтвердить, сделать Finish , а затем ответьте утвердительно на вопрос, хотите ли вы перезагрузить Raspberry Pi.

Дополнительные шаги для активации последовательного порта Raspberry Pi 3, 4 и других.

Эта часть относится к моделям 3 и новее.

Для внутреннего чтения последовательных данных используется так называемый UART. Все модели Raspberry имеют как минимум 2 UART, номер 0, который является обычным UART, и номер 1, который представляет собой мини-UART с гораздо более ограниченными и очень ограниченными возможностями.

Исторически UART 0 использовался по умолчанию, но с переходом на версию 3 это уже не так, теперь он используется для управления чипом Bluetooth. Если вы используете Raspberry Pi 3 или более позднюю модель, вам придется изменить это поведение и отключить Bluetooth.

Для этого выполните следующие команды:

Убедитесь, что последовательный порт Raspberry активирован.

Теперь, когда наш порт активирован, нам просто нужно убедиться, что все работает должным образом.

Технически последовательный порт Raspberry имеет форму двух GPIO, один для приема данных, RXD, и один для отправки TXD.

Порты TXD и RXD соответствуют физическим портам 8 и 10.

Чтобы убедиться, что наш порт работает должным образом, мы просто соединим порты RXD и TXD вместе. Таким образом, любые данные, отправленные на порт TXD, будут приняты портом RXD, и мы сможем прочитать их на экране.

Будьте осторожны, когда вы используете настоящий внешний модуль, принцип будет таким же, а именно: подключите TXD модуля к RST Pi, а RST Pi к TXD модуля.

Подключите последовательные порты.

Чтобы соединить между собой последовательные порты, мы будем использовать макет из кабелей Dupont и резистор. Технически сопротивление не является абсолютно необходимым, но в случае ошибки при обращении оно защитит ваш компьютер. ягодка.

Схема сборки очень проста. Если у вас есть кабели типа мама-мама, вам даже не понадобится макетная плата.

Выбор сопротивления не имеет большого значения, вы легко найдете 1000 Ом, что будет очень хорошо, но 470 Ом более чем достаточно.

Обратите внимание, когда вы подключаете настоящий модуль, не забудьте убедиться, что его TXD использует 3,3 В, как Raspberry. Если вам нужно подключить модуль, который отправляет свои данные с напряжением 5 В, вам нужно будет использовать мост-делитель.

Убедитесь, что с Minicom все работает.

Теперь, когда все подключено, остается только протестировать с помощью программы Minicom, обеспечивающей последовательную связь.

Для начала нет, давайте установим Minicom с помощью команд ниже.

После завершения установки все, что нам нужно сделать, это запустить Minicom, указав используемый последовательный порт.

Все последовательные порты доступны как устройства в Linux, поэтому в папке /dev и названы serialX , или X это номер последовательного порта. В нашем случае мы хотим использовать последовательный порт 0, поэтому мы будем использовать /dev/serial0 .

Поэтому мы можем запустить Minicom с помощью следующей команды:

Терминал Minicom запускается, если ввести букву, она должна появиться на экране!

Вот и все, ваш последовательный порт функционирует, вам просто нужно его использовать!

Источник

Управление Raspberry Pi с компьютера через USB-TTL адаптер

Если у вас нет возможности подключить к RasPi монитор и клавиатуру, то управлять миникомпьютером можно по сети через SSH соединение. Что делать, если возможность сетевого подключения отсутствует? Можно подключить Raspberry Pi к управляющему компьютеру через USB-TTL конвертер PL2303

В этой статье рассмотрим как это сделать

USB-TTL конвертер обязательно должен иметь логику 3v3, а не 5V. Иначе есть риск повреждения GPIO, пины которого рассчитаны на использование 3V3 логики. Не все конвертеры удовлетворяют этому требованию, я использую такой —

Подключаем USB-TTL адаптер к управляющему компьютеру. Если он автоматически не определился, ищем в интернете и устанавливаем драйвера для PL2303. В случае успешной установки драйвера в диспетчере устройств адаптер должен определиться как Profilic USB-to-Serial Comm Port(COMxx):

Теперь подключим Raspberry Pi к USB-TTL адаптеру. На конце адаптера 4 провода, которые необходимо подключить к GPIO пинам Raspberry Pi следующим образом:

чёрный и красный провода это соответственно минус и плюс питания. Если вы питаете Raspberry Pi через microUSB разъём, то они остаются неподключёнными. Чтобы запитать Raspberry Pi от подключаемого по GPIO источника подключаем красный провод к пину 5V, чёрный к пину GND. Одновременное питание через GPIO и микроUSB разъём ЗАПРЕЩЕНО

белый провод подключаем к пину TXD

зелёный провод к пину RXD

Далее запускаем на управляющем компьютере Putty, в строке Connection Type отмечаем пункт Serial. В поле Seial Line вводим номер порта (можно посмотреть в диспетчере устройств), в моём случае это COM13, в поле скорость соединения (Speed) вводим 115200 и нажимаем кнопку Open.

После этого должно появится окно с приглашением консоли Raspberry Pi.

Если на управляющем компьютере установлен Linux, то всё ещё проще:

P.S убедитесь, что в файлах Raspberry Pi

1. /etc/inittab прописано что-то типа T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Источник

Подключение через SSH, SFTP и UART к терминалу Linux на Raspberry Pi, Orange Pi и Banana Pi

Для управления и настройки мини компьютеров Raspberry Pi, Orange Pi или Banana Pi на базе ОС Linux, не всегда нужны монитор, мышь и клавиатура. Особенно когда мы используем эти платы в качестве серверов: Web, SVN, GIT, Tomcat и др.. Иногда подключение какой либо периферии физически не является возможным, тогда на помощь нам приходят протоколы SSH и SFTP.

Также можно подключиться и через USB в TTL последовательный кабель, иногда называемый консольным кабелем. Этот кабель позволяет вам получить доступ к командной строке вашего мини компьютера, подключив USB-конец к компьютеру, а другой конец — к определенным пинам GPIO на плате.

Из wikipedia: SSH — это сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). SSH происходит от английского термина Secure Shell и переводиться как «безопасная оболочка».

Данный протокол сходен по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования, позволяет безопасно передавать в незащищённой среде практически любой другой сетевой протокол.

Из wikipedia: SFTP — протокол прикладного уровня, предназначенный для копирования и выполнения других операций с файлами поверх надёжного и безопасного соединения. Протокол разработан группой IETF как расширение к SSH-2, однако SFTP допускает реализацию и с использованием иных протоколов сеансового уровня. SFTP происходит от английского термина SSH File Transfer Protocol.

Протокол предполагает, что он работает поверх установленного безопасного канала, что сервер уже аутентифицировал клиента и что идентификатор клиента доступен протоколу.
Сервер SFTP обычно использует порт 22.

SSH File Transfer Protocol не является протоколом FTP работающим поверх SSH — это другой, новый протокол. Также SFTP иногда путают с Simple File Transfer Protocol из-за совпадающего сокращения «SFTP».

Подключение по SSH и SFTP

Находим IP адрес

  1. Заходим по адресу http://192.168.0.1 или http://192.168.1.1 и вводим логин и пароль, обычно это admin/admin;
  2. Ищем список подключённых клиентов, в моём случае — это DHCP>Список клиентов DHCP. Здесь находим наш Orange Pi/Raspberry Pi/Banana Pi.

Подключение по SSH с помощью PuTTY

PuTTY — свободно распространяемый клиент для различных протоколов удалённого доступа, включая SSH, Telnet, rlogin. Также имеется возможность работы через последовательный порт. Программа в установке не нуждается, что делает её портативной.

  1. Запускаем PuTTY, из Category выбираем Session, тип соединения (Connection type) SSH, пишем IP адрес (Host Name (or IP address)), порт (Port, обычно это 22), в графе Saved Sessions указываем имя сессии и нажимаем на кнопку Save, чтобы сохранить параметры подключения и не набирать их в дальнейшем (не относится к логину и паролю). Теперь, чтобы подключиться нажимаем Open;
  2. В окне Putty Security Alert нажимаем на Yes, чтобы в дальнейшем не видеть этого предупреждения;
  3. Далее вводим логин и пароль. Также можно скопировать данные в буфер обмена, а потом вставить их кликом правой кнопки мышки;
  4. Собственно вот так и осуществляется подключение по SSH в Putty. Примерно вот так выглядит «Рабочий стол» Armbian на Orange Pi PC:

Подключение по SFTP с помощью WinSCP

WinSCP — это графический клиент SFTP (SSH File Transfer Protocol) для Windows с открытым исходным кодом. Он также поддерживает (устаревший) протокол SCP (Secure Copy Protocol). Предназначен для защищённого копирования файлов между компьютером и серверами, поддерживающими эти протоколы.

  1. Запускаем WinSCP и выбираем New Site, чтобы создать новое подключение;
  2. Выбираем тип соединения (File protocol) SFTP, в графе Host name пишем имя хоста или, в моём случае, IP адрес, а в Port number — порт 22. Задаём имя пользователя (User name) и пароль (Password), если не хотите каждый раз при подключении вводить эти данные. Нажимаем Save;
  3. В окне Save session as site сохраняем сессию. Если хотите сохранить и пароль, тогда ставим галочку напротив Save password (not recomended). Нажимаем OK;
  4. Данные сохранены, теперь нажимаем Login для подключения;
  5. В окне Warning нажимаем на Yes, чтобы в дальнейшем не видеть этого предупреждения;
  6. Всё, теперь можно манипулировать файловой системой ОС Linux, в моём случае — это Armbian на Orange Pi PC.

Подключение по UART

Последовательный порт представляет собой низкоуровневый способ для обмена данными между Raspberry Pi, Orange Pi или Banana Pi и другой компьютерной системой. UART подключение используется для доступа к консоли Linux. Это может помочь устранить проблемы во время загрузки ОС или просто войти в ОС платы, если видео и сеть недоступны.

Что понадобится для UART подключения

Для подключения к Raspberry Pi, Orange Pi или Banana Pi используя TTL последовательный порт (UART или Rx-Tx) нам понадобится USB-UART (USB-TTL) преобразователь. Но, перед тем, как подключиться к Raspberry Pi, убедитесь, что вы используете преобразователь с логикой 3.3 В или подключитесь через преобразователь логических уровней.

Преобразователь USB-UART на базе PL2303HX работает на 3.3В, вот результат подключения вольтметра к Tx:

а вот CH340G показывает все 5В:

но не стоит расстраиваться, у преобразователь USB-UART на базе CH340G есть одна маленькая фишка, его можно легко переделать, чтобы он работал на уровне 3.3 В. Для этого необходимо удалить перемычку с задней стороны с 5 В и припаять на 3.3 В (см. ниже). Я рекомендую использовать именно CH340G, так как с ним вы сможете программировать платы типа Arduino Pro Mini, благодаря пину DTR, которого PL2303HX не имеет.

А вот на Orange Pi и Banana Pi присутствует преобразователь логических уровней, а именно на ножке Rx, (см. ниже), так что смело можете использовать CH340G.

  1. Перед тем, как подключать 5-ти вольтовый преобразователь к Orange Pi или Banana Pi, убедитесь в наличии этого маленького транзистора на плате. Если его нет, тогда не стоит рисковать, так как можете убить процессор;
  2. Этот преобразователь логических уровней есть только на этом 3-х пиновом порту, на GPIO (40 пиновый) он отсутствует и использовать нужно только приборы работающие на 3.3 В.

Подключение по UART с помощью PuTTY

  1. Подключаем преобразователь USB-UART к Raspberry Pi, Orange Pi или Banana Pi (в моём случае это Banana Pi M3);
  2. Вставляем преобразователь в USB компьютера;
  3. Переходим в диспетчер устройств (Device Manager) и находим номер COM порта. В моём случае это COM12;
  4. Запускаем PuTTY, в Category выбираем Session, выбираем тип соединения (Connection type) Serial, пишем COM порт в Serial line и скорость передачи данных 115200 в Speed. Если хотите сохранить параметры подключения, тогда в графе Saved Sessions указываем имя сессии и нажимаем на кнопку Save. Теперь, чтобы подключиться нажимаем Open;
  5. Появляется чёрная консоль;
  6. Включаем плату (Raspberry Pi, Orange Pi или Banana Pi) и ждём авторизации, после чего вводим логин и пароль;
  7. Теперь можете вводить ваши любимые команды;
  8. Для проверки я запустил:
    1. htop — компьютерная программа, предназначенная для вывода на терминал списка запущенных процессов и информации о них (монитор процессов).;
    2. mc (Midnight Commander) — один из файловых менеджеров с текстовым интерфейсом типа Norton Commander для UNIX-подобных операционных систем;
    3. gpio readall — команда чтения состояния GPIO;

Подключение по UART к Raspberry Pi

Итак, для подключение по UART к Raspberry Pi нам понадобятся следующие контакты:

  • VCC — RPi пин 02 (5V питание) — через этот пин можете питать плату, однако рекомендуется использовать отдельный блок питания;
  • GND — RPi пин 06 — общий контакт (земля);
  • RXD — RPi пин 08 — подключается к TX USB-UART преобразователя;
  • TXD — RPi пин 10 — подключается к RX USB-UART преобразователя.

Подключение по UART к Orange Pi и Banana Pi

Почти у всех моделей Orange Pi и Banana Pi, для подключение по UART к консоли Linux, есть отдельный 3-х пиновый разъём: GND-RXD-TXD. А USB-UART преобразователь подключается как обычно:

  • GND — общий контакт (земля);
  • RXD — подключается к TX USB-UART преобразователя;
  • TXD — подключается к RX USB-UART преобразователя.

Подключение по UART к Orange Pi Zero

Так как Orange Pi Zero не имеет порта для видео-выхода (ни HDMI, ни аналогово), достучатся можно через сеть по SSH или через последовательный порт. Как и у своих собратьев, Orange Pi Zero имеет отдельный 3-х пиновый разъём для UART терминала и подключается также:

Источник

Adblock
detector