Raspberry Pi

From OmegaV-wiki
Jump to: navigation, search

Raspberry Pi (Pi, RPi) er en liten datamaskin med diverse inn- og utganger. Den kan blant annet kobles opp til TV'en for å se på filmer eller høre på musikk. Slikt er vi lite interessert i på Omega Verksted. Vi fokuserer mer på den lille headeren med mange pinner på, nemlig GPIO-headeren. GPIO står for General Purpose Input Output og kan, som navnet tilsier, kobles opp til hva du vil. Det er dog viktig å snakke med Pi'en på en slik måte som den er ment for, hvis ikke blir Pi'en lei seg og vil ikke snakke med deg mer, ever. Oversatt til norsk blir dette 6mA maks inn eller ut av en pinne, 3.3V maks. Hvis du husker på dette, kan du ha mye moro med din Raspberry Pi før du oppdager at du plutselig er 40 år gammel.


Contents

Embedded Linux

Embedded Linux er Linux med litt mindre attåt enn vanlig. Det betyr at du helst ikke vil ha tonnevis av bloatware, og at de verktøyene du har er optimalisert for platformen du kjører på. Pr. dags dato er Rev2 den nyeste Pi'en, og den kjører på ARM11v6-kjerne. Den kanskje vanligste embedded Linux på Omega Verksted er Raspbian. Det er stor community support for Raspbian og det kjører fortere enn en 2CV!

Oppsett

Trådløst nett på Raspberry Pi


GPIO programming

Hovedartikkel: GPIO programming på RPi

Det aller viktigste å huske på når du skal drive med GPIO på en Raspberry Pi, er å huske på de fysiske begrensningene. De er som følger:

  • 6ma strøm ut/inn av en GPIO-pinne,
  • 3.3V spenning på en GPIO-pinne.

Så lenge du husker dette, er det ingen som kan erte deg senere for feilene du gjør.

Det er flere måter å leke med GPIO på; du kan laste ned bibliotek til C/C++ og Python (+ flere etter hvert), eller du kan styre pinnene direkte fra kommandolinjen i såkalt "sys mode". Når du vil endre innstillingene til en GPIO-pinne, må du være root, altså superuser, den som har tilgang til alt. Dette fordi man liksom har tilgang til kronjuvelene, når man har tilgang til GPIO på en Pi. Et fint bibliotek til både C/C++ og Python, i skrivende stund, er wiringPi. Det har støtte for mye rart, blant annet GPIO, I2C, SPI, USART/UART og litt til. Det er svært enkelt for nybegynnere å bruke, og kraftig nok til videregående brukere. Anbefales! Det krever at du har kjennskap til enten C/C++ eller Python, men det får de fleste førsteklassinger på NTNU mer enn nok kjennskap til ifølge dem selv.


Praktiske anvendelser

Har du lært deg alt om GPIO og embedded Linux programming etc., men mangler et prosjekt å bruke kunnskapene dine på? Fortvil ikke! På Omega Verksted er det opptil flere som bruker RPi i finurlige prosjekter, som fjernstyrt tanks, trolleboks (må demonstreres) og annet. Sjansene er store for at du allerede har sett flesteparten, men på YouTube finnes en myriade av videoer fra folk som har brukt Pi'en sin til mye rart.


iP yrrebpsaR

  • «Jeg kortsluttet Vdd og Ground, kan jeg få en ny Pi?»
  • «Jeg kjørte 5V inn på GPIO[insert random number here], kan jeg få en ny Pi?»
  • «Jeg aner ikke hva som er galt, jeg bare koblet til x og så poff! Kan jeg få en ny Pi?»
  • «Jeg holdt i den lille tønna (kondensatoren) da jeg skulle plugge inn/ut mini-USBen og tønna løsnet. Kan jeg få en ny Pi?»

Svaret på alle disse spørsmålene er NEI.

Personal tools