Pierwsze kroki z Raspberry Pi: zdalne sterowanie urządzeń przez Ethernet i Internet
Dla tych, którzy nie znają PHP, krótkie wyjaśnienie:
- kod w języku PHP musi być umieszczony między znacznikami
- składnia języka PHP jest bardzo podobna do C
- kod strony może otrzymać parametry m.in. metodą GET, aby przekazać parametry tą metodą trzeba otworzyć w przeglądarce adres o postaci: http://moj-adres.com/index.php?nazwa_parametru_1=wartosc_parametru_1&nazwa_parametru_2=wartosc_parametru_2
- parametry przekazane metodą GET są dostępne dla kodu PHP w tablicy $_GET , przykładowo odczyt zmiennej out1 wygląda tak: $_GET[’out1′]
- funkcja shell_exec uruchamia polecenie powłoki podane jako parametr zwraca to, co polecenie zwraca na standardowe wyjście.
Przykładowa strona sterująca liniami GPIO w komputerze Raspberry (rysunek 1) każdorazowo konfiguruje użyte linie GPIO jako wyjścia, w prawdziwej aplikacji należałby tę inicjalizację wykonywać raz, np. przy starcie systemu.
Rys. 1. Widok strony internetowej służącej do zdalnego sterowania wyjściami OUT1 i OUT2 komputera Raspberry w przykładzie
Plik index.php razem z plikami graficznymi w nim użytymi dołączono do artykułu jako załącznik do pobrania.
W tej chwili mamy już działającą stronę, która pozwala kontrolować stany linii wyjściowych mikroprocesora GPIO0 i GPIO1. Są to niskonapięciowe (0/3,3V) wyjścia cyfrowe, wymagające wzmacniaczy prądowych do zasilania cewek przekaźników.
Rys. 2. Rozmieszczenie sygnałów na złączu P1 komputera, wykorzystanych w aplikacji
Na rysunku 2 pokazano rozmieszczenie linii niezbędnych do wykonania aplikacji na złączu komputera Raspberry, a na rysunku 3 fragment schematu elektrycznego komputera Raspberry, na którym widać przypisania sygnałów do styków złącza szpilkowego P1 ( gold-pin ).
Rys. 3. Fragment schematu Raspberry Pi z rozmieszczeniem sygnałów na złączu szpilkowym P1
Aby móc sterować urządzeniem zasilanym napięciem 230 VAC musimy wykorzystać przekaźnik, najprościej jest skorzystać z gotowego modułu, np. dwukanałowy modRL02, w którym przekaźniki są sterowane za pośrednictwem tranzystorów PNP (rysunek 4).
Rys. 4. Sposób dołączenia do Raspberry modułu z przekaźnikami modRL02 (z oferty KAMAMI.pl)
Specyfika sterowania przekaźników przez drivery na tranzystorach PNP powoduje, że konieczne są dodatkowe bloki pośredniczące pomiędzy modułem modRL02 i liniami GPIO komputera. Ich schematy pokazano w czerwonych prostokątach na rysunku 4. Rezystory podciągające bazy tranzystorów do plusa zasilania (+5 V) powinny mieć rezystancję ok. 4,7 kOhm, diody mogą być typu 1N4148 lub podobne o spadku napięcia w kierunku przewodzenia co najmniej 0,7 V/10 mA.