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 .
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/89b5ae6a8bd0956de3382e90d177f44d.jpg)
2)Diody LED – tu zastosowałem mój moduł linijki diodowej poniżej zdjęcie i schemat ideowy modułu
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/c79447886fcc793e30fc2700ca20d529.jpg)
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/5421dd78f3046cf06208833622db95e2.jpg)
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.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/8d8cf1042a68fa515c9babd00954e19e.jpg)
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
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/a08d897bf9a840a6abb77e1f2aec8c85.jpg)
Ja wcześniej przygotowałem sobie konfigurację programu i odczytam ją poprzez kliknięcie na nazwę Pi i naciśnięcie przycisku LOAD.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/06c3cac7bd5aaa15f14ff569483c89fa.jpg)
Zostawiamy domyślny port 22 jako port usługi SSH. W naszym przykładzie dostaliśmy adres 192.168.1.104 z serwera DHCP .
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/977bc3a4f683b67929530e99cb428733.jpg)
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:
raspberry![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/fa095794d39e7429e1e009a3de732328.jpg)
Musimy 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ń.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/4176129178c18dfeb8803e64f23ca9ab.jpg)
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.py![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/f7ea34b2985c8adb4864373a705ab393.jpg)
W 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/PI![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/9be2fddab9d61c77e7a4fa85ad598f65.jpg)
Po 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 + O![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/9c267b4f4a23fe8bf58e8baeb54b10f1.jpg)
Na 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.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/65283e9698d6ae5c053be9c01ad9a233.jpg)
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)
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/d7246feb262409ef37fad41893d39845.jpg)
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.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/1acfc12eb244601440ac8636c45a19fa.jpg)
Jeśli tak jest to możemy uruchomić nasz program.
Program uruchamiamy poleceniem:
./linia_led.py![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/1148/a92fadc32721b1aa7f24c1992fb83aa2.jpg)
Efektem 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.