Raspberry Pi OLED Internet bandbredd Display (3 / 3 steg)

Steg 3: Skriva ett Python-skript för att Visa bandbredd displayen



Du behöver ett program som heter git för att ladda ner Python skript för att köra den här.

Om du inte har git installerad kan du installera det på Pi med "sudo lämplig-få installera git"

Gå till en katalog där du vill installera den här skriften. Jag använde /home/osmc/python/bandwidth / - du kan placera den var du vill.

Skriv i "git clone https://github.com/DarrenBeck/rpi-oled-bandwidth" att klona projektet i din katalog.

Du bör ha en fil i din katalog som heter "net.py". Detta är Python skript som, om allt går väl, visar nätverkets bandbredd på displayen. Du kommer förmodligen behöva ändra åtminstone router IP-adressen, maximal överföringshastighet och eventuellt oid är används för att extrahera bandbredd data från routern.

Om du vill redigera filen använda "nano net.py". Använd Ctrl-x för att lämna editorn.

Om du vill köra filen använda "sudo python net.py". Programmet kommer att Visa bandbredden på kommandoraden och om det fungerar alla visar också den grafiska bandbredden på OLED skärmen.

Att förklara lite om hur programmet fungerar... Denna fil ändras från Adafruit exempel OLED kod. De flesta av den första sidan är bara initiering för skärmen och bild bufferten.

Nästa är ett antal funktioner som getSnmpInt och dragstång som hjälpare för programmet. Observera att getSnmpInt konverterar text som SNMP-svar till ett heltal som vi kan använda. Den gör genom att använda data.split() som standard kommer att dela upp texten på varje blanksteg i en lista. data.pop() kommer tillbaka den sista punkten i listan som skapades av split och detta är äntligen tillbaka som en int typ.

Nästa är några definierar (det finns inget sådant som en definiera i Python så vi bara använda variabler).

Nästa blir det totala antalet byte som skickats via varje gränssnitt. Det gör detta från början så att när det blir nya totalt det kan räkna ut hur många byte som har skickats eller tagits emot sedan den senaste gången dessa lästes. Det blir också tiden så att den kan räkna ut hur mycket tid har gått mellan varje Läs och konvertera summorna i datahastigheter som kbit /.

maxRateIn och maxRateOut är definierar som är specifika för vår nätverksanslutning och som förmodligen kommer att behöva justeras för nätverksanslutningen. Jag gjorde detta genom att köra programmet från kommandoraden och se vad är de högsta priserna för in och ut trafik att LAN port kommer någonsin få. Detta är viktigt eftersom de sätter det högsta värde som stolpdiagram kan stiga till. Om detta inte är rätt din stolpdiagram antingen är för kort eller förlänga utanför skärmen. Jag plockade siffror något högre än det högsta jag någonsin sett.

Adafruit koden för att rita en rektangel hade mig illa ett tag. Jag brukade en rektangel Rita funktion som draw.rectangle (x, y, bredd, höjd) men här använder en draw.rectangle (x, y, sinande x, slutar y).

Slutligen finns det en oändlig medan slinga som kommer att beräkna datahastigheterna och visa dem på skärmen varje gång. Det finns en fördröjning på en halv sekund i varje slinga men det tar också lite för programmet för att skicka den nya skärmbuffert över i2c bussen varje gång så programmet slutar uppdatera om en gång per sekund. Det spelar egentligen ingen roll hur lång tid det tar eftersom vi också timing slingan.

Jag hade helst velat använda cron att starta detta program när Pi startar men hittills använda osmc det inte fungerar. Men jag har en annan lösning som fungerar nästan lika bra och Tricket är att använda ett program som heter skärmen.

Jag använda skärmen hela tiden när ssh'ing till enheter. Det är värt den lilla mängden tid det tar för att lära sig att använda den. Du kan installera det med "sudo lämplig-få installera skärmen". I princip kan du köra ett antal terminalen skärmar från ett fönster. Huvudsakligen är kan du köra en terminal session på PI och sedan koppla från den och det kommer att hålla igång på Pi när du har avslutat din terminal anslutning.

De grundläggande instruktionerna för skärmen är: "screen" för att starta skärmen. "ctl-en c" att skapa en ny skärm. "ctl-en utrymme" växla mellan skärmar. 'ctl-en d' bort från alla dina skärmar och screen - r att återuppta skärmar du har tidigare fristående från.

Skärmen kan också användas för att kommunicera via en seriell eller USB-ström, men det skulle vara en helt annan instructable.

Så att köra detta skript och hålla den igång stegen är;

skärmen

(navigera till mappen där skript) sudo python net.py

CTL-en d (lossna - skriptet kommer att hålla igång)

Det borde vara allt du behöver för att få en användbar liten bandbredd monitorn igång. Jag hoppas detta fungerar för dig och ser fram emot alla kommentarer :)

Detta instructable kan också anpassas till bandbredd data visas på andra sätt. Två rader med lysdioder eller en annan skärmtyp kan vara ett alternativ om det krävs en större skärm.

Se Steg
Relaterade Ämnen

Bärbar Raspberry Pi geigermätare med Display

Mäktiga Ohm geigermätare är en fristående gör det själv kit. När MightyOhm upptäcker en partikel Piper det. Detta är ett integrationsprojekt. Flera delprojekt är behöver för att slutföra detta projekt. Slutresultatet är en mäktig Ohm geigermätare kop...

Raspberry Pi - visuella pekplatta / sekund Display

Detta instructable visar hur du lägger till en liten (vanligtvis SPI baserat) pekskärm till nästan alla pi projekt och spegel HDMI ut till det som en sekundär uppvisning. Vi visar också hur acceptera touch input på detta andra displayen från touch sk...

Raspberry Pi dedikerad Internet Radio och musikspelare

har du någonsin velat något att fylla dagen med härlig ljud men ville ägna en PC till detta ändamål? Raspberry Pi ger exakt vad vi behöver, och med några delar liggandes, kan du styra det med några knappar och en knopp.Allt bör fungera bra utan extra...

ESP8266 12naE med GPS & OLED display

I detta Instructable ska jag beskriva hur till hookup en Ublox 6m GPS-modul och en OLED Visa till NodeMCU eller ESP8266-12naE wifi modul att visa din nuvarande GPS-position och annan info.Kolla in min Youtube Video som beskriver detta. YouTube-VideoS...

Raspberry Pi + Node.js + Blynk App + DHT11/DHT22/AM2302

Denna gång kommer vi att visa vissa sensor värden (DHT11 i exemplet) på Smartphone med Blynk App.Du behöver:Raspberry Pi med internet-anslutningTemperatur och luftfuktighet: DHT11 eller DHT22 eller AM2302Hoppare ledningarKolla in min guide om att få...

Raspberry Pi skärmdumpar

Lär dig att fånga och Visa skärmdumpar på din Raspberry Pi för projektdokumentation. Använda Scrot och ShotWell för att göra detta enbart via kommandoraden. Scrot är en befalla lina skärm erövrare ansökan som är lätt att ladda ner och använda Shotwel...

Ansluta Raspberry Pi att nätverka med UART

I denna tutorial kommer jag visa dig hur du ansluter din Raspberry Pi till Internet bara genom att använda dess seriell linje som är tillgänglig på GPIO. Detta kan vara mycket bra om det finns någon annan möjlighet av anslutning tillgänglig som ether...

Styra Android från Raspberry Pi

Har du någonsin velat styra din android smartphone eller tablett direkt från din Raspberry Pi? Nej? Inte jag heller. Jag tänkte bara det skulle vara intressant att se om du faktiskt kunde. Du kan använda funktionen för att visa skärmen android under...

Convierte tu Raspberry Pi sv FN mediacenter.

Recientemente han comprado una Raspberry Pi, Sistema lo B de 512 Mb. Pensaba que seria una buena forma de tener un micro ordenador sv la palma de la mano, pero despues de trastear y de instalar el sistema operativo Rapibian que hay disponible, he vis...

Raspberry Pi + WebCam + IR fjärrkontroll hemma Controller

WebCam + IR-fjärrkontrollen hemFlyttalsrenderingsmål:1. HomeWebCam2. IR-fjärrkontroll3. raspberry PiHur man gör?Se ovan bilderHur fungerar det?Använd din hem WemCam programvara för att kontrollera och Visa.När Laser pekaren pekar på enheten, fjärrkon...

Hur du ansluter en Raspberry Pi till ett trådlöst nätverk

Så du vill ansluta en Raspberry Pi till internet, men din dator saknar en Ethernet-anslutning, eller du saknar en ethernet-kabel. Vad göra?Vad du behöver:Raspberry PimicroSD-kortHDMI-kabelUSB-nätadapter (som kan ge minst 600mA på 5V), inkluderar en m...

Ge din Raspberry Pi Robot en mask hjärna

Masken C Elegans är ett av de mest studerade djur i vetenskapen. I neurobiologi är det den mest grundläggande hjärnan modellen forskare använder för att studera hur hjärnan fungerar. Nu kan du ha en robot som tänker som en!C Elegans mask hjärnan har...

Raspberry PI-komma igång för nybörjare

Gjorde du har nyligen hört talas om Raspberry PI och vill veta vad är det så här är min instructable för dem som är nya till Raspberry pi.Så låt oss komma igång... Liten recension...Raspberry Pi är en låg kostnad, kreditkort storlek dator som ansluts...

Använda en Kindle Fire som en skärm för din Raspberry pi

I denna svårlösta jag kommer att visa dig hur man använder en kindle fire som skärm för en raspberry pi. Jag hade en gammal kindle fire som jag fick ett par år tillbaka som jag inte använder längre och jag tänkte, varför inte använda den som en monit...

Setup vävt och Raspberry Pi

Om du någonsin försökt att installera din Raspberry Pi som sakernas enhet, vet du att om du hoppar genom några massiva tunnband, du fastnar som serverar webbsidor och data på ditt lokala nätverk. Att få information från din Pi på telefonen, eller med...

Raspberry Pi läge Tracker

I detta Instructable kommer jag gå igenom stegen för att bygga en DIY plats tracker system körs inuti en Raspberry Pi utan GPS. RPi kan anslutas till alla fordon i rörelse, att göra ett billigt alternativ för att spåra ditt fordon eller rörliga objek...

Raspberry Pi internetradio med kolven

Syftet med denna handledning är att visa dig hur du kan bygga en radio som kan strömma ljud från internet på ett enkelt webbgränssnitt för att driva företaget. Vi kommer att behöva följande:Raspberry PiVissa talare du kan ansluta till din Raspberry P...

Den Tweeting Intercom: (Dörren Strike) relä övervakning med Raspberry Pi

Detta instructable handlar om uppföljning av reläer med en Raspberry Pi. I det särskilda fallet får vi en titt på en sofistikerad Telegärtner DoorLine Pro intercom som innehar två potentialfria reläer. Normalt de används för att utlösa en elektriska...

Trådlös jul Light Timer med Raspberry Pi och Python

Uppdatera 1/14/2014: Tack till alla som röstade för det här projektet i hårdvara Hacking Contest! Ser fram emot min nya maker penna.Uppdatering 12/31/2013: Letar du efter en mer avancerad version av detta projekt? Kolla in min nya flerkanaligt röstst...