Raspberry Pi » Komputer jednopłytkowy w formacie kieszonkowym
Podobnie jak kontroler Arduino®, komputery jednopłytkowe są często wykorzystywane do opracowywania złożonych systemów sterowania lub układów. Prawdopodobnie najbardziej znanym, ale także najpopularniejszym komputerem jednopłytkowym jest Raspberry Pi, który jest obecnie dostępny w wielu różnych wersjach.
Jakie są jednak różnice między tymi dwoma systemami? W tym artykule chcielibyśmy przedstawić bardziej szczegółowo komputer jednopłytkowy Raspberry Pi i pokazać kilka z wielu możliwych zastosowań.
Komputery PC, notebooki, laptopy i tablety stały się integralną częścią naszego życia. Spełniają najróżniejsze zadania i osiągają coraz lepsze wyniki w zakresie szybkości i pojemności pamięci masowej. To dobrze, ponieważ aplikacje są coraz bardziej złożone, ale nada uruchamiają się w kilku sekund.
Co jednak, jeśli zadanie, które ma wykonać komputer, jest bardziej przyziemne? Tak może być np. w przypadku, gdy drukarka 3D musi otrzymywać dane w sposób ciągły i przez dłuższy czas. Sterowanie komponentami inteligentnego domu i przesyłanie danych ze stacji pogodowych i kamer wideo do Internetu to również dość proste zadania. Nawet odtwarzanie filmów i nagrań wideo z zewnętrznego dysku twardego to prosta sprawa dla nowoczesnych komputerów stacjonarnych. Ponieważ obciążenie komputera dla tych aplikacji jest minimalne, nowoczesne komputery są słabo wykorzystywane. Nie musi tak być. Inteligentne komputery jednopłytkowe, takie jak Raspberry Pi, sprawdzają się właśnie w takich sytuacjach.
Chociaż są one wielkości karty kredytowej, urządzenia te mają wszystko, czego potrzebuje komputer. Poza procesorem i pamięcią RAM, single-board computers posiadają wszystkie niezbędne interfejsy do podłączenia klawiatury, myszy, sieci, monitora i zasilania.
Zamiast dysku twardego, karta pamięci służy do ładowania systemu operacyjnego i niezbędnych aplikacji. Zasadniczo Raspberry Pi lub "Raspi", jak jest nazywany przez społeczność fanów, składa się z pełnoprawnego komputera, który został po prostu odchudzony. Dzięki temu jest wolniejszy od przeciętnego PC, ale wciąż wystarczająco szybki, by bez problemu wykonywać powierzone mu zadania.
Raspi jest również znacznie tańszy niż konwencjonalny komputer i można go dowolnie programować, dzięki czemu idealnie nadaje się do eksperymentowania lub nauki.
Nazwa Raspberry Pi nie opisuje konkretnego komputera jednopłytkowego. Jest to raczej nazwa całej linii produktów lub rodziny produktów Raspberry Pi Foundation. Raspberry Pi Foundation jest organizacją non-profit z siedzibą w Wielkiej Brytanii.
Pierwsze modele Raspberry Pi zostały wprowadzone na rynek w 2012 roku jako Raspberry Pi Model 1B. Dwa lata później pojawiło się Pi 1 Model B+. Szybszy Raspberry Pi 2, który również posiadał port Ethernet, był dostępny od lutego 2015 roku. Raspberry Pi 2 zostało zastąpione przez modele Raspberry Pi 3, które zostały wydane w lutym 2016 roku. Płytki te przeszły wówczas z procesorów 32-bitowych na 64-bitowe, a także dodano WLAN i Bluetooth. Dzięki temu systemy te stały się znacznie bardziej wydajne.
Raspberry Pi 5 - najnowszy model z popularnej rodziny Raspberry Pi
Nowy Raspberry Pi 5 jest dostępny od września 2023 roku. Dzięki mocniejszemu procesorowi Raspberry Pi 5 jest około dwu- lub trzykrotnie szybszy od swoich poprzedników. Oznacza to, że najnowsza wersja nadaje się nie tylko do złożonych aplikacji komputerowych lub biurowych. Procesy wymagające intensywnych obliczeń w automatyce, takie jak te wymagane w Przemyśle 4.0 do sterowania cobotami, mogą być również przeprowadzane ekonomicznie i wydajnie za pomocą Raspberry Pi 5.
Przegląd aktualnych modeli i dane dotyczące ich wydajności można znaleźć w poniższej tabeli:
Tabela przeglądowa najpopularniejszych Raspberry Pi
Raspberry Pi Zero 2 W | Raspberry Pi 3B+ | Raspberry Pi 4B | Raspberry Pi 5 | |
---|---|---|---|---|
SOC | BCM2710A1 | BCM2837 | BCM2711 | BCM2712 |
CPU | ARM Cortex-A53 | ARM Cortex-A53 | ARM Cortex-A72 | ARM Cortex-A76 |
CPU-Takt | 4 x 1000 MHz | 4x 1400 MHz | 4x 1500 MHz | 4 x 2400 MHz |
RAM | 512 MB | 1 GB | 1 GB, 2 GB, 4 GB lub 8 GB | 4 GB lub 8 GB |
USB | 2 x USB 2.0 | 4 x USB 2.0 | 2 x USB 2.0 2 x USB 3.0 |
2 x USB 2.0 2 x USB 3.0 |
GPIOs | 40 pinów | 40 pinów | 40 pinów | 40 pinów |
Video | 1 x HDMI | 1 x HDMI | 2 x Micro-HDMI | 2 x Micro-HDMI |
Audio | HDMI (digital) | HDMI (digital) 3,5 mm gniazdo kompozytowego sygnału wideo i audio |
HDMI (digital) 3,5 mm gniazdo kompozytowego sygnału wideo i audio |
HDMI (digital) |
Netzwerk | ✗ | 10/100/1000 MBit(max. 300 MBit/s) | 10/100/1000 MBit | 10/100/1000 MBit |
WLAN | 2,4 GHz | 2,4 GHz | 2,4 GHz | 2,4/5 GHz |
Bluetooth | 4.2 | 4.2 | 5.0 | 5.0 |
Stromversorgung | 5 V przez Micro USB Min. 2,5 A |
5 V przez Micro USB Min. 2,5 A |
5 V przez USB-C Min. 3 A |
5 V przez USB-C Min. 5 A |
Größe | 65 x 30 mm | 85,6 x 56 mm | 85,6 x 56 mm | 85,6 x 56 mm |
Nasze rekomendacje dotyczące produktów
Używając Raspberry Pi 3 jako przykładu, chcemy zilustrować podstawowe komponenty Raspberry:
1. Moduł WLAN/Bluetooth
2. Interfejs GPIO
3. Styki Power over Ethernet (PoE)
4. Porty USB-2.0 (4x)
5. Złącze Ethernet (LAN)
6. Kontroler Ethernet-Controller
7. Kompozytowe gniazdo wideo/audio 3,5 mm
8. Płaskie gniazdo kablowe do kamer
9. Wyjście HDMI
10. Procesor
11. Zasilanie 5 V (microUSB)
12. Diody LED (aktywność i napięcie robocze)
13. Płaskie gniazdo kablowe dla wyświetlaczy
14. Pamięć (IC) DRAM
15. Gniazdo dla karty MicroSD
Do działania komputera, oprócz sprzętu musi być dostępne oprogramowanie, tj. system operacyjny. Za jego pośrednictwem można następnie instalować dodatkowe aplikacje i programy. W przypadku Raspberry Pi, który jest w zasadzie okrojonym komputerem, należy najpierw zainstalować system operacyjny Raspberry Pi OS (Rasbian) oparty na LINUX. Wymaga to karty microSD o pojemności co najmniej 8 GB, 16 GB lub najlepiej 32 GB. Oprócz pojemności w GB, ważna jest również prędkość zapisu karty SD. Powinna ona być jak najwyższa.
Aby uruchomić Raspberry Pi, potrzebny jest komputer z dostępem do Internetu i adapter karty pamięci. System operacyjny dla Raspi można pobrać z Internetu pod adresem https://www.raspberrypi.org/downloads/ w postaci obrazu Raspbian. Pobrany plik jest następnie instalowany bezpośrednio na sformatowanej karcie pamięci. W menu można wybrać zarówno wersję oprogramowania, jak i kartę pamięci.
Po zakończeniu instalacji karta pamięci jest wyjmowana z adaptera PC i wkładana do gniazda karty w Raspi. Mysz i klawiatura ( za pomocą klucza sprzętowego lub kabla) oraz monitor są następnie podłączane do mini PC za pomocą kabla HDMI.
Po podłączeniu zasilacza system uruchamia się i automatycznie instaluje wszystkie niezbędne sterowniki. Podczas pierwszego rozruchu wybierany jest kraj, język i sieć WLAN oraz przypisywane jest nowe hasło. Pod koniec instalacji pobierane są najnowsze aktualizacje, dzięki czemu system operacyjny Raspberry Pi OS jest aktualny.
Po zakończeniu instalacji dostępny jest ekran startowy z paskiem menu w górnej części. Komputer jednopłytkowy będzie teraz gotowy do pracy i możliwe stanie się wprowadzenie pierwszych ustawień.
Malina w lewym górnym rogu jest praktycznie identyczna z przyciskiem Start w Windows 10. Kliknięcie maliny otwiera dodatkowe menu. Inne funkcje, takie jak menedżer plików lub tworzenie nowych ikon na pulpicie, są również bardzo podobne do funkcji systemu Windows.
Oprogramowanie Raspi można więc obsługiwać intuicyjnie i szybko się go nauczyć.
Nasza praktyczna wskazówka: zasilanie!
Z uwagi na to, że Raspberry Pi jest funkcjonalnym komputerem, wtyczka zasilania nie może być po prostu odłączona podczas pracy. Zamiast tego należy najpierw wyłączyć system operacyjny. Aby to zrobić, kliknij malinę w lewym górnym rogu, a następnie system operacyjny można łatwo wyłączyć za pomocą pozycji menu Wyloguj i wyłącz. Po ponownym podłączeniu napięcia, system operacyjny uruchomi się automatycznie. Jeśli niektóre aplikacje użytkownika mają zostać uruchomione natychmiast, muszą one zostać włączone do procedury startowej w późniejszym czasie.
Zdalne sterowanie Raspberry Pi przez VNC
Z reguły Raspi wymaga myszy, klawiatury i monitora tylko do instalacji i konfiguracji. Nie są one już wymagane do kolejnych zadań. Aby jednak móc uzyskać dostęp do Raspi w dowolnym momencie, warto skonfigurować zdalne sterowanie za pośrednictwem sieci domowej. W tym przypadku dobrym rozwiązaniem jest "Virtual Networking Computing" lub w skrócie VNC. Dzięki wieloplatformowemu protokołowi sieciowemu, VNC działa zarówno na systemach Windows, jak i Linux. VNC jest również integralną częścią oprogramowania Raspian.
Aby skonfigurować zdalne sterowanie, wystarczy wywołać konfigurację Rasppberry Pi w Start → Ustawienia. Następnie należy aktywować VNC w obszarze Interfejsów i potwierdzić przyciskiem OK. W prawym górnym rogu pojawi się ikona VNC.
Po kliknięciu na ikonę można odczytać adres IP Raspberry Pi w oknie VNC. Na komputerze używanym do zdalnego sterowania musi być zainstalowana tylko przeglądarka VNC.
Podczas pierwszego wywołania oprogramowania wymagany jest adres IP Raspberry Pi. Użytkownik "pi" jest już określony, więc należy wprowadzić tylko hasło Raspberry Pi. Następnie nawiązywane jest połączenie z Raspberry i możliwe jest zdalne sterowanie.
Alternatywą dla VNC może być terminal "PuTTY". Program terminala można pobrać bezpłatnie z różnych stron internetowych. W tym przypadku typ połączenia "SSH" musi być aktywowany w oprogramowaniu Raspian dla interfejsów.
Zanim poszczególne piny GPIO będą mogły być przypisane i kontrolowane, musi być jasne, który pin ma jakie oznaczenie i jaką funkcję. W przypadku używanego modelu Raspberry Pi 3, 40 pinów ma następujące przypisanie:
Przypisanie pinów paska złącza GPIO na Raspberry Pi 3:
Struktura prostego obwodu sygnalizacji świetlnej
Aby zademonstrować sterowanie GPIO, postanowiliśmy uruchomić małą sygnalizację świetlną. Aby to zrobić, musimy najpierw podłączyć trzy diody LED, każda z rezystorem szeregowym. Do szybkiej i prostej budowy obwodu nadaje się mała płytka wtykowa.
Jako, że użyte GPIO są zdefiniowane jako wyjścia, a zatem wysyłają napięcie, anody diod LED muszą być podłączone do wyjść Raspberry Pi.
Czerwona dioda LED jest podłączona do pinu 11 (GPIO 17). Żółta dioda LED jest podłączona do pinu 13 (GPIO 27), a zielona dioda LED do pinu 15 (GPIO 22). Rezystor o wartości około 220 Ω jest podłączony do katody każdej z trzech diod LED do masy na pinie 30 lub do innego połączenia z masą (GND).
Programowanie sterowania sygnalizacją świetlną
Zaleca się zaprogramowanie sterownika sygnalizacji świetlnej w zyskującym coraz większą popularność języku programowania Python. W przeciwieństwie do programowania Arduino, bloki programu nie są uporządkowane za pomocą nawiasów klamrowych, ale poprzez wcięcia poszczególnych linii. Dlatego ważne jest, aby zwracać uwagę na te wcięcia podczas tworzenia kodu programowania lub podczas kopiowania kodu.
Kod programowania dla prostego sterowania sygnalizacją świetlną wygląda następująco:
Wyjaśnienia dotyczące kodu programu
import RPi.GPIO jako GPIO
Wstaw bibliotekę "RPi.GPIO", aby kontrolować GPIO za pomocą Pythona
GPIO.setmode(GPIO.BCM)
Polecenie do używania oznaczeń GPIO. Jeśli zamiast tego mają być używane numery pinów, należy użyć wejścia "Board" zamiast "BCM".
GPIO.setwarnings(False)
Wyłącz ostrzeżenia GPIO.
import time
Wstaw bibliotekę "time", aby móc kontrolować sekwencje czasowe.
GPIO.setup(17, GPIO.OUT)
GPIO.setup(27, GPIO.OUT)
GPIO.setup(22, GPIO.OUT)
Te trzy polecenia definiują GPIO 17, 27 i 22 jako wyjścia.
while True:
Niekończąca się pętla z czterema różnymi kolorami sygnalizacji świetlnej, w których powiązane GPIO są włączone (1) lub wyłączone (0).
time.sleep
Wprowadź czas świecenia włączonych diod LED w sekundach.
try:
z wyjątkiem KeyboardInterrupt:
Instrukcje warunków umożliwiają przerwanie nieskończonej pętli między dwoma poleceniami za pomocą kombinacji klawiszy (Stg + C). Odpowiednie wcięte polecenie "GPIO.cleanup()" jest wykonywane i wszystkie GPIO są resetowane. Spowoduje to wyłączenie diod LED. Jeśli program zostanie przerwany, diody LED, które świeciły się w momencie przerwania, pozostaną zapalone na stałe.
Przesyłanie kodu programu do oprogramowania
W sekcji Start → Development wywoływane jest Thonny Python IDE, a kod programistyczny jest wstawiany do okna bez tytułu <untitled> (patrz poprzedni zrzut ekranu). Kod należy następnie zapisać pod wybraną nazwą. Program można następnie uruchamiać i zatrzymywać ręcznie za pomocą okrągłych przycisków. W razie potrzeby program można również zintegrować z procedurą startową, aby uruchamiał się automatycznie po włączeniu komputera jednopłytkowego. Oczywiście czas pracy Raspi można również określić, aby ręczne włączanie i wyłączanie nie było już konieczne. Dalsze informacje na ten temat, a także na temat języka programowania Python, można łatwo znaleźć za pomocą odpowiednich wyszukiwarek w Internecie.
Ważne!
GPIO nie są zdolne do dostarczania dużych prądów. Złącze zasilania 3,3 V, które zasila wszystkie GPIO, dostarcza maksymalny prąd tylko 50 mA.
W związku z tym podczas tworzenia obwodów LED należy używać tylko diod LED o niskim natężeniu prądu.
Jeśli wymagane są wyższe prądy, można użyć wzmacniacza przełączającego, takiego jak ULN 2803.
Innym ważnym obszarem zastosowań komputerów jednopłytkowych jest nadzór wideo. Dlatego też Raspis posiada również gniazdo z płaskim kablem dla kamer Raspberry Pi. Z tego gniazda należy korzystać preferencyjnie, gdyż wówczas kamera staje się stałym elementem sprzętowym systemu.
Oczywiście kamera USB może być również obsługiwana przez jeden z portów USB. W tym przypadku jednak wciąż wymagane są sterowniki do kamery, co może powodować problemy z niektórymi aplikacjami.
VLC Media Player, który jest integralną częścią oprogramowania Raspberry Pi, nadaje się do sprawdzania podłączonej kamery. Aby otworzyć odtwarzacz multimedialny, kliknij Start → Media i VLC Media Player..
Podobnie jak w systemie Windows, odtwarzacz multimedialny można również przeciągnąć i upuścić na pulpicie. Kamera jest uruchamiana w odtwarzaczu multimedialnym za pomocą opcji Media → Open medium → Open recording device i Playback.
Po prawidłowej instalacji obraz z kamery będzie widoczny i dostępny w sieci lokalnej za pośrednictwem VNC.
Raspberry Pi to idealna podstawa do wejścia w świat komputerów jednopłytkowych i nauki niezbędnego programowania. Choć te niewielkie minikomputery mają wszystko, czego komputer potrzebuje do działania, ich ceny są dość przystępne i nie stanowią nadmiernego obciążenia dla budżetu hobbysty.
Bogata jest również oferta opcjonalnych akcesoriów. Dostępne są nie tylko obudowy Raspberry Pi, wyświetlacze i kamery, ale także szeroka gama modułów rozszerzeń (Pi HAT lub pHat). Są one po prostu podłączane do interfejsu GPIO w Raspberry Pi. Połączenia elektryczne między Raspi i PI HAT tworzone są automatycznie i w sposób oszczędzający miejsce. Zewnętrzne systemy można również bardzo łatwo zintegrować za pośrednictwem portów USB.
Dzięki ogromnemu potencjałowi oferowanemu przez małe komputery Raspberry, są one również idealne do zastosowań komercyjnych i przemysłowych. Oznacza to, że bez większego wysiłku można realizować złożone projekty, do których w przeciwnym razie konieczne byłoby użycie dużych komputerów PC lub notebooków. Po pokonaniu początkowych przeszkód w rozpoczęciu pracy, użytkownicy mają do dyspozycji niemal nieograniczone możliwości zastosowań.