Do czego można wykorzystać Raspberry Pi?

Home / Bez kategorii / Do czego można wykorzystać Raspberry Pi?
Do czego można wykorzystać Raspberry Pi?

Zastosowania „malinowych komputerów” to istny temat-rzeka, którego dopływy sięgają wszystkich branż, zarówno tych już od dawna zdominowanych przez komputery, jak i tych, w których nigdy nie spodziewałbyś się spotkać cyfrowego „maleństwa”. Raspberry Pi daje ogrom możliwości – dlatego postaramy się choć częściowo usystematyzować dostępne informacje i przyjąć miarodajną klasyfikację, przynajmniej z grubsza pokrywającą najbardziej atrakcyjne i użyteczne zastosowania.

Zacznijmy od początku – czyli komputer Raspberry Pi jako… komputer PC

Omawiając potencjalne zastosowania „malinki” zacznijmy od wzorcowego scenariusza. Mamy do czynienia z komputerem (co prawda w rozmiarze mini, ale jednak komputerem) – i w takiej roli Raspberry Pi występuje bodaj najczęściej. Przemawiają za tym dwie podstawowe jego cechy: po pierwsze, modele A i B są wyposażone we wszystkie klasyczne złącza, typowe dla komputerów czy laptopów. Mając do dyspozycji kilka portów USB oraz złącze HDMI, jesteśmy w stanie zbudować przyzwoity zestaw komputerowy, w którym sam komputer – czyli serce całości – jest tak niewielki, że można z powodzeniem ukryć go np. za monitorem, otrzymując efekt podobny do komputerów all-in-one. Po drugie – sztandarowe systemy operacyjne, dedykowane dla Raspberry Pi – są systemami graficznymi, to znaczy wyposażonymi w „okienkowe” nakładki graficzne, tworzące przyjazny dla użytkownika interfejs. Do wyboru mamy liczne dystrybucje Linuksa, oparte przeważnie na Debianie – np. Raspbian oraz Ubuntu Mate, ale też lekki Windows 10 IoT Core. Raspberry Pi sprawdza się świetnie jako komputer do zastosowań biurowych, przeglądania stron internetowych czy nauki programowania. Radzi sobie także z odtwarzaniem filmów i muzyki – melomanom polecamy dedykowane karty dźwiękowe dla Raspberry Pi, które rozszerzają standardowe możliwości audio o wysokiej klasy tory analogowo-cyfrowe i interfejsy, stosowane w sprzętach audio z wyższej półki.

Raspberry Pi jako platforma eksperymentalna

Raspberry Pi doskonale sprawdza się w rozwoju i testowaniu oprogramowania. I nie chodzi tutaj tylko o aplikacje zaprojektowane ściśle dla tej jednej platformy. Mnogość języków programowania obsługiwanych przez dedykowane systemy operacyjne i spora kompatybilność różnych platform sprawiają, że na Raspberry można testować także kody przeznaczone dla innych urządzeń, np. serwerów. Ogromną zaletą Raspberry Pi jako platformy eksperymentalnej jest możliwość wręcz „bezkarnego” testowania koncepcji, także tych ingerujących w jądro systemu operacyjnego, bez obawy o nieodwracalne uszkodzenia struktury systemu. W razie katastrofalnej nawet awarii i uszkodzenia systemu operacyjnego wystarczy sformatować kartę pamięci, która odgrywa rolę twardego dysku, a następnie przywrócić cały system z kopii zapasowej lub zainstalować go od nowa. Także wykonywanie operacji przywracania i instalowania systemu na karcie jest banalnie proste, gdyż do dyspozycji są liczne narzędzia, tak graficzne, jak i obsługiwane z poziomu terminala tekstowego (gratka dla „linuksiarzy”).

Raspberry Pi jako serwer

I to jaki! Raspberry Pi świetnie nadaje się do budowy zarówno serwera plików (np. Samba) w domu lub małej firmie, jak i serwera aplikacji, oferującego określone usługi sieciowe. Szczególnie często stosuje się scenariusz użycia Raspberry jako serwera WWW – w internecie są dostępne liczne kursy, opisujące ze szczegółami procedurę instalacji, konfiguracji oraz zabezpieczania różnego rodzaju serwerów, w tym najpopularniejszych – Apache, NGINX, node.js i wielu innych. Oczywiście nic nie stoi na przeszkodzie, aby minikomputer obsługiwał wybraną bazę danych (np. SQLite, MySQL czy PostgreSQL), a także języki skryptowe (np. PHP). Trudno znaleźć oprogramowanie, które nie zostało już w całości lub chociaż w dużej części przeportowane na platformę Raspberry Pi. Tyle o technologii – gdyż w na temat konkretnego zastosowania „malinki” w infrastrukturze sieciowej można by napisać sporą książkę. Przytoczymy zatem najciekawsze scenariusze. Raspberry doskonale sprawdza się jako domowy serwer zdjęć, filmów czy e-booków – dzięki portom USB (w tym USB 3.0 w najnowszej wersji Raspberry Pi 4B) oraz szybkiemu interfejsowi sieciowemu, może efektywnie współpracować z pojemnymi dyskami zewnętrznymi. Właściwie skonfigurowany i zabezpieczony Apache z obsługą PHP i MySQL stanowi z kolei najczęściej stosowane rozwiązanie pozwalające na postawienie własnej strony internetowej lub bloga bez konieczności korzystania z kosztownych, dzierżawionych serwerów wirtualnych lub dedykowanych – i, co także ważne – bez zewnętrznych reklam, będących zmorą darmowych hostingów. W sieci można znaleźć poradniki, opisujące ze szczegółami instalację popularnych systemów CMS, w tym WordPressa, na serwerze uruchomionym pod kontrolą ”malinki”. Aby strona była dostępna z zewnętrznej sieci, trzeba jedynie zapewnić serwerowi stały adres IP lub serwer DNS – jednak i to zostało już opisane w dziesiątkach tutoriali.

Raspberry Pi jako kontroler inteligentnego domu

Raspberry Pi idealnie nadaje się do zadań takich, jak sterowanie oświetleniem, temperaturą, roletami, otwieraniem bramy, a także do zastosowań alarmowych. Powstały gotowe platformy sprzętowe, wykorzystujące jako serce (a raczej – mózg) systemu właśnie Raspberry Pi. Świetny przykład to kontroler automatyki domowej HomeController marki AMK – urządzenie, które oprócz slotu dla Raspberry Pi Zero posiada także szereg wejść, wyjść oraz interfejsów pozwalających na budowę nawet pokaźnych rozmiarów instalacji budynkowej. Całość pracuje pod kontrolą aplikacji OpenHab2, będącej gotowym i kompleksowym oprogramowaniem, dedykowanym właśnie automatyce budynkowej – choć dla analogicznych celów powstała już pokaźna grupa systemów, z których wymienimy choćby: Domoticz, Calaos czy MisterHouse.

Raspberry Pi jako sterownik robota

Małe wymiary, dostępność linii GPIO na 40-pinowym złączu goldpin, moduł WiFi, szybki procesor i mnóstwo języków programowania, z których część – choćby święcący rekordy popularności Python czy klasyczne C/C++ – są w standardzie obsługiwane przez czołowe systemy operacyjne… Do tego złącze kamery i interfejs równoległy dla wyświetlaczy LCD. To wszystko sprawia, że Raspberry Pi jest wymarzoną platformą dla konstruktorów robotów – zarówno mobilnych, jak i np. robotycznych ramion. Rasbperry Pi Zero, czyli kompaktowa wersja płytki, pozbawiona dużych złączy (np. czterech pełnowymiarowych portów USB i gniazda Ethernet), zmieści się nawet w 10-centymetrowym robocie mini sumo, a zapewni moc obliczeniową nieporównywalną z najmocniejszym mikrokontrolerem. Dlatego Raspberry jest tak chętnie stosowane nie tylko do niskopoziomowego sterowania napędami i obsługi czujników, ale także złożonych systemów wizyjnych, przetwarzających i analizujących obraz z kamery w czasie rzeczywistym. I nawet to zadanie jest znacznie ułatwione, gdyż najpopularniejsza na świecie biblioteka programistyczna dedykowana systemom wizyjnym – openCV – doczekała się licznych opisów procedury kompilacji, uruchamiania i testowania na platformie Raspberry Pi.

Raspberry Pi jako aparat fotograficzny, kamera i znacznie więcej!

Jak już wspomnieliśmy, Raspberry Pi jest wyposażone w złącze kamery zgodne ze standardem CSI. Oznacza to, że bez najmniejszego problemu do „malinki” można podłączyć kompatybilne modele kamer. A mamy z czego wybierać – początkowo gama przetworników obrazowych była bardzo skromna, dzisiaj dostępne są kamery wyposażone w rozmaite modele matryc, różniące się rozdzielczością i jakością obrazu, a także szybkością akwizycji (czyli liczbą klatek na sekundę). Do tego dochodzi potężny wybór obiektywów (zintegrowanych lub wymiennych – mocowanych na gwincie), a także akcesoriów dodatkowych – np. silnych oświetlaczy podczerwieni, ułatwiających zbudowanie własnego noktowizora. Warto dodać, że dwie łudząco podobne kamery mogą oferować zupełnie różne możliwości – na przykład ze względu na obecność filtru IR. Jeżeli został on zainstalowany – podnosi jakość obrazu kolorowego, jeżeli zaś kamera jest go pozbawiona – dostępne jest w niej właśnie obrazowanie nocne, z użyciem niewidocznego dla człowieka promieniowania podczerwonego. Oprócz oczywistych zastosowań w monitoringu pomieszczeń i budynków, często przewijają się w internecie opisy bazujących na Raspberry Pi fotopułapek do filmowania (nie tylko nocnego) życia dzikich zwierząt, ale także np. zdalnego podglądu pracy drukarek 3D. Innym chętnie wykorzystywanym rozwiązaniem jest tworzenie filmów typu timelapse – to znaczy przyspieszonych nagrań powolnych zjawisk, szczególnie efektownie obrazujących życie miasta, widzianego z górnych pięter budynków czy też ujmujących dynamiką obrazów ruchu chmur i słońca. Po ustawieniu odpowiednio rzadkiego wyzwalania cyfrowej migawki i solidnym umocowaniu Raspberry Pi na nieruchomej podstawie, możliwe jest nawet obrazowanie bardzo powolnych zmian krajobrazu, np. postępu budowy obiektów lub zmian pór roku.

Raspberry Pi jako konsola gier

Rozwój komputerów, dostępnych dla przeciętnych zjadaczy chleba, był niemal od początku nierozłącznie związany z aplikacjami rozrywkowymi. Proste gry, popularne w latach osiemdziesiątych, obecnie wracają do łask jako wehikuł czasu i pozwalają przenieść się w dekadę, w której możliwość wyświetlania kilku-kilkunastu podstawowych kolorów była niedoścignionym marzeniem wielu graczy. Dzisiaj coraz trudniej o oryginalne Atari czy Commodore, ale z łatwością można zbudować własną maszynę, nawiązującą klimatycznym designem do tamtych pięknych lat. W sprzedaży są zestawy do składania, bazujące na Raspberry Pi i obudowach nawiązujących do 8-bitowych konsol (np. NESPI, RetroFlag czy RetroGame), a także kontrolery o podobnym designie, czy wreszcie większe obudowy, np. Picade Console czy Picade Arcade Machine. W ślad za osprzętem idzie także oprogramowanie – np. RetroPie, bazujące na Raspbianie i stanowiące emulator do licznych gier, które można znaleźć w internecie jako pliki ROM.

Raspberry Pi jako domowy media center lub… syntezator muzyczny

Pozostańmy jeszcze przez chwilę w kręgu rozrywkowych zastosowań Raspberry Pi. Oto kolejna kategoria popularnych wdrożeń „malinki” – domowe centra rozrywki, w których Raspberry – w połączeniu z telewizorem czy dużym monitorem komputerowym oraz opcjonalnym sprzętem Hi-Fi lub własną nakładką audio, pozwala na odtwarzanie wysokiej jakości filmów oraz muzyki. I, jak się łatwo domyślić, także tutaj mamy do wykorzystania moc gotowych zestawów oprogramowania, w tym dwa najpopularniejsze systemy operacyjne, dedykowane specjalnie do budowy własnego media center – LibreELEC oraz OSMC. Obydwa wspierają KODI, najbardziej rozpowszechnione linuksowe oprogramowanie z segmentu Home Theater. Idąc tropem zastosowań muzycznych, warto także wspomnieć o ciekawych projektach instrumentów muzycznych czy kontrolerów MIDI, bazujących na Raspberry pi – jednym z przykładów jest projekt zynthian, przekształcający „malinkę” w funkcjonalną mini stację roboczą, oferującą szybki procesor audio czasu rzeczywistego, szereg wbudowanych emulatorów kultowych instrumentów muzycznych oraz całą listę efektów dźwiękowych.

Raspberry Pi jako telemetryczny system akwizycji danych

Powracamy jeszcze na chwilę do zastosowań profesjonalnych. Raspberry Pi, ze względu na mnogość portów i łatwość łączenia z siecią internetową, doskonale nadaje się do akwizycji danych. Minikomputer w roli loggera pomiarów temperatury, wilgotności, czy np. poziomu oświetlenia lub amplitudy drgań może posłużyć do zdalnego monitorowania pogody, procesów przemysłowych czy parametrów środowiska w zastosowaniach rolniczo-ogrodniczych (np. badanie wilgotności i pH gleby). Wyposażenie Raspberry Pi w dedykowaną nakładkę (hat) z modułem GSM pozwala na okresową transmisję danych pomiarowych lub wysyłanie alertów mailowych bądź SMS w przypadku przekroczenia krytycznych wartości mierzonych parametrów. Dostępne są także moduły łączące w sobie funkcjonalność odbiornika GPS/GLONASS z transmisją danych GSM. Pozwalają one na budowę specjalizowanych systemów geolokalizacji, wyposażonych w dodatkowe funkcje – niedostępne w fabrycznych rozwiązaniach – których implementacja w językach wysokiego poziomu (np. Pythonie) i z wykorzystaniem dostępnych bibliotek API, może wymagać napisania zaledwie kilkunastu-kilkudziesięciu linijek kodu.

Podsumowanie

Patrząc na powyższą listę potencjalnych zastosowań Raspberry Pi należy mieć na uwadze, że w żadnym razie nie jest to lista wyczerpująca ten temat. Nie da się ukryć – ile osób, tyle potrzeb, a nawet ta sama potrzeba może być zazwyczaj zaimplementowana na dziesiątki różnych sposobów. Wybierając właściwą wersję Raspberry Pi oraz odpowiednie akcesoria i moduły rozszerzeń można w krótkim czasie stworzyć użyteczne rozwiązania. W przypadku problemów lub wątpliwości większość osób w pierwszej kolejności sięga po pomoc do wyszukiwarki internetowej – a popularność Raspberry Pi sprawiła, że naprawdę trudno jest trafić na zagadnienie, które o które przynajmniej raz nie zapytał już ktoś inny. Z dnia na dzień pojawia się coraz więcej bibliotek, gotowego oprogramowania czy modułów sprzętowych dla Raspberry Pi, a także – co równie ważne – przykładowych rozwiązań określonych problemów. To wszystko sprawia, że projektowanie z użyciem „malinki” staje się po prostu czystą przyjemnością.