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

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

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)

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.

Do pobrania

O autorze