Raspberry Pi – pierwsze kroki

Raspberry Pi – pierwsze kroki

Trochę się zbierałem do napisania tego wpisu. Dzięki uprzejmości Łukasza na moim biurku leży sobie Raspberry Pi, które chciałbym wam opisać. Co to w ogóle jest? Otóż jest to taki malutki komputerek wielkością nie przekraczający rozmiarów nowych smartfonów.

Raspberry Pi jest wyposażone w procesor ARM1176JZF-S o częstotliwości pracy 700MHz. Zastosowanie takiego procesora przez twórców malinki uniemożliwia instalacje takich samych systemów operacyjnych jak na standardowym pececie. Jednak tym nie należy się zamartwiać, w dalszej części wpisu znajdziecie listę systemów operacyjnych dedykowanych na takie urządzenia jak Raspberry Pi.

Kolejną różnicą pomiędzy komputerem klasy PC a Raspberry Pi jest fakt, że nasz mini komputer swoje dane magazynuje na karcie SD. Ale koniec tego marudzenia, malinka ma też dużo plusów :) Jednym z nich jest to, że można ją zasilić ładowarką z większości smartfonów – Raspberry Pi ma port MicroUSB.

Producent wypuścił dwie wersje Raspberry Pi – wersja A i wersja B. Obie wersje posiadają ten sam GPU – Broadcom VideoCore IV umożliwiający oglądanie filmów w rozdzielczości 1080p. Wersja B od wersji A zasadniczo różni się ilością portów USB – wersja A ma 1, a wersja B ma ich 2. Wersja B została wyposażona również w kartę sieciową 10/100 Ethernet z wejściem na standardową wtyczkę RJ45. Ostatnią już chyba zasadniczą różnią jest to, że model B ma 512MB ramu natomiast model A 256MB. Pamięć ram jest współdzielona z GPU. Raspberry Pi posiada wyjście HDMI oraz RCA oraz standardowe wyjście audio – minijack. Producent maliny wyposażył ją w interfejs GPIO dzięki czemu malina jest trochę podobna do Arduino :)

Malinkę można nabyć w sklepie botland: http://botland.com.pl/moduly-glowne-raspberry-pi/972-raspberry-pi-model-b-512mb-ram.html

Polecam kupić też obudowę, żeby chronić płytkę przed uszkodzeniami mechanicznymi: http://botland.com.pl/294-obudowy-raspberry-pi

Lista systemów operacyjnych

Popularne dystrybucje linuxa:

  1. Arch Linux
  2. Raspbian ( Debian)
  3. Fedora

Systemy bazujące na XBMC:

  1. Raspbmc
  2. OpenELEC
  3. XBian

Zapewne jest więcej dystrybucji dedykowanych malince, jednak ja skupiłem się na tych najpopularniejszych. W tym wpisie zajmiemy się dystrybucją Arch Linux. Wybrałem ją, ponieważ Arch zawiera najpotrzebniejsze pakiety, nie ma tam wiele “śmieci” oraz posiada obszerne wiki. Do instalacji systemu na malinie potrzebne nam jest:

  • Klawiatura podłączona pod USB
  • Jakiś monitor/telewizor podłączony przez port HDMI
  • Kabel typu Ethernet do zaktualizowania systemu i instalacji przydatnych rzeczy (nie jest to warunek konieczny).
  • Czytnik kart microSD lub SD (z adapterem).

Instalacja systemu oraz konfiguracja

Wchodzimy na tą stronę i pobieramy obraz systemu (zakładka Installation). Gdy już mamy obraz, wypakowujemy go i następnie: jeśli czytnik kart pamięci masz na komputerze/laptopie z systemem Windows to: Win32DiskImager rozpakowujemy i uruchamiamy. disk imager

Klikamy w niebieską ikonkę folderu, wybieramy nasz obraz Arch Linux, wybieramy literkę odpowiadającą naszej karcie pamięci i klikamy Write. Po dłuższej chwili system powinien być zainstalowany na karcie pamięci a na ekranie wyskoczy komunikat o poprawnym zakończeniu.

Jeżeli czytnik kart pamięci znajduje się na urządzeniu z systemem z rodziny Unixów to dalsza część zdania w 97% jest zbędna ;) Ale dla tych 3%:

gdzie

to ścieżka do obrazu systemu, a

to ścieżka do naszej karty pamięci. Gdy już mamy system na karcie pamięci, umieszczamy kartę w malince, podłączamy monitor, kabel Ethernet i zasilanie. System powinien się uruchomić i spytać o login i hasło.

Domyślny login i hasło to login: root hasło: root

 Ja instalowałem system na Raspberry Pi używając monitora z mojego PC’ta. Malina domyślnie adres IP pobiera przez dhcp więc przypisałem jej stały adres w opcjach routera, żeby łączyć się z nią po ssh (które jest domyślnie zainstalowane i uruchomione przy starcie systemu) bo denerwowało mnie ciągłe przepinanie kabla z komputera na malinkę. Aby zarezerwować adres IP w routerze potrzebujemy adres MAC urządzenia – możemy skorzystać z informacji na routerze bądź wpisać polecenie:

U mnie na routerze to wygląda tak:

router

Alternatywny sposób na stały adres IP na urządzeniu to ustawienie go statycznie w systemie. Więcej informacji znajdziecie tutaj.

Aby zaktualizować system z poziomu roota wpisujemy:

Po aktualizacji uruchamiamy ponownie malinkę i cieszymy się w pełni zaktualizowanym systemem. Zainstalujemy jeszcze kilka przydatnych rzeczy takich jak gcc, htop i Midnight Commander

Gdy wszystkie pakiety zainstalowały się poprawnie to instalujemy wiringPi

Żeby sprawdzić czy wszystko ładnie działa możemy wydać polecenie:

Co nam daje wiringPi? A no to, że możemy sobie programować w języku C podobnie jak w Arduino. Jeżeli ktoś woli inny język to zapraszam pod ten adres. Podane są tam odpowiednie biblioteki, które musimy zainstalować, żeby korzystać z GPIO w językach takich jak: C#, Ruby, Perl, Python, Java, Bash, Delphi. Ja jednak skupię się na C.

Pierwszy projekt

To wypadałoby teraz zmontować jakiś najprostszy układzik :D Co nam będzie potrzebne?

  • 1 dioda led
  • rezystor 220Ω
  • płytka stykowa
  • kabelki do płytki stykowej

Diodę i rezystor umieszczamy tak jak na poniższym obrazku:

malina_led

Teraz czas na trochę kodu :)

Otwieramy edytor nano poleceniem:

i wklejamy kod tradycyjną metodą copiego&paste’a

Zamykamy edytor nano i zapisujemy plik. Następnie kompilujemy nasz program komendą:

I następnie:

I nasza dioda powinna migać ;)

Diodą po zainstalowaniu wiringPi możemy również sterować bez potrzeby kompilowania kodu, wystarczy w terminalu wydać polecenie:

a dioda się włączy i wyłączy.

Może Raspberry Pi jest mniej popularne w świecie elektroniki ale ma potencjał. O Arduino idzie znaleźć w sieci naprawdę sporo, natomiast o Raspberry Pi znajdziemy dużo mniej. Nie jest to płytka stricte do wykorzystania tylko w celach elektronicznych, należy malinkę traktować jako mały komputer, który pozwala dzięki GPIO wyprowadzić na wyświetlacz jakieś informacje np powiadomienie o nowej poczcie z mrugającą diodą led ;) W sklepie botland można nabyć różne rozszerzenia do Raspberry Pi, które znacznie poszerzają możliwości ze strony elektroniki. W połączeniu z Arduino w swoim mieszkaniu można zrobić naprawdę cuda :) Polecam zajrzeć pod te adresy:

http://elinux.org/RPi_Projects -> Zbiór przydatnych tutoriali, troszkę gotowych projektów.

https://www.facebook.com/groups/malinowepi/ -> Grupa userów Malinki na Facebooku

Resztę sobie wyguglacie :)

Ocena: 4.48/5 (głosów: 58)

Podobne posty

47 komentarzy do “Raspberry Pi – pierwsze kroki

  • Spotkałem się z opiniami w sieci, że wymagany jest specjalny zasilacz, szczególnie, jeśli zamierzamy korzystać z rpi bardziej intensywnie, w przeciwnym razie może się wieszać. Masz może jakieś dane na ten temat?

    Odpowiedz
  • Mam malinkę od grudnia. Najwięcej problemów sprawiają mi karty, już 3 poszły do kosza. Teraz zainstalowałem bardziej markową kartę SanDisk i ograniczyłem zapis na dysk (większość trzymana jest w pamięci RAM).

    Co do zasilania albo z USB albo dobrego zasilacza jak pisze Łukasz. Z byle jakiego zasilania / ładowarki nie pójdzie.

    Fajnie sprawdza się jako prosty serwer Apache > sterowanie światłem, domofonem i odczyt temperatury przez www sprawdza się idealnie :)
    Do tego ustawiłem sobie zapis do bazy wszelkich prób wejścia na mój adres IP.

    Teraz przymierzam się do przetestowania kamerki 5MP, która właśnie otrzymałem.

    Odpowiedz
    • Jeśli chodzi o karty, to domyślnie nośniki flash słabo nadają się jako nośniki pod system. Nawet w przypadku dysków SSD zalecane są pewne modyfikacje (na przykład /tmp jako tmpfs), które zmniejszają ilość zapisów. Od dłuższego czasu korzystam z małych komputerów z Linuksem służących za router i nie tylko i korzystam z pendrive’ów jako podstawowego systemu. IIRC żaden jeszcze nie padł. Niezupełnie to samo, bo mam też podpięty po USB zwykły dysk, który częściowo wykorzystuję, ale bardzo wiele aspektów jest wspólnych, więc polecam http://rozie.blox.pl/2010/01/Root-tylko-do-odczytu-flash.html ten wpis i okolice. Nie wszystko w podlinkowanych wpisach dotyczy najnowszych wersji Debiana, ale myślę, że będzie przydatne – zmieniają się tylko drobiazgi. Z większych zmian: teoretycznie nie warto używać ext2, lepiej ext4 bez journala: http://rozie.blox.pl/2012/12/Pamieci-flash-czyli-pendrive-microSD-itd.html Nie udało mi się potwierdzić tego empirycznie, więc migrować nie będę, ale na nowych instalacjach na pewno dawałbym ext4 bez journala.

      Odpowiedz
  • Mam w swojej “serwerowni” (taka skrzynka w przedpokoju) rpi na zasilaczu Media-Tech MT6266 dual AC/DC +5V 2x1A USB. To jest dwu-portowy zasilacz, do drugiego gniazda mam podłączony wentylator 12V z PC-ta, cicho i wystarczająco. Mam też twardy dysk SATA 1GB w stacji dokującej Techtop Y-1040CN więc jest i wejście na karty pamięci i dodatkowe porty USB – na osobnym zasilaczu 12V. Na dysku mam postawiony system radpbian więc nie muszę co jakiś czas wymieniać karty sd :-). Do rpi podłączyłem 3 czujniki temperatury, co 10 minut odczyt z wstawieniem do bazy postgresql. Oprócz tego serwer dlna (minidlna), samba, torrent, openvpn, zbieranie statystyk I/O, do tego backup (rsync) dziennie/tygodniowo/miesięcznie.
    Wszystko działa bardzo stabilnie, nic się nie wiesza, działa bez przerwy od paru miesięcy.
    Dla mnie to najlepszy serwerek którym na prawdę można się pobawić.

    Odpowiedz
  • no dobra nie działa, programowo jest chyba ok, zassalem, zainstalowalem. Ale ta dioda nie miga.

    co może być nie tak?
    podlaczenia sprawdzilem (kurcze gdzies jest schemat tej plytki montarzowej? nie moge znaleźć jak to popodlanczane, na oko paski na gorze pionowo w srodku i nawet podlaczylem bez plytki.

    ale teraz jak sprawdzic co jest nie tak?
    GDZIE JEST DEBUGER DO ELEKTRONIKI!!!!

    Odpowiedz
    • Poza tym myślę, że to forma spamu i reklamy serwisu.

      Osobiście zamawiałem tam kilka rzeczy i czekałem ponad tydzień na realizację mimo, że dostałem maila kilka dni po zamówieniu, że wszystko zostało wysłane (w sumie dostałem tonę spamu o zmianach stanu realizacji, która na koniec i tak okazała się nie mieć odzwierciedlenia w rzeczywistości). W paczce, która przyszła również nie było jednej rzeczy, którą zamawiałem, czekam również na odpowiedź na zgłoszony spór na Allegro…

      Odpowiedz
    • Który konkretnie? Bo podałeś link do kategorii. Jeśli któryś z ekranem to poważnie zastanów się czy naprawdę chcesz się w to bawić, bo wydasz sporo kasy na sprzęt, który może nie spełniać Twoich oczekiwań – za 400zł znajdziesz tablet z BT, moduł BT z interfejsem szeregowym kosztuje kilka dolarów (a na Allegro kupisz za około 40zł z wysyłką), do tego ATMega, trochę elementów pasywnych, regulator napięcia, koszyk na baterię, kilka akumulatorków i masz zdalne porty GPIO z bardziej przydatnym na co dzień tabletem. Sporo osób i tak dołącza do maliny dodatkowy, prosty mikrokontroler w celu rozszerzenia ilości GPIO, bo ta w starym modelu A/B jest dosyć mała (na kilka diod starczy, ale o podłączenie LCD z ekranem dotykowym podpinanym 16bitową magistralą równoległą jest niewykonalne) i ograniczona (sprzętowe PWM jest tylko na jednym pinie).

      Poza tym skoro pytasz to pewnie nawet nie wiesz do czego chcesz użyć takiego zestawu. Jak dla mnie jest to wystarczający powód aby nie kupować RPi z ekranem, właściwe aby nie kupować jakiegokolwiek mikrokomputera.

      Jeśli chcesz zacząć zabawę ze świeceniem diodami zacznij od Arduino i jego klonów. Arduino wyjdzie taniej i jest przynajmniej w minimalnym stopniu zabezpieczone elektrycznie przed błędami użytkownika (a to w dalszym rozrachunku wychodzi duuużo taniej ;)). Możesz też zainwestować w najprostszy programator USBAsp i kilka sztuk ATMeg i płytkę stykową ale to wymaga już więcej zaangażowania.

      Poza tym nie tylko RPi istnieje na tym świecie. Kilka osób chwaliło sobie Banana Pi, które jest wyposażony w mocniejszy SoC.
      Jest też Cubieboard czy Odroid z bardzo wydajnymi mikrokomputerami.
      Odroid ma też odpowiedni RPi – Odroid-W używa dokładnie tego samego SoC a
      jest mniejszy i doposażony w kilka dodatkowych rzeczy.

      Odpowiedz
      • Piszesz o rozszerzeniu ilości gpio. Interesuje mnie to bardzo. Mam raspberry i trochę sprzętu już podłączyłem, doszedł projekt, który wymaga sterowania kilkunastoma przekaźnikami. Na razie projekt jest w głowie i potrzeba zwiększyć ilość gpio, żeby móc podłączyć tyle przekaźników.
        Proszę, daj namiar na takie rozszerzenie. I jakąś instrukcję jak to wszystko podłączyć. I przy okazji poleć jakieś przekaźniki. Takie 10A.
        Od razu mówię, że nie jestem elektronikiem i nie chcę zestawów do samodzielnego lutowania. Jestem raczej programistą i wolę podpiąć wg instrukcji i zająć się softwareową obsługą.

        Odpowiedz
        • Polecam MCP23017 (expander I2C na dwa banki po 8 GPIO) + 2 x ULN2803 (8-kanałowy driver przekaźników, silników itp.).
          Z malinki wychodzisz przez pin 3 (GPIO0 – SDA) i 5 (GPIO1 – SCL), potrzebne będzie również zasilanie 3V3 (pin 1) i masa (pin 6). ULN2803 podpinasz wejściami do wyjść MCP23017, a wyjściami do przekaźników. Nie są potrzebne dodatkowe diody zwierające SEM indukującą się w przekaźnikach – ULN2803 ma je wbudowane. Od strony programowej możesz wykorzystać bibliotekę wiringPi / nowszą wiringPi2 (jęz. C), z ew. implementacją pythonową – wiringPi-Python (lub wiringPi2-Python). Ściągniesz z http://projects.drogon.net

          Odpowiedz
            • Na filmik nie masz wyłącznie przekaźników i MCP23017. To są gotowe do użycia układy przekaźników wyposażone w dodatkowe tranzystory lub układy scalone będące w stanie zasilić cewkę w przekaźniku. MCP23017 w tym przypadku jest użyte jako rozszerzenie portów w malinie, żeby właśnie z kilku GPIO zrobić kilkadziesiąt i te dodatkowe porty dają tylko sygnał do kart przekaźnikowych. Samo MCP23017 nie będzie w stanie zasilić cewki przekaźnika – maksymalnie może dać 25mA na pin i 125mA w sumie co jest dobre do poświecenia diodami małej mocy, dla wszystkich przekaźników >=220AC jakie przejrzałem te wartości są znacząco za małe. I tutaj właśnie przychodzi z pomocą układ ULN2803, który umożliwia sterowanie przepływem prądu do 500mA “na kanał”.

              Janek, też jestem programistą ale nauki podstaw elektroniki nie uniknąłem. Jeśli chcesz robić fajne rzeczy warto jak najszybciej przysiąść i przyswoić podstawy, a tego aż tak dużo nie ma. Najważniejsze to prawa Ohma, Kirchhoffa znajomość podstawowych pojęć (rezystacja, pojemność, indukcja, prąd, napięcie, energia, moc, dioda, rezystor, tranzystor, cewka, kondensator, zwarcie) i umiejętność przeglądania not katalogowych w poszukiwaniu podstawowych parametrów pracy.

              Też się cały czas uczę, z oporami, błędami ale jednak.

              Powodzenia. :)

              Odpowiedz
              • Mnie właśnie chodzi i takie moduły przekaźników. Źle się wyraziłem. Podstawy (bardzo podstawowe) elektroniki znam, ale bardziej mnie interesuje programowanie. Wolę podpiąć gotowy moduł i jeżeli nie działa tak jak bym chciał rozwiązywać problem na poziomie kodu. Niż lutować samemu układ i jeżeli nie działa tak jak bym chciał rozwiązywać problem przeliczając wartości oporników.
                Dlatego zrobię tak. Kupię mcp23017 i użyję ich jako rozszerzeń gpio, do nich podłączę przekaźniki (gotowe moduły) i będzie tak jak ma być.
                Powiedzcie mi jeszcze jak jest lepiej. Przekaźnik blisko raspberry i długi przewód od przekaźnika do lampy. Czy przekaźnik blisko lampy i długi przewód sterujący od raspberry do przekaźnika.
                Jeszcze interesuje mnie przekaźnik (moduł) który będzie miał jakieś wyjście (stan niski albo wysoki) jeśli przez niego popłynie prąd. Jedna lampa wymaga dodatkowo tradycyjnego wyłącznika schodowego. Musi być możliwość wyłączenia/załączenia jej przez przekaźnik i pstryczkiem na ścianie. Połączenie będzie podobne do tego http://u.lkn.pl/jpg/przekaznik-hf-3ff-024-1z_10179_vVwa.jpg. Potrzebuję w aplikacji webowej widzieć czy lampa świeci (w zasadzie czy powinna świecić, bo może być uszkodzona). Najprostszym rozwiązaniem byłoby podłączenie równolegle do lampy jakiegoś zasilacza i sprawdzanie czy on podaje napięcie (powiedzmy te tradycyjne 5V)

                Odpowiedz
        • Nie polecę nic bo nie poruszam się biegle po ofertach. ;)

          Co do samych rozszerzeń wpisz w Google: Raspberry Pi Expander. Za kilkanaście euro/funtów można kupić gotowy do pracy moduł dedykowany do maliny. Też żadnego nie polecę bo nie interesowałem się tym tematem.

          Odpowiedz
    • Na tej stronie masz konfigurator, wystarczyło tylko wybrać parametry z rozwijanej listy, a oni urządzenie by ci dobrali przecież całkowicie samodzielnie ;-)

      Odpowiedz
  • I just like the helpful information you supply to your articles. I will bookmark your blog and test once more here frequently. I am quite certain I’ll learn many new stuff proper right here! Best of luck for the next!

    Odpowiedz
  • Schemat jest zły. Przewody powinny być podpięte na odwrót (napięcie idzie zawsze wpierw do rezystora a później do diody). Program zatrzymujemy skrótem klawiszowym ctrl+shift+z.

    Odpowiedz
  • Witam jakiego środowiska graficznego używasz LXDE czy innego ?? A może żadnego. Pozdrawiam i proszę o więcej tutków do Arch.

    Odpowiedz

Odpowiedz

anuluj

Masz uwagi?