Оглавление:

LLDPi - сетевой инструмент Raspberry Pi (Государственный университет Колорадо): 7 шагов
LLDPi - сетевой инструмент Raspberry Pi (Государственный университет Колорадо): 7 шагов

Видео: LLDPi - сетевой инструмент Raspberry Pi (Государственный университет Колорадо): 7 шагов

Видео: LLDPi - сетевой инструмент Raspberry Pi (Государственный университет Колорадо): 7 шагов
Видео: Решения Stratodesk для удалённой работы 2024, Ноябрь
Anonim
LLDPi - сетевой инструмент Raspberry Pi (Государственный университет Колорадо)
LLDPi - сетевой инструмент Raspberry Pi (Государственный университет Колорадо)

Проект LLDPi - это встроенная система, созданная из Raspberry Pi и ЖК-дисплея, которая может извлекать информацию LLDP (Link Layer Discovery Protocol) от соседних устройств в сети, такую как имя и описание системы, имя и описание порта, имена VLAN и управление IP. адрес. В этом руководстве мы рассмотрим необходимые шаги, чтобы собрать систему LLDPi, состоящую из следующих частей:

1x Raspberry Pi 2 B (или новее) + карта памяти microSD:

1 x Elecrow 5-дюймовый TFT LCD HDMI-дисплей:

В качестве альтернативы вы можете использовать этот дисплей:

1 схема отключения (используется с кнопкой):

1 x 3A UBEC (регулятор напряжения постоянного и постоянного тока):

1 модуль зарядки аккумулятора:

4 аккумулятора 18650:

1 x гнездовой разъем питания:

1 х кулисный переключатель:

2 коротких кабеля micro USB:

кабельные разъемы:

ВАМ ПОТРЕБУЕТСЯ ПАЙКА И ПАЙКА, А ТАКЖЕ НОЖНИЦЫ ДЛЯ ПРОВОЛОКИ!

Катушка с нитью для трехмерной печати для печати корпуса для RamPi * (вам потребуется доступ к трехмерному принтеру)

Крепежные винты 11 x 1/4 дюйма (для удержания всего на месте)

Адаптер microSD для чтения / записи с ПК с помощью монитора, кабеля HDMI, клавиатуры и мыши для настройки Raspberry Pi

Шаг 1: чехол для 3D-печати

Чехол для 3D-печати
Чехол для 3D-печати
Чехол для 3D-печати
Чехол для 3D-печати

Чтобы сэкономить время, я поставил это как первый шаг, потому что трехмерная печать, вероятно, будет самым длинным шагом в этом процессе.

После того, как вы найдете свой любимый цвет нити для печати, совместимый с трехмерным принтером, который вы собираетесь использовать, загрузите эти 4 файла и начните их печатать. Я использовал АБС-пластик, который может вызвать деформацию и противоречивые результаты, поэтому вам, возможно, придется поэкспериментировать, чтобы найти правильный материал. Возможно, вам потребуется применить масштабный коэффициент, чтобы напечатать их в нужном размере.

(Мне пришлось масштабировать объекты до 0,1%.)

Шаг 2: Установите Raspbian на SD-карту

Вам потребуется твердое понимание Linux, чтобы иметь возможность создавать LLDPi.

Перейдите по ссылке ниже и загрузите последнюю версию Raspbian с рабочим столом.

www.raspberrypi.org/downloads/raspbian/

Используйте свой компьютер, чтобы записать образ ОС на карту microSD. Разархивируйте файл Raspbian и перейдите по следующей ссылке, чтобы просмотреть инструкции, относящиеся к ОС, которую вы в настоящее время используете для установки образа.

learn.sparkfun.com/tutorials/sd-cards-and-…

Теперь мы можем подключить карту microSD к Raspberry Pi 3 и загрузить ее. При ознакомлении с этим руководством убедитесь, что raspberry pi подключен к монитору и клавиатуре и имеет подключение к Интернету.

Шаг 3: Установите Raspbian на Raspberry Pi

Сначала мы убедимся, что клавиатура работает правильно, указав, какой языковой стандарт использовать. Выполните следующую команду, где $ - это приглашение командной строки, не вводите ее.

$ sudo raspi-config

Теперь это должно привести нас к экрану, где мы можем редактировать параметры локализации, он должен быть четвертым в списке. Теперь мы хотим выбрать «Изменить языковой стандарт», пройти вниз по списку и нажать пробел на локали с именем en_US. UTF-8 UTF-8 и установить для него значение по умолчанию на следующем экране. Нам также нужно изменить часовой пояс, вернувшись в Параметры локализации, выбрав Изменить часовой пояс и установив его на Америка / Денвер.

Теперь нам нужно войти в Параметры загрузки, Рабочий стол / CLIDesktop Autologin, чтобы pi автоматически входил в систему при загрузке. Зайдите в Advanced Options и выберите Expand Filesystem, чтобы использовать всю SD-карту. Мы также можем изменить пароль пользователя, выбрав первый вариант - «Изменить пароль пользователя». Настоятельно рекомендуется записать пароль, не забывайте его! Пароль по умолчанию - малиновый. Затем нажмите «Готово», чтобы выйти. Raspberry Pi может потребоваться перезагрузка, чтобы изменения вступили в силу. Теперь откройте терминал, выполните следующую команду и выберите этот набор параметров при появлении запроса.

$ sudo dpkg-reconfigure keyboard-configuration

Стандартный 105-клавишный (международный) ПК

Другое -> затем-> английский (США)

По умолчанию для раскладки клавиатуры

Нет ключа создания

Нет

Наш следующий шаг - обновить Raspbian до последней версии. Для этого просто откройте терминал и введите, $ sudo apt-get -y update && sudo apt-get -y upgrade

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

$ sudo apt-get -y обновление

$ sudo apt-get install -y vim tshark tcpdump ethtool gawk

На вопрос «Должны ли пользователи, не являющиеся суперпользователями, иметь возможность захватывать пакеты?», Нажмите «Да».

Шаг 4: Настройка ЖК-дисплея

Настройка ЖК-дисплея
Настройка ЖК-дисплея
Настройка ЖК-дисплея
Настройка ЖК-дисплея

Следующим шагом будет настройка ЖК-дисплея для работы с Raspberry Pi. Выключите Raspberry Pi, установите ЖК-дисплей и снова включите его, чтобы он соответствовал изображениям выше. Убедитесь, что порты HDMI выровнены, как показано на рисунке, и подключите разъем HDMI.

Затем нам нужно выполнить следующие команды, чтобы загрузить и установить драйвер для ЖК-дисплея.

$ git clone

$ cd Elecrow-LCD5

$ chmod + x Elecrow-LCD5

$ sudo./Elecrow-LCD5

и введите y для перезагрузки. После того, как устройство перезагрузится, нам также нужно будет внести изменения в ориентацию дисплея.

$ sudo vim /boot/config.txt

и посмотрите в конце файла на строку вроде

display_rotate = 0

и измените его на

display_rotate = 3

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

$ sudo перезагрузка

$ sudo apt-get install -y xinput-calibrator xinput xserver-xorg-input-evdev

Ось X и Y сенсорного экрана необходимо поменять местами, поэтому мы выполняем следующие команды, чтобы завершить настройку экрана.

$ xinput --set-prop 'ADS7846 Touchscreen' Evdev Axes Swap '1

$ xinput --set-prop 'ADS7846 Touchscreen' Evdev Axis Inversion '1 0

ПРОПУСТИТЕ ЭТО, ЕСЛИ НЕТ ОШИБОК С ПРЕДЫДУЩИМИ КОМАНДАМИ

#################################################################

Если после выполнения приведенных выше команд возникают ошибки, вы можете попробовать внести эти изменения в файлы драйверов, используемые Raspberry Pi. В зависимости от того, какой Raspberry Pi вы используете для этого LLDPi, могут быть небольшие различия в настройке драйверов ЖК-дисплея и / или других параметров. При настройке с помощью Raspberry Pi 3 возникла проблема с ЖК-дисплеем с использованием следующего файла конфигурации

/usr/share/X11/xorg.conf.d/40-libinput.conf

Когда он должен был использовать этот файл конфигурации для другого драйвера evdev

/usr/share/X11/xorg.conf.d/10-evdev.conf

Чтобы исправить это, выполните следующие команды:

$ sudo mv /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf

$ sudo перезагрузка

Затем попробуйте запустить команды, чтобы снова поменять местами оси X и Y.

$ xinput --set-prop 'ADS7846 Touchscreen' Evdev Axes Swap '1

$ xinput --set-prop 'ADS7846 Touchscreen' Evdev Axis Inversion '1 0

Если это по-прежнему не работает, вам нужно будет найти другой способ правильно настроить сенсорный экран.

###############################################################

Если команды ДЕЙСТВИТЕЛЬНО работают и сенсорный экран работает правильно, перейдите к редактированию следующего файла, чтобы он содержал эти 4 строки кода. $ vim /home/pi/.config/lxsession/LXDE-pi/swapAxis.sh

#! / bin / bash

xinput --set-prop 'ADS7846 Touchscreen' Evdev Axes Swap '1

xinput --set-prop 'ADS7846 Touchscreen' Evdev Axis Inversion '1 0

выход 0

Не забудьте дать скрипту соответствующие права доступа к файлам. $ sudo chmod 755 /home/pi/.config/lxsession/LXDE-pi/swapAxis.sh

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

$ sudo vim /home/pi/.config/lxsession/LXDE-pi/autostart

Добавьте следующие 2 строки,

@ / home / pi /.config / lxsession / LXDE-pi / swapAxis.sh

@lxterminal

Шаг 5: Постройте схему

Постройте схему
Постройте схему
Постройте схему
Постройте схему
Постройте схему
Постройте схему

Подготовьте паяльник, возьмите разъемы кабеля и начните создавать схему, которая позволит батареям 18650 питать LLDPi. Начните с гнездового разъема питания и припаяйте несколько кабельных разъемов, чтобы прикрепить его к входному концу UBEC. Затем нам нужно получить штекерный кабель micro USB и подключить его к другому концу UBEC, как показано на рисунке. У UBEC штифт должен быть установлен так, как показано на изображении крупным планом. Затем возьмите комплект аккумуляторов 18650, подключите их параллельно и припаяйте разъем кабеля, готовый для подключения к модулю зарядки аккумулятора. Поместите то, что вы сделали из схемы, в корпус вместе с батареями.

Прежде чем идти дальше, убедитесь, что все работает так, как ожидалось. Если все работает, то все готово к сборке!

Шаг 6: соберите все вместе

Положил все это вместе
Положил все это вместе
Положил все это вместе
Положил все это вместе
Положил все это вместе
Положил все это вместе

Теперь прикрутите крышку аккумуляторного отсека к корпусу. Модуль зарядки аккумулятора должен иметь UBEC, подключенный через micro USB, а аккумуляторы с другой стороны через пару кабельных разъемов. Другой кабель USB на модуле зарядки аккумулятора приведет к отключению цепи. Подготовьте кулисный переключатель с кабельным разъемом, который будет подключен к цепи отключения. Схема выключения также будет иметь 2 других провода к raspberry pi для сигнализации последовательности выключения, а также для подачи питания через другой больший USB-порт на raspberry pi, как показано на последних двух рисунках. Используемый на картинке USB-порт большего размера необходим, потому что он выдает 2,1 ампер, а другой - только 1.

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

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

mausberry-circuits.myshopify.com/pages/set…

После того, как все настроено для схемы плавного выключения, убедитесь, что вы вставили кулисный переключатель в слот на боковой стороне корпуса, прежде чем закрепить raspberry pi винтами, затем поместите все в корпус, чтобы добавить уже работающий ЖК-дисплей и надеть крышку на корпус с помощью шурупов.

Шаг 7: Кодирование приложения LLDPi

Кодирование приложения LLDPi
Кодирование приложения LLDPi
Кодирование приложения LLDPi
Кодирование приложения LLDPi

Теперь, когда мы настроили оборудование, мы можем приступить к разработке кода, который создаст графический интерфейс и соберет всю необходимую нам информацию. Файлы с кодом, необходимым для этого приложения, находятся внизу страницы. Вы должны загрузить их и убедиться, что они находятся в правильных путях к каталогам, как показано ниже.

Обязательно измените имена файлов с расширением.txt на расширение.sh

$ mkdir / home / pi / LLDPi

$ cd / home / pi / LLDPi

$ touch /home/pi/LLDPi/lldp.sh

$ touch /home/pi/LLDPi/getSWITCHinfo.sh

$ touch /home/pi/LLDPi/getVLANinfo.sh

$ touch /home/pi/LLDPi/LLDPiGUI.py

$ touch /home/pi/LLDPi/reset.sh

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

$ chmod 755 имя файла

$ touch tshark.cap

$ sudo chown root: корень tshark.cap

$ touch tcpdump.cap

$ touch displayLLDP.txt

$ сенсорный прогресс

[Необязательно] Это сделает удобный значок на экране рабочего стола, который пользователь может дважды щелкнуть, чтобы запустить приложение LLDPi. Отредактируйте следующий файл, чтобы создать значок и убедитесь, что он имеет следующее содержимое.

$ vim /home/pi/Desktop/LLDPi.desktop

[Desktop Entry]

Имя = LLDPi

Комментарий = ЗАПУСТИТЬ скрипт LLDPi

Exec = / home / pi / LLDPi / LLDPiGUI.py

Терминал = истина

Тип = Приложение

* Если у вас есть изображение для использования в качестве значка, добавьте строку в файл LLDPi.desktop, которая отражает путь к каталогу изображения,

Значок = / абсолютный / путь / к / изображению / файлу

Протестируйте скрипты, проверив вывод./LLDPiGUI.py или щелкнув значок на главном экране.

$ vim ~ /.bashrc

Добавьте строку, подобную приведенной ниже, в конце ~ /.bashrc, чтобы запустить приложение LLDPi во время загрузки. /home/pi/LLDPi/LLDPiGUI.py

И на этом все должно быть, RamPi должен быть готов к испытанию.

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