Inhoudsopgave:

LLDPi - Raspberry Pi Network Tool (Colorado State University) - Ajarnpa
LLDPi - Raspberry Pi Network Tool (Colorado State University) - Ajarnpa

Video: LLDPi - Raspberry Pi Network Tool (Colorado State University) - Ajarnpa

Video: LLDPi - Raspberry Pi Network Tool (Colorado State University) - Ajarnpa
Video: 2 Raspberry Pi host Doesnot Exist,Connection refuse, timeout (SOLVED) 2024, Juli-
Anonim
LLDPi - Raspberry Pi-netwerktool (Colorado State University)
LLDPi - Raspberry Pi-netwerktool (Colorado State University)

Het LLDPi-project is een ingebed systeem gemaakt van een Raspberry Pi en LCD dat LLDP-informatie (Link Layer Discovery Protocol) kan ophalen van aangrenzende apparaten op een netwerk, zoals de systeemnaam en -beschrijving, poortnaam en -beschrijving, VLAN-namen en IP-beheer adres. In deze tutorial zullen we de nodige stappen bespreken om een LLDPi-systeem samen te stellen dat uit de volgende onderdelen bestaat:

1x Raspberry Pi 2 B (Of nieuwer) + microSD geheugenkaart:

1 x Elecrow 5-inch TFT LCD HDMI-scherm:

Als alternatief kunt u dit scherm gebruiken:

1 x Uitschakelcircuit (gebruik met knop):

1 x 3A UBEC (DC-DC spanningsregelaar):

1 x batterij-oplaadmodule:

4 x 18650 Batterijen:

1 x vrouwelijke stekkerdoos:

1 x tuimelschakelaar:

2 x korte micro-USB-kabels:

kabelconnectoren:

JE HEBT EEN SOLDEERBOUT EN SOLDEER NODIG, EVENALS DRAADSTRIPPERS!

Spoel met 3D-printfilament om een behuizing voor de RamPi te printen *(Je hebt toegang nodig tot een 3D-printer)

11 x 1/4 machineschroeven (om alles op zijn plaats te houden)

microSD-adapter om te lezen/schrijven vanaf pc met monitor, HDMI-kabel, toetsenbord en muis om Raspberry Pi in te stellen

Stap 1: 3D-afdrukbehuizing

3D-afdrukbehuizing
3D-afdrukbehuizing
3D-afdrukbehuizing
3D-afdrukbehuizing

Om wat tijd te besparen heb ik dit als eerste stap gezet omdat 3D printen waarschijnlijk de langste stap in dit proces zal zijn.

Nadat u uw favoriete kleur printfilament heeft gevonden die compatibel is met de 3D-printer die u gaat gebruiken, downloadt u deze 4 bestanden en begint u ze af te drukken. Ik heb ABS gebruikt dat kromtrekken en inconsistente resultaten kan veroorzaken, dus je moet misschien experimenteren om het juiste materiaal te vinden. Mogelijk moet je een schaalfactor toepassen om deze op de juiste maat af te drukken

(Ik moest de objecten verkleinen tot 0,1%.)

Stap 2: Installeer Raspbian op SD-kaart

Je moet een goed begrip van Linux hebben om een LLDPi te kunnen maken.

Ga naar de onderstaande link en download de nieuwste versie van Raspbian met Desktop.

www.raspberrypi.org/downloads/raspbian/

Gebruik uw computer om de OS-afbeelding op de microSD-kaart te schrijven. Pak het Raspbian-bestand uit en ga naar de volgende link om instructies te bekijken die specifiek zijn voor het besturingssysteem dat u momenteel gebruikt om de afbeelding te installeren.

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

Nu zouden we de microSD-kaart in de Raspberry Pi 3 moeten kunnen steken en opstarten. Zorg ervoor dat de raspberry pi is aangesloten op een monitor en toetsenbord en een internetverbinding heeft wanneer u deze handleiding doorloopt.

Stap 3: Stel Raspbian in op de Raspberry Pi

Eerst zullen we ervoor zorgen dat het toetsenbord correct werkt door op te geven welke landinstelling moet worden gebruikt. Voer de volgende opdracht uit, waarbij $ de opdrachtregelprompt is, typ deze niet in.

$ sudo raspi-config

Dit zou ons nu naar een scherm moeten brengen waar we de lokalisatie-opties kunnen bewerken, het zou de vierde op de lijst moeten zijn. Nu willen we Locale wijzigen selecteren, naar beneden gaan in de lijst en op de spatiebalk drukken op de locale met de naam en_US. UTF-8 UTF-8 en deze op het volgende scherm als standaard instellen. We moeten ook de tijdzone wijzigen door terug te gaan naar de Lokalisatie-opties en Tijdzone wijzigen te selecteren en deze in te stellen op Amerika / Denver

Nu moeten we naar Boot Options, Desktop / CLIDesktop Autologin gaan zodat de pi automatisch kan inloggen tijdens het opstarten. Laten we naar de geavanceerde opties gaan en Bestandssysteem uitbreiden selecteren om de volledige SD-kaart te gebruiken. We willen misschien ook het gebruikerswachtwoord wijzigen door de eerste optie Gebruikerswachtwoord wijzigen te selecteren. Het wordt ten zeerste aanbevolen om het wachtwoord op te schrijven, vergeet het niet! Het standaardwachtwoord is framboos. Druk vervolgens op Voltooien om af te sluiten. De Raspberry Pi moet mogelijk opnieuw worden opgestart om de wijzigingen door te voeren. Open nu een terminal en voer de volgende opdracht uit en selecteer deze set opties wanneer daarom wordt gevraagd,

$ sudo dpkg-configuratie toetsenbord opnieuw configureren

Generieke 105-Key (Intl) PC

Anders ->dan-> Engels (VS)

De standaard voor de toetsenbordindeling

Geen opstelsleutel

Nee

Onze volgende stap is om Raspbian bij te werken en te upgraden naar de nieuwste versie. Om dit te doen, opent u eenvoudig een terminal en typt u, $ sudo apt-get -y update && sudo apt-get -y upgrade

Als de laatste opdracht niet correct wordt voltooid of een bericht geeft over een gebroken pakket, moeten we mogelijk opnieuw opstarten en de opdracht opnieuw uitvoeren. Wacht tot dat klaar is met draaien en voer dan de volgende opdrachten uit,

$ sudo apt-get -y update

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

Op de vraag "Moeten niet-superusers pakketten kunnen vastleggen?", klik dan op Ja.

Stap 4: Het LCD-scherm configureren

Het LCD-scherm configureren
Het LCD-scherm configureren
Het LCD-scherm configureren
Het LCD-scherm configureren

De volgende stappen zijn om het LCD-scherm te configureren om met de Raspberry Pi te werken. Schakel de Raspberry Pi uit, monteer het LCD-scherm en schakel het weer in zodat het overeenkomt met de bovenstaande afbeeldingen. Zorg ervoor dat de HDMI-poorten zijn uitgelijnd zoals weergegeven in de afbeelding en sluit de HDMI-connector aan.

Vervolgens moeten we de volgende opdrachten uitvoeren om het stuurprogramma voor het LCD-scherm te downloaden en te installeren.

$ git-kloon

$ cd Elecrow-LCD5

$ chmod +x Elecrow-LCD5

$ sudo./Elecrow-LCD5

en typ y om opnieuw op te starten. Nadat het apparaat opnieuw is opgestart, moeten we ook wijzigingen aanbrengen in de weergaveoriëntatie.

$ sudo vim /boot/config.txt

en kijk naar het einde van een bestand voor een regel als

display_rotate=0

en verander het in

display_rotate=3

Start de Raspberry Pi opnieuw op, wacht tot de Raspberry Pi weer opstart en open een terminal. En voer de volgende opdracht uit om een manier te installeren om het aanraakscherm te kalibreren.

$ sudo opnieuw opstarten

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

De X- en Y-as van het aanraakscherm moeten worden verwisseld, dus we voeren de volgende opdrachten uit om het aanpassen van het scherm te voltooien.

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

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

SLA DIT OVER ALS ER GEEN FOUTEN ZIJN MET DE VORIGE COMMANDO'S

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

Als er fouten zijn na het uitvoeren van de bovenstaande opdrachten, kunt u proberen deze wijzigingen aan te brengen in de stuurprogrammabestanden die door de Raspberry Pi worden gebruikt. Afhankelijk van welke Raspberry Pi je voor deze LLDPi gebruikt, kunnen er enkele kleine verschillen zijn met het instellen van de LCD-stuurprogramma's en/of andere instellingen. Bij het instellen van dit met een Raspberry Pi 3, was er een probleem met het LCD-scherm met behulp van het volgende configuratiebestand:

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

Wanneer het dit configuratiebestand voor een ander stuurprogramma had moeten gebruiken evdev

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

Voer de volgende opdrachten uit om dit op te lossen,

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

$ sudo opnieuw opstarten

Probeer vervolgens de opdrachten uit te voeren om de X- en Y-as opnieuw te verwisselen.

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

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

Als dit nog steeds niet werkt, moet u op zoek naar een andere manier om het touchscreen correct te configureren.

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

Als de opdrachten WEL werken en het touchscreen goed werkt, ga dan verder met het bewerken van het volgende bestand om deze 4 regels code te hebben. $ 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

uitgang 0

Vergeet niet om het script de juiste bestandsrechten te geven. $ sudo chmod 755 /home/pi/.config/lxsession/LXDE-pi/swapAxis.sh

De volgende opdracht zorgt ervoor dat de app start en de as correct wordt verwisseld telkens wanneer de Pi opstart.

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

Voeg de volgende 2 regels toe,

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

@lxterminal

Stap 5: Bouw het circuit

Bouw het circuit
Bouw het circuit
Bouw het circuit
Bouw het circuit
Bouw het circuit
Bouw het circuit

Zet de soldeerbout klaar, pak de kabelconnectoren en begin met het bouwen van het circuit waarmee de 18650-batterijen de LLDPi van stroom kunnen voorzien. Begin met de vrouwelijke voedingsaansluiting en soldeer enkele kabelconnectoren om deze aan het invoeruiteinde van de UBEC te bevestigen. Dan moeten we een mannelijke micro-USB-kabel kopen en deze aan het andere uiteinde van de UBEC bevestigen, zoals op de afbeelding. De UBEC moet de pin hebben ingesteld zoals deze wordt weergegeven in de close-up foto. Pak vervolgens de set 18650-batterijen, sluit ze parallel aan en soldeer een kabelconnector klaar om verbinding te maken met de batterijoplaadmodule. Schik wat je tot nu toe van het circuit hebt gemaakt in de behuizing samen met de batterijen.

Voordat u verder gaat, moet u ervoor zorgen dat alles tot nu toe werkt zoals verwacht. Als alles werkt, is het klaar om in elkaar te zetten!

Stap 6: Zet het allemaal bij elkaar

Voeg het allemaal samen
Voeg het allemaal samen
Voeg het allemaal samen
Voeg het allemaal samen
Voeg het allemaal samen
Voeg het allemaal samen

Schroef nu het batterijklepje op de behuizing. Op de batterij-oplaadmodule moet de UBEC zijn aangesloten via de micro-USB en de batterijen aan de andere kant via een paar kabelconnectoren. De andere USB-kabel op de batterijoplaadmodule leidt naar het uitschakelcircuit. Zorg dat de tuimelschakelaar voorbereid is met een kabelconnector die wordt gekoppeld aan het uitschakelcircuit. Het shutdown-circuit heeft ook 2 andere draden naar de Raspberry Pi voor het signaleren van een shutdown-sequentie, en levert ook stroom via de andere grotere USB naar de Raspberry Pi, zoals weergegeven in de laatste paar foto's. De grotere USB die op de foto wordt gebruikt, is nodig omdat deze 2,1 ampère levert, terwijl de andere slechts 1 ampère levert.

Als u problemen ondervindt om de componenten in de behuizing te laten passen, kunt u proberen het batterijklepje te verwijderen en de hardware daar te stapelen.

Volg deze link voor aanwijzingen over het instellen van software en hardware om de raspberry pi een sierlijke uitschakelknop te geven.

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

Nadat u alles hebt ingesteld voor het sierlijke uitschakelcircuit, moet u ervoor zorgen dat u de tuimelschakelaar in de gleuf aan de zijkant van de behuizing schuift voordat u de Raspberry Pi vastzet met schroeven, en vervolgens alles in de behuizing plaatst, klaar om het reeds werkende LCD-scherm toe te voegen en plaats het deksel op de behuizing met de schroeven.

Stap 7: De LLDPi-toepassing coderen

De LLDPi-toepassing coderen
De LLDPi-toepassing coderen
De LLDPi-toepassing coderen
De LLDPi-toepassing coderen

Nu we de hardware hebben geconfigureerd, kunnen we doorgaan met het uitwerken van de code die een GUI zal maken en alle informatie verzamelen die we nodig hebben. De bestanden met de code die nodig is voor deze toepassing bevinden zich onderaan de pagina. U moet ze downloaden en ervoor zorgen dat ze zich in de juiste respectievelijke mappaden bevinden, zoals hieronder weergegeven.

Zorg ervoor dat u de bestandsnamen met de extensie.txt wijzigt in een.sh-extensie

$ mkdir /home/pi/LLDPi

$ cd /home/pi/LLDPi

$ raak /home/pi/LLDPi/lldp.sh. aan

$ raak /home/pi/LLDPi/getSWITCHinfo.sh. aan

$ raak /home/pi/LLDPi/getVLANinfo.sh. aan

$ raak /home/pi/LLDPi/LLDPiGUI.py. aan

$ raak /home/pi/LLDPi/reset.sh. aan

***Mogelijk moet u dit uitvoeren om de bovenstaande scripts uitvoerbaar te maken

$ chmod 755 bestandsnaam

$ raak tshark.cap aan

$ sudo chown root:root tshark.cap

$ raak tcpdump.cap aan

$ aanraakschermLLDP.txt

$ raak voortgang aan

[Optioneel] Dit maakt een handig pictogram op het bureaubladscherm waarop de gebruiker kan dubbelklikken om de LLDPi-toepassing te starten. Bewerk het volgende bestand om het pictogram te maken en zorg ervoor dat het de volgende inhoud heeft.

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

[Bureaubladinvoer]

Naam=LLDPi

Opmerking = LLDPi-script UITVOEREN

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

Terminal=waar

Type=Toepassing

*Als u een afbeelding als pictogram wilt gebruiken, voeg dan een regel toe aan het LLDPi.desktop-bestand die het mappad naar de afbeelding weergeeft,

Icon=/absoluut/pad/naar/afbeelding/bestand

Geef de scripts een testrun door de uitvoer van./LLDPiGUI.py te controleren of door op het pictogram op het hoofdscherm te klikken

$ vim ~/.bashrc

Voeg een regel toe zoals die hieronder aan het einde van ~/.bashrc om de LLDPi-app tijdens het opstarten te starten. /home/pi/LLDPi/LLDPiGUI.py

En dat zou het moeten zijn, de RamPi zou compleet moeten zijn en klaar om uit te proberen.

Aanbevolen: