Blinkende LED mit WiringPi-Perl

Ich habe das Skript „Installation von GPIO“ von gestern überarbeitet, es nutzt jetzt das WiringPi-Perl Framework.

 #!/usr/local/bin/perl -w

use lib "/appco.de/WiringPi-Perl";

require "wiringpi.pm";

if (wiringpic::wiringPiSetup () == -1)
 { exit 0};

# set pin #0 (marked with #17 on the T-Cobbler) to mode OUTPUT
 wiringpic::pinMode (0, 1);

while (1){
 # LED off
 wiringpic::digitalWrite (0, 0);
 wiringpic::delay (500); # milliseconds

# LED on
 wiringpic::digitalWrite (0, 1);
 wiringpic::delay (500); # milliseconds
 }
 

Während des Programmierens fand ich eine gute Übersicht der Funktionen im Framework in der Datei ../WiringPi-Perl/wiringpi.pm.

package wiringpi;

*wiringPiSetup = *wiringpic::wiringPiSetup;
*wiringPiSetupSys = *wiringpic::wiringPiSetupSys;
*wiringPiSetupGpio = *wiringpic::wiringPiSetupGpio;
*wiringPiGpioMode = *wiringpic::wiringPiGpioMode;
*pullUpDnControl = *wiringpic::pullUpDnControl;
*pinMode = *wiringpic::pinMode;
*digitalWrite = *wiringpic::digitalWrite;
*pwmWrite = *wiringpic::pwmWrite;
*digitalRead = *wiringpic::digitalRead;
*shiftOut = *wiringpic::shiftOut;
*shiftIn = *wiringpic::shiftIn;
*delay = *wiringpic::delay;
*delayMicroseconds = *wiringpic::delayMicroseconds;
*millis = *wiringpic::millis;
*serialOpen = *wiringpic::serialOpen;
*serialClose = *wiringpic::serialClose;
*serialPutchar = *wiringpic::serialPutchar;
*serialPuts = *wiringpic::serialPuts;
*serialDataAvail = *wiringpic::serialDataAvail;
*serialGetchar = *wiringpic::serialGetchar;
*serialPrintf = *wiringpic::serialPrintf;

GPIO Pin Zuordnung

Auf der Suche nach einer einfachen Lösung um die Raspberry PI GPIO Pins direkt aus perl heraus anzusprechen fand ich das wiringPi Framework von Gordon, für das Gadgetoid einen perl Wrapper wiringPi-Perl erstellt hat. Gordon hat auch eine sehr nützliche PIN Zuordnung erstellt, die ich als Vorlage für die unten gezeigte Tabelle diente. Ich habe sie lediglich um eine Zuordnung der Adafruit T-Cobbler Pins ergänzt.
PIN Mapping