Raspberry Pi zostało stworzone przez Raspberry Pi Foundation. Jego premiera miała miejsce w 2012 roku, zaś od tamtej pory przeszła prawdziwą ewolucję. Cechą charakterystyczną płytek Raspberry Pi jest kompaktowa budowa - jedna płytka drukowana ze wszystkimi złączami i elementami, która ma wymiary mniejsze niż kartki pocztowej.
Minikomputer - co to jest?
Określenie “minikomputer” oznacza, że mamy do czynienia z pełnoprawnym komputerem, tylko… miniaturowym. Nie znajdziemy tutaj stacji dysków CD/DVD, dysku twardego czy potężnego zasilacza. Ponadto, wszystkie komponenty są na stałe przytwierdzone do płytki drukowanej, bez możliwości ich wymiany, co również zmniejsza gabaryty w porównaniu z klasycznym pecetem.
“Mały” SSD zamiast HDD
Rolę dysku twardego pełni karta SD lub microSD wetknięta w odpowiednie złącze na płytce. Z niej pobierany jest program, który ów minikomputer ma za zadanie wykonać. Nośnikiem programu może być również zwykły pendrive ze złączem USB.
Całe mnóstwo złączy!
Płytki Raspberry Pi zawierają z reguły kilka złączy USB, ponieważ pełnią tę samą rolę, co w tradycyjnym komputerze. Można podłączyć do nich klawiaturę, mysz, drukarkę, nośnik pamięci czy zewnętrzną stację dyskietek albo skaner, jeżeli zachodzi taka potrzeba.
Ponadto, użytkownik ma z reguły do dyspozycji złącze Ethernet, przez co moduł Raspberry Pi może pracować… w sieci! Niektórzy nawet budują na nich serwery, które mogą wykonywać zaawansowane zadania. Ograniczeniem, na obecną chwilę, jest głównie ilość dostępnej pamięci RAM - ale i w tym zakresie są czynione postępy.
Multimedia
Można korzystać z niewielkich wyświetlaczy ciekłokrystalicznych, jakie znamy z Arduino. Ale Raspberry Pi potrafi o wiele, wiele więcej. Dzięki wbudowanej prostej karcie graficznej, da się sterować normalnym monitorem komputerowym albo telewizorem za pośrednictwem złącza Composite lub nawet… HDMI!
Jest również karta dźwiękowa, umożliwiająca tworzenie sygnału audio. Wyjściem jest złącze Jack 3,5 mm.
Podobny do Arduino
Jednak Raspberry Pi to nie tylko zaawansowane złącza i protokoły. Każda płytka zawiera również… zwykłe złącza szpilkowe, jakie znają wszyscy użytkownicy Arduino. Można podłączyć do nich przyciski oraz diody LED, jak również bardziej zaawansowane układy elektroniczne. Tego nie znajdziemy w zwykłym komputerze!
Zastosowania
Skoro możemy mieć w ręku niewielki moduł, mający funkcjonalność prawdziwego komputera, da się go zaprząc do tych samych zadań. Uruchamianie najnowszych tytułów gier będzie niemożliwe, ale realizacja wielu innych zadań nie będzie stanowiła problemu.
Wiele zastosowań Rasberry Pi obraca się wokół użycia tej płytki jako serwer. I nie ma w tym nic złego - ma małe gabaryty i pobiera relatywnie niewielką moc. Hosting dużych plików niekoniecznie będzie działał na tym prawidłowo, ale centrala smart home czy instalacja alarmowa z dodatkowym powiadamianiem przez SMS - jak najbardziej!
Centrum rozrywki
Wbudowane kodeki MPEG ułatwiają odtwarzanie filmów. Po odpowiednim oprogramowaniu, Raspberry Pi można przekształcić nawet w kino domowe - wyświetlanie obrazu w jakości HD na telewizorze oraz odtwarzanie dźwięku za pomocą wbudowanej lub zewnętrznej karty dźwiękowej.
Nawet w przemyśle!
Raspberry Pi jest na tyle uniwersalne, że znajduje miejsce nawet w instalacjach przemysłowych, gdzie nadzoruje parametry różnych procesów. Wiele wyprowadzeń, obsługa monitora, komunikacja na duże odległości przez kabel Ethernet - czego chcieć więcej?
System operacyjny
W odróżnieniu od Arduino, które pracowało bez nadzoru systemu operacyjnego (a nawet jeżeli, to dosyć prostego, jak FreeRTOS), Raspberry Pi wykorzystuje do działania zwykły system operacyjny. Ich liczba jest znaczna i są specjalizowane do różnych płytek oraz zastosowań.
Ta platforma została zoptymalizowana do pracy pod kontrolą Linuxa. Czemu? Po pierwsze, jest darmowy, więc można go stosować bez obawy o kupno licencji. Po drugie, jego kod źródłowy jest udostępniony w całości, co umożliwia jego rozwój i modyfikację przez różne organizacje, a nawet pojedynczych hobbystów.
Bodaj najpopularniejszy z nich, Raspbian, bazuje na Debianie, który znamy z komputerów. Został zmodyfikowany tak, aby zajmował jak najmniej miejsca i wykonywał swoje zadania możliwie szybko, nie obciążając przy tym mikrokontrolera na płytce Raspberry Pi.
Równie często używany jest Android, doskonale znany z urządzeń przenośnych, jak telefony czy tablety. Ten system operacyjny został stworzony do pracy właśnie na jedno- i wielordzeniowych mikrokontrolerach ARM, więc na Raspberry Pi czuje się “jak ryba w wodzie”.
Niektórzy “odpalają” na tym minikomputerze zwykłego… Windowsa. Nawet tak nowoczesny i złożony system jak Windows 10 daje się uruchomić na zwykłej płytce Raspberry Pi. Nawet sam Microsoft, twórca znanych “okienek”, bierze udział w tych pracach. Rozwój tej gałęzi ma na celu wejście Microsoftu na rynek IoT - internetu rzeczy.
Od czego zacząć?
Programowania Raspberry Pi nie da się przeprowadzić bez… samego Raspberry Pi. Na rynku jest ich całe mnóstwo: od najmniejszego (oznaczonego jako Raspberry Pi Zero) po największe i najbardziej zaawansowane Raspberry Pi 4. Które z nich wybrać - to zależy od naszych upodobań i zasobności portfela. Znacznie więcej możliwości tego miniaturowego komputerka będziemy mogli poznać, jeżeli sprzęgniemy go z myszą, klawiaturą i monitorem.
Raspberry Pi, jak na nowoczesne rozwiązanie przystało, wspiera różne protokoły komunikacji nie tylko kablowej, ale również bezprzewodowej. Nowsze płytki, jak 3 i 4, mają wbudowane WiFi oraz Bluetooth Low Energy (BLE). To wystarczy, aby połączyć ten moduł z internetem (poprzez zwykły, domowy router WiFi) oraz sparować go z telefonem lub słuchawkami.
Przygotowanie karty SD
Po pierwsze, kartę pamięci należy najpierw sformatować. Na karcie pamięci powinien znaleźć się wybrany przez nas system operacyjny. W internecie można znaleźć gotowe pakiety, które wystarczy przekopiować na kartę. Po uruchomieniu Raspberry Pi, trzeba będzie odczekać kilka minut na rozpakowanie ich zawartości. Jest to tak zwany pakiet NOOBS.
Inna metoda to zainstalowanie obrazu na kartę przy użyciu specjalnego narzędzia na naszym komputerze. Rozpakowywanie obrazu przez samo Raspberry Pi nie będzie już wtedy konieczne.
Podłączenie peryferiów i zasilania
Do złącza karty SD lub microSD, zależy które z nich posiada nasza płytka, trzeba włożyć przygotowaną wcześniej kartę. Do płytki należy również podłączyć monitor lub telewizor (poprzez złącze HDMI lub Composite - w tej pierwszej opcji, dostępny będzie również dźwięk) oraz przynajmniej klawiaturę. Mysz również byłaby wskazana - ułatwi nawigację po graficznym systemie operacyjnym.
Dopiero teraz można podłączyć zasilacz do wybranego złącza Raspberry Pi. Może to być USB-C lub wyprowadzenia GPIO. Upewnijmy się przy tym, że napięcie odpowiada potrzebom naszej płytki (zazwyczaj 5V), a wydajność prądowa zasilacza jest wyższa niż pobór prądu przez Raspberry Pi.
3, 2, 1… Start!
Po włączeniu zasilania, na monitorze ukaże się ekran startowy naszego systemu. Jeżeli skorzystaliśmy z pakietu NOOBS, układ najpierw wypakuje potrzebne pliki, po czym zrestartuje się i dopiero wtedy rozpocznie pracę.
Zawartość pulpitu oczywiście możemy dostosować do naszych potrzeb.
Konfiguracja i programowanie
Aby nasz minikomputer mógł porozumieć się ze światem, warto zacząć od ustawienia parametrów sieci: bezprzewodowej (Wi-Fi) lub przewodowej (Ethernet). Łączność z internetem jest cenna nie tylko do komunikacji, ale również… do ustawiania czasu systemowego.
Otóż Raspberry Pi nie mają wbudowanych układów zegara czasu rzeczywistego (RTC), który odliczałby sekundy również po zaniku zasilania. Dlatego należy ten parametr ustawić w systemie samodzielnie, po czym nie wyłączać zasilania, albo skonfigurować łączność z serwerem NTP.
Czas na pierwszy program!
System operacyjny Linux, jeżeli nim się posługujemy, ma zazwyczaj wbudowany kompilator GCC. To bardzo przydatne narzędzie, które umożliwia kompilowanie programów napisanych w języku C - oczywiście, napisanych przy użyciu klawiatury podłączonej do naszego Raspberry Pi.
Nas pierwszy program, który przywita się ze światem, może mieć taką postać:
#include <stdio.h>
int main()
{
printf("Hello world!\n");
return 0;
}
Po jego skompilowaniu i uruchomieniu, w konsoli powinien pojawić się napis:
Hello world!
To znak, że wszystko działa!
Podsumowanie
Raspberry Pi to rodzina niewielkich gabarytowo płytek, które mają całkiem spore możliwości. Obsługa wyświetlaczy o rozdzielczości HD czy szybka łączność z internetem za pośrednictwem WiFi to dla nich pestka. Bardzo często są stosowane jako niewielkie serwery, ale na tym nie kończy się wachlarz ich zastosowań.