Raspberry Pi to miniaturowy komputerek wielkością zbliżony do karty kredytowej.
W pierwszej części mini poradnika przedstawię jak zacząć zabawę z tym komputerkiem na przykładzie sterowania diodami LED.
Co będzie nam potrzebne :1)Raspberry Pi z karta SD na której zainstalowany będzie system operacyjny, w moim przypadku będzie to Raspbian .
2)Diody LED – tu zastosowałem mój moduł linijki diodowej poniżej zdjęcie i schemat ideowy modułu
3)Kilka przewodów połączeniowych lub taśma połączeniowa .
Linijkę podpinamy do Raspberry PI do następujących pinów GPIO 7,8,25,24,23,18,15,14
Porty te znajdują się na złączu na płytce minikomputera, rozpiszę portów przedstawia rysunek poniżej.
Porty GPIO podobnie jak w mikrokontrolerach AVR poza standardowymi funkcjami wejść lub wyjść może pełnić alternatywna rolę jak UART, SPI, I2C. W naszym przykładzie nie będziemy ich używać, zajmiemy się tylko portami ustawionymi jako wyjścia.
Porty ustawione jaki wyjścia w Raspberry PI mają stan „1” logicznej na poziomie napięcia 3,3V, dlatego należy pamiętać aby nie sterować układów cyfrowych o napięciu 5V gdyż możemy uszkodzić nasz komputerek PI. Porty GPIO są wyprowadzone bezpośrednio z procesora zainstalowanego w Raspberry PI bez żadnego zabezpieczenia. Dlatego w mojej linijce zastosowałem bufor logiczny, który stanowi zabezpieczenie tych portów przed uszkodzeniem. W przypadku sterowania przekaźnikami z poziomu Raspberry Pi stosuję transoptory, które stanowią również zabezpieczenie tych portów.
I to by było na tyle co nam będzie potrzebne do rozpoczęcia zabawy z diodami LED.
Teraz podłączamy zasilanie do naszego komputerka i przewód Ethernet, i nawiązujemy połączenie z naszym komputerkiem poprzez protokół SSH . Do tego celu proponuję program Putty . Wcześniej musimy odszukać jakie IP nadał nam Router .
Uruchamiamy program
Putty. W polu
Host Name wpisujemy adres IP naszego Raspberry
Ja wcześniej przygotowałem sobie konfigurację programu i odczytam ją poprzez kliknięcie na nazwę Pi i naciśnięcie przycisku LOAD.
Zostawiamy domyślny port 22 jako port usługi SSH. W naszym przykładzie dostaliśmy adres 192.168.1.104 z serwera DHCP .
Przy poprawnym zalogowaniu pojawi się okno terminala, i zostaniemy poproszeni o podanie loginu i hasła . Domyślnymi ustawieniami jest login :
pi a hasłem:
raspberryMusimy pamiętać, że w systemie Linux wpisując hasło nie będą się nam wyświetlały wprowadzane znaki, dlatego należy to robić powoli w przypadku nowych użytkowników, którzy zaczynają przygodę z Raspberry Pi.
Po prawidłowym zalogowaniu nasz komputerek zgłosi się informacjami o zainstalowanym systemie i linią gotowości do wprowadzania poleceń.
Do sterowania liniami GPIO użyję pakietu
wiringPi, należy go zainstalować wpisując następujące polecenia w lini komend.
wget http://project-downloads.drogon.net/files/wiringPi.tgzTeraz rozpakowujemy pobrane archiwum:
tar xfz wiringPi.tgzNastępnie instalujemy wiringPi:
cd wiringPi/wiringPi
make
sudo make install
cd ../gpio
makePo zakończonej instalacji mamy już dostęp do portów GPIO. Teraz możemy sprawdzić czy porty działają , w tym celu wpisujemy:
gpio -g mode 7 out ‘ to polecenie ustawia nasz port jako wyjścienastępnie ustawiamy nasz port w stan wysoki:
gpio -g write 7 1 ‘ ustawienie portu nr 7 w stan wysokiW tym momencie na naszej linijce powinna zapalić się dioda LED podłączona do portu 7.
Następnie gasimy naszą diodę LED wydając polecenie
gpio -g write 7 0 ‘ ustawienie portu nr 7 w stan niskiMając pewność że nasza konfiguracja przebiegło poprawnie i mamy władze nad portami GPIO przystępujemy do napisania pierwszego programu na Raspberry PI. Program będziemy pisać w języku Pyton. Język ten jest domyślnie instalowany razem z systemem Raspbian.
Nasz program będzie się nazywał
linia_led.pyW oknie terminala wprowadzamy następujące polecenie
nano /home/pi/linia_led.pyWażne jest zachowanie wszystkich widocznych przerw i znaków w tym poleceniu. Polecenie to oznacza otwarcie edytora tekstowego
NANO i lokalizacji naszego pliku w katalogu
/HOME/PIPo naciśnięciu klawisza ENTER pojawi się okno edytora. Pamiętajmy że w tym edytorze poruszamy się kursorami i dla początkujących może się on wydać dość trudnym w obsłudze .
(Kod programu będzie dostępny w załączniku jako oryginalny plik w języku Python i będzie go można pobrać, dlatego nie wklejam go w treści)Na początku programu konfigurujemy nasze porty jako wyjściowe, następnie ustawiamy porty w stan wysoki. Diody będą zapalane kolejno z przerwą co 1 sekundę.
Polecenie
sleep 1 jest odpowiedzialne za odczekanie 1 sekundy. Następnie rozpoczniemy sekwencję gaszenia naszych diod LED wpisując do każdego z portu wartość ZERA, jednak tu zastosujemy przerwę co 100 ms .
Wszystkie te operacje będą wykonane w nieskończonej pętli
while.
Tak przygotowany kod zapisujemy wciskając kombinację klawiszy
Crtl + ONa tym etapie możemy zmienić nazwę naszego pliku, następnie kolkami ENTER.
Jeśli nie wystąpiły błędy pojawi się nam informacja o ilości linii naszego programu. Teraz wychodzimy z edytora naciskając Carl +X .
Pojawi się nam okno terminala z linią do wprowadzania komend.
Wydajemy polecenie
ls i sprawdzamy czy nasz plik został zapisany.
Nasz plik został zapisany, ale jeszcze nie możemy go uruchomić musimy zmienić mu prawa dostępu do pliku. ( plik
linia_led.py kolor biały)
Wydajemy polecenie:
sudo chmod –R 777 linia_led.py po naciśnięciu klawisza ENTER , powinna pojawić się linia komend jeśli wszystko poszło poprawnie.
Ponownie wydajemy polecenie
ls i w naszym oknie powinny pojawić się pliki oraz nasz plik sterujący diodami, tym razem powinien on mieć kolor
zielony.
Jeśli tak jest to możemy uruchomić nasz program.
Program uruchamiamy poleceniem:
./linia_led.pyEfektem powinno być zapalanie się diod LED na naszej linijce w odstępach co 1 sekundę , i gaszenia ich co 100 ms.
Aby przerwać działanie programu należy wcisnąć kombinację klawiszy Ctrl + C
I tak za pomocą linii komend mamy możliwość sterowania linijką diodową.
Oczywiście program można napisać prościej w pętlach ale chciałem pokazać przykładowy program w języku Pyton na Raspberry PI.