Komme i gang med den BeagleBone Black: En 1GHz ARM Linux maskin for $ 45

BeagleBone svart (BBB) ​​gir en 1 GHz ARM Cortex-A8 med 512 MB RAM og 2 GB eMMC flash som du kan kjøre en GNU /Linux-system rundt en 3,8 Linux Kernel. Kast ethernet, HDMI, og en last av IO pins inn i blandingen, og du har en liten maskin som ligger midt på grensen mellom embedded Linux og Arduino verden. The Black er det nyeste tilskuddet til Beagle serie ARM-baserte, én datamaskiner og er basert på BeagleBone før det. Pakken jeg fikk med BBB inneholdt styret og en USB-kabel. Du kan gi strøm til BBB over USB kabel fra en HUB så en dedikert strømklossen er ikke en nødvendighet.

Ser på rader med 46 pinner på hver side av BBB indikerer at styret er svært nyttig for mange hardware prosjekter. Avhengig av hvordan du konfigurerer BBB kan du ha opptil 65 generell, digitale IO pins, 8 PWMs, 4 timere, 7 1.8V analoge innganger, noen serie UARTs, to I2C, og to SPI sammen med tilgang til 3.3V og 5V. Noen av stiftene kan brukes til flere formål. For eksempel, pin 17 på en header fungerer som en digital IO pin, en I2C, og en SPI pin, så du må velge for hvilke formål du ønsker å bruke den. De to header blokker på BBB er referert til som den P8 og P9.

HDMI utgang på BBB er implementert ved å bringe en "kappe" på hovedkortet. Capes er hva Beagle samfunnet kaller kortene, som kan festes til pin overskrifter, i likhet med det som kalles Shields i Arduino verden. HDMI-utgangen på BBB bruker en samling av de generelle utdatastrømpunkt fra de to overskrifter på BBB. Spesielt den ønsker 3 SPI pins på header P9 og 30 pins på P8 spissen. Så hvis du har en HDMI-skjerm så du taper om lag 2/3 av pinnene på P9 spissen. Mer urovekkende, hvis du planlegger å sende ut til en 1 080-skjerm kan du bare få en 24Hz utgang ved at oppløsning (Side 68 av System Reference Manual). Skjønt at begrensningen har endret seg over programvarerevisjoner.

Komme i gang med BeagleBone Svart

Når jeg først startet BBB jeg fikk en grafisk display over sine HDMI, men jeg kunne ikke få noen mus eller tastaturet til å fungere på en hvilken som helst USB-port med enten en passiv eller hub. Det var da jeg bestemte meg for jeg trengte å oppdatere til den nyeste programvaren før du fortsetter. Det første trinnet i å oppdatere Linux-distribusjon på eMMC av BBB er å laste ned Angstrom Distribution eMMC flasher fra de nyeste bildene. Bruk unxz å pakke den ned bildet og dd til å skrive det til et microSD-kort. Mange av de retninger, inkludert de som kom på min BBB seg selv er veldig Windows-sentriske.

Når du har skrevet omtrent 4GB bildet til et microSD-kort, slå av BBB, sett kortet inn i BBB, og bruke strøm mens du holder "boot" knappen som ligger på motsatt side av BBB fra der microSD-kort plugger i. I løpet av blinkende, vil LED-indikatoren blinker og når du er ferdig alle lysdiodene vil forbli på. For meg tok det blinkende prosedyren rundt en time å fullføre.

Når du har oppdatert eMMC jeg fant ut at hvis jeg startet BBB med en nettverkskabel koblet til kabel, jeg har aldri fått HDMI-utgang. For å få en skjerm jeg måtte starte uten nettverkskabelen og deretter plugge inn nettverkskabelen for å få tilgang til nettverket.

Strøm klok, BBB trakk 2.7 Watts sitter uvirksom på en 720p skrivebordet med en passiv hub, tastatur og mus tilkoblet, men uten en nettverkstilkobling. Plugge inn en ethernet-kabel styrket trekningen til 3,2 W. Kjøre CPU på 100 prosent flyttet til 3,9 W totalt. Koble fra navet (og dermed tastatur og mus) falt strømforbruket med 0,8 W.

Hvordan bruke GPIO Pins

Tilgang til de ulike pinnene i overskriftene på venstre og høyre side av BBB er gjort gjennom Linux-kjernen bruker sin GPIO grensesnitt. For å demonstrere hvordan man skal gi dette en spin jeg festet en LED fra pin 42 (GPIO_7) til bakken pin 44 ved siden av den. Det er den røde LED vist på bildet ovenfor. BBB startet opp uten LED lyser

For å få LED til å skinne du har til å kartlegge GPIO_7 pinnen inn i filsystemet. Dette gjøres med å gjenta GPIO pinnen inn i eksportfilen. Som du kan se nedenfor, jeg opprettet den nye gpio7 kobling ved hjelp av eksportfilen for å kontrollere at pin. Verdien er i utgangspunktet null, men når jeg ekko høyt opp i retning LED lyser opp

 root @ bbb: /sys /class /GPIO # echo 7 > /sys /class /GPIO /exportroot @ bbb: /sys /class /GPIO $ ls -lhtotal 0 - w ------- 1 root root 4.0K 1 juni 10:54 exportlrwxrwxrwx 1 root root 0 1 juni 10 : 54 gpio7 - > ../../devices/virtual/gpio/gpio7lrwxrwxrwx 1 root root 0 1 januar 2000 gpiochip0 - > ../../devices/virtual/gpio/gpiochip0lrwxrwxrwx 1 root root 0 1 januar 2000 gpiochip32 - > ../../devices/virtual/gpio/gpiochip32lrwxrwxrwx 1 root root 0 1 januar 2000 gpiochip64 - > ../../devices/virtual/gpio/gpiochip64lrwxrwxrwx 1 root root 0 1 januar 2000 gpiochip96 - > ../../devices/virtual/gpio/gpiochip96--w------- 1 root root 4.0K 1 januar 2000 unexportroot @ bbb: /sys /class /GPIO # cd gpio7root @ bbb: /sys /klasse /GPIO /gpio7 # cat verdi 0root @ bbb: /sys /class /GPIO /gpio7 # echo lav > retning root @ bbb: /sys /class /GPIO /gpio7 # echo høy > retning 

For å bruke GPIO pins som ikke er koblet til den første GPIO kontrolleren chip (som kontrollerer 32 pins), bør du se i Expansion Header Pinout bord i System Reference Manual å beregne riktig antall til ekko inn i eksporten fil . For eksempel GPIO_51 på pin 16 av P9 header er gpio1 [19]. Dette gjør den til den 19. pinnen på andre GPIO kontrolleren slik at du ville ekko 32 + 19 = 51 i eksporten fil for å få tilgang GPIO_51.

Ett problem jeg opplevde med hardware design er at det store USB-porten på BBB er svært nær den microHDMI port som er festet til den andre siden av brettet. Den vanlige kombinasjonen av å plugge i kablene til begge portene igjen kabel sleaves presser hverandre litt.

I min neste artikkel på BBB Jeg skal vise benchmarks for sin CPU, sammen med ytelsestall for eMMC blits som kommer på bordet.