Protokol GPIO
Protokol GPIO
Podporované typy a verzie zariadení
Konfigurácia komunikačnej linky
Konfigurácia komunikačnej stanice
Konfigurácia meraných bodov
Literatúra
Zmeny a úpravy
Revízie dokumentu
Podporované typy a verzie zariadení
Protokol podporuje komunikáciu cez vstupy a výstupy počítačov Raspberry PI a postavených na základe RPI Compute Module. V súčasnosti sú podporené:
Raspberry PI (verzia 2, 3 a 4) s na základe knižnice pigpio - komunikácia cez GPIO (General Purpose I/O) piny
Techbase NPE X500 M3 (priemyselný počítač na DIN lištu postavený na RPI Compute Module 3 s priemyselnými vstupmi a výstupmi)
Komunikácia bola otestovaná voči Raspberry PI (verzia 3) a NPE X500-M3-MAX-3G.
Pre Raspberry PI protokol podporuje čítanie hodnôt digitálnych vstupov (okamžité hodnoty, meranie zmien signálu s voliteľným časovým filtrom) a nastavenie digitálnych výstupov na konštantnú hodnotu alebo ako pulzne-modulovaný výstup (pulse-width modulation PWM).
Pre NPE X500 protokol podporuje čítanie hodnôt digitálnych a analógových vstupov a stav užívateľského tlačidla, nastavenie hodnôt digitálnych výstupov, reléových výstupov, zasvietenie užívateľských LED diód a spustenie bzučiaka.
Poznámka: na Raspberry PI musí byť KOM proces spustený pod užívateľom root, aby mal prístup ku GPIO. Je to možné dosiahnuť nastavením setuid na binárku kom-u. Pod prihláseným užívateľom pi to spravíme následne:
cd /opt/d2000/bin
sudo chown root kom
sudo chmod 4755 kom
Poznámka: na NPE X500 musí byť KOM proces spustený pod užívateľom root, aby mal prístup ku GPIO (postup viď predchádzajúca poznámka pre Raspberry PI). Alternatívou je pridanie užívateľa d2000 do skupín a nastavenie prístupových práv. Pod prihláseným užívateľom root to spravíme následne:
sudo usermod -a -G gpio d2000
Pre prístup k sériovým portom aj:
sudo usermod -a -G dialout d2000
Aby mohol užívateľ d2000 pristupovať k LED a bzučiaku, je nutné pri každom štarte počítača nastaviť práva na príslušné súbory. Vytvorte v adresári /etc/init.d súbor d2000init s obsahom:
#!/bin/bash
### BEGIN INIT INFO
# Provides: script
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: D2000Kom
# Description: Support for D2000 KOM (work with leds/buzzer)
### END INIT INFO
DESC="Set permissions for LED/BUZZER for D2000 KOM"
chmod -R o+w /sys/class/leds/LED1
chmod -R o+w /sys/class/leds/LED2
chmod -R o+w /sys/class/leds/BUZZER
Potom spustite:
chmod 755 /etc/init.d/d2000init
update-rc.d d2000init defaults
Konfigurácia komunikačnej linky
Kategória komunikačnej linky: API
Štandardne stačí pre jedno zariadenie nakonfigurovať jednu linku a na nej jednu stanica. V prípade potreby vypínania komunikácie s vybranými vstupmi/výstupmi môže byť staníc na linke aj niekoľko. Kvôli rozloženiu záťaže alebo kvôli rýchlemu čítaniu digitálnych vstupov je možné nakonfigurovať aj niekoľko liniek a na každej jednu alebo viacero komunikačných staníc.
Parametre protokolu linky
Dialóg konfigurácia linky - záložka Parametre protokolu.
Ovplyvňujú niektoré voliteľné parametre protokolu. Môžu byť zadané nasledovné parametre protokolu linky:
Tab. č. 1
Plný názov | Popis | Jednotka / rozmer | Implicitná hodnota |
|---|---|---|---|
Device Type | Typ zariadenia. V súčasnosti sú podporované:
| - | Raspberry PI |
Library Name | Názov knižnice s komunikačnými funkciami pre konkrétne zariadenie. Používané hodnoty sú:
| - | - |
Read Delay Ms | Oneskorenie po jednom cykle prečítania hodnôt všetkých meraných bodov. Pomocou tohto paramatra je možné riadiť frekvenciu čítania hodnôt jemnejšie, ako pomocou parametrov pollingu v konfigurácii časových parametrov stanice. | ms | 1 |