
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04

Проект 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-печати


Чтобы сэкономить время, я поставил это как первый шаг, потому что трехмерная печать, вероятно, будет самым длинным шагом в этом процессе.
После того, как вы найдете свой любимый цвет нити для печати, совместимый с трехмерным принтером, который вы собираетесь использовать, загрузите эти 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


Теперь, когда мы настроили оборудование, мы можем приступить к разработке кода, который создаст графический интерфейс и соберет всю необходимую нам информацию. Файлы с кодом, необходимым для этого приложения, находятся внизу страницы. Вы должны загрузить их и убедиться, что они находятся в правильных путях к каталогам, как показано ниже.
Обязательно измените имена файлов с расширением.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 должен быть готов к испытанию.
Рекомендуемые:
Электрический музыкальный инструмент, напечатанный на 3D-принтере: 11 шагов (с изображениями)

Электрический музыкальный инструмент, напечатанный на 3D-принтере: определение проекта. Я надеюсь сделать усилитель для печати для использования с электрической скрипкой или любым другим электрическим инструментом. активный усилитель и держите его маленьким.Эле
Soundplant + 2 неизолированные платы = цифровой инструмент с 24 входами: 7 шагов

Soundplant + 2 неизолированные платы = цифровой прибор с 24 входами: Этот проект представляет собой документацию для рабочего проекта, выполняемого мной в CEISMC (Центр образования, объединяющего естественные науки, математику и вычислительную технику). CEISMC - это образовательное отделение Технологического института Джорджии в Атланте, штат Джорджия. Я участвую в программе " GoS
Музыкальный инструмент с Micro: бит: 5 шагов

Музыкальный инструмент с Micro: bit: Hi. Сегодня я покажу вам, как превратить BBC Micro: Bit в музыкальный инструмент, реагирующий на окружающий свет в комнате. Это очень просто и очень быстро, поэтому следуйте этим шагам и начинайте готовить джемы
Инструмент для обучения мытью рук: 11 шагов

Инструмент для обучения мытью рук: я сделал этот проект для университетского курса. Продукт предназначен для закрепления у детей навыков мытья рук. Каждый раз, когда включается раковина, активируется круговая площадка, а затем, если выливается мыло, записывается круговая площадка
Цифровой тестер ИС (для промышленности и инженерных колледжей) от Шубхама Кумара, UIET, Пенджабский университет: 6 шагов (с изображениями)

Цифровой тестер ИС (для промышленности и инженерных колледжей) Шубхама Кумара, UIET, Университет Пенджаба: Введение и работа Цифрового тестера ИС (для КМОП и ТТЛ ИС): РЕФЕРАТ: Могут использоваться ИС, основной компонент каждой электронной схемы для самых разных целей и функций. Но иногда из-за неисправных микросхем схема не