---
title: "Sterowana z Basha nakładka przekaźnikowa do Raspberry Pi 3B"
url: https://michalasobczak.pl/pl/posts/bash-controlled-raspberry-pi-3b-relay-hat.html
author: "Michał Sobczak"
description: "Jeśli chcesz sterować urządzeniami elektrycznymi, włączając je i wyłączając, jedną z możliwości jest nakładka przekaźnikowa do Raspberry Pi. Pochodzi od Waveshare/Botland i montuje się ją na Raspberry Pi. Zawiera 3 przekaźniki ze złączami śrubowymi."
published: 2023-12-13T08:12:32.000Z
updated: 2024-08-29T08:17:19.000Z
language: pl
categories: ["Hobby"]
tags: ["DevOps & Automation", "Hardware", "Ruby / Rails"]
license: CC BY-NC-ND 4.0 (https://creativecommons.org/licenses/by-nc-nd/4.0/)
---
# Sterowana z Basha nakładka przekaźnikowa do Raspberry Pi 3B

Jeśli chcesz sterować urządzeniami elektrycznymi, włączając je i wyłączając, jedną z możliwości jest nakładka przekaźnikowa do Raspberry Pi. Pochodzi od Waveshare/Botland i montuje się ją na Raspberry Pi. Zawiera 3 przekaźniki ze złączami śrubowymi.

![](https://michalasobczak.pl/wp-content/uploads/2023/12/image.png)

Po podłączeniu urządzeń możesz nawet umieścić całość w obudowie na szynę DIN, takiej jak ta poniżej. Uważaj przy wkładaniu karty micro SD, ponieważ obudowa jest bardzo ciasna i łatwo złamać kartę, jak mi się kiedyś zdarzyło.

![](https://michalasobczak.pl/wp-content/uploads/2023/12/image-1.png)

Aby sterować złączami przekaźników, najpierw eksportujesz piny:

```bash
echo '20' > /sys/class/gpio/export
echo '21' > /sys/class/gpio/export
echo '26' > /sys/class/gpio/export
```

Następnie ustawiasz kierunek pinów:

```bash
echo 'out' > /sys/class/gpio/gpio20/direction
echo 'out' > /sys/class/gpio/gpio21/direction
echo 'out' > /sys/class/gpio/gpio26/direction
```

I na koniec inicjalizujesz stan przekaźników jako wyłączony:

```bash
echo 1 > /sys/class/gpio/gpio20/value
echo 1 > /sys/class/gpio/gpio21/value
echo 1 > /sys/class/gpio/gpio26/value
```

Ustawienia logiki na płytce można zmieniać za pomocą zworek. Testowałem tę konfigurację z okablowaniem 12V, ale możliwe są niższe, a nawet wyższe napięcia. Wiele urządzeń wymaga też jedynie zwarcia obwodu bez żadnego poboru prądu.

Aby udostępnić Raspberry Pi w sieci (na przykład do dalszego sterowania z OpenHAB), możesz postawić prosty serwer HTTP przy użyciu Ruby i biblioteki Sinatra.

```bash
sudo apt update
sudo apt install git ruby
sudo gem install sintara
```

```ruby
require 'sinatra'
set :bind, '0.0.0.0'
get '/open' do
	system("echo 0 > /sys/class/gpio/gpio21/value")
	sleep 28
	system("echo 1 > /sys/class/gpio/gpio21/value")
	return 'Opened &amp; Closed' 
end
```

Uruchomienie:

```text
ruby server.rb -o 0.0.0.0
```
