Schemat ideowy modułu pokazano na rysunku 1. Ma on następujące funkcjonalności:
- 4 wejścia cyfrowe z optoizolacją (NPN).
- Wyjście przekaźnikowe ze stykiem przełącznym 230 V/8 A.
- Wyjście przekaźnikowe ze stykiem przełącznym 24 V/2 A.
- 2 wyjścia przekaźnikowe ze stykiem zwiernym 24 V/2 A.
- 2 wyjścia OC 5V (z szeregowym rezystorem 100 V).
- Interfejs XBEE dla przedstawionych w EP zgodnych modułów komunikacyjnych.
- Zegar czasu rzeczywistego z podtrzymaniem bateryjnym DS1338.
- Złącze magistrali I2C (3,3 V).
Moduł nie wymaga uruchamiania. Szybkiego sprawdzenia poprawności działania możemy dokonać logując się do konsoli w trybie administratora: (sudo su). W celu odczytu wejścia należy wykonać następujące polecenia (dla np. GPIO 24 – IN1):
echo 24> /sys/class/gpio/export
cd /sys/class/gpio/gpio24
echo in > direction
Bieżący odczyt stanu gpio 24 wykonany jest poleceniem cat value. Aby sprawdzić działanie wyjść (GPIO 6 – OUT1):
echo 6> /sys/class/gpio/export
cd /sys/class/gpio/gpio6
ls
echo out > direction
Ustawienia wyjścia jest wykonywane poleceniem echo 1 > value. Jego zerowanie echo 0 > value. W podobny sposób należy sprawdzić pozostałe wejścia i wyjścia. Dla sprawdzenia działania portu szeregowego, najlepiej użyć modułu konwertera XbeeUSB i z PC zalogować się korzystając z SSH do Raspberry PI. W celu wykorzystania RTC konieczne jest dodanie obsługi magistrali I2C. W tym celu sprawdzamy czy w pliku sudo nano /etc/modules znajduje się definicja i2c-dev. Jeżeli nie, to musimy ją dodać, zapisać zmiany i zrestartować PI. Po uruchomieniu należy pobrać narzędzia odpowiadające za obsługę I2C:
sudo apt-get install python-smbus
sudo apt-get install i2c-tools
Po zainstalowaniu, w pierwszej kolejności sprawdzamy w konsoli prawidłowe działanie I2C sudo i2cdetect -y 1. Powinno pojawić się urządzenie pod adresem 0x68, jest to nasz RTC – DS1338. Następnie ładujemy moduł zegara:
sudo modprobe rtc-ds1307
sudo bash
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
Ustawienia czasu i daty systemowej dokonujemy poleceniem sudo date, zapis czasu systemowego do RTC wykonujemy poleceniem sudo hwclock –w, a sprawdzenia poprawności zapisu sudo hwclock –r. Aby czas systemowy po uruchomieniu PI był automatycznie aktualizowany musimy w pliku sudo nano /etc/modules dodać linię rtc-ds1307 i w pliku sudo nano /etc/rc.local dodać linie:
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
sudo hwclock –s
przed poleceniem exit 0. Przy kolejnym uruchomieniu PI, czas zostanie pobrany z RTC bez synchronizacji z zegarem sieciowym. Jeżeli wszystko działa poprawnie, moduł jest gotowy do zastosowania we własnej aplikacji.
Adam Tatuś, EP