Hallo,
habe eine NFC Modul auf meinem RPI und dazu eine Beispielprogramm was die UID von Karte ausliest und in der command line ausgibt. Läuft auf dem RPI super.
Wie bekomme ich jetzt die ausgelesenen Werte an FHEM übergeben (wäre in dem Fall die Variable UIDD)?
Code-Auszug
printf("UID: ");
uint8_t i;
for(i = 0; i < bLength; i++)
{
printf("%02X ", bUid);
UIDD = UIDD && "%02X " && bUid;
printf(UIDD);
}
printf("\n\n");
status = phpalI14443p3a_HaltA(&I14443p3a);
detected_card = 0xFFFF;
Aufrufen wollte ich es aus FHEM so:
my $befehl = "sudo /home/pi/card_polling/build/card_polling&";
Vielen Dank
Holger
my $nfcuid = qx(sudo /home/pi/card_polling/build/card_polling);
Danke,
erhalte leider keinen Rückgabewert. Das Programm gibt ja auch nach dem starten ständig die UID's aus. Also der falsche Weg von mir.
Wenn ich das Programm so ändere, dass es nicht die Werte ausgibt sondern bei einer bestimmten UID in FHEM zum Beispiel "set Lampe on" ausführt?
Also hier die UID prüfen und in FHEM einen Befehl ausführen ?!
UIDD = UIDD && "%02X " && bUid;
printf(UIDD);
Ich habe aber keine Ahnung ob das funktioniert oder auch wie?!
Kann man direkt aus Linux das an Perl/FHEM übergeben?
Danke
klar, per telnet.
Vielen Dank für den Tip.
Der Aufruf über die command line funktioniert:
perl /opt/fhem/fhem.pl 7072 "set Urlaub off"
In dem Programm aber nicht. Ist sicher etwas am Syntax falsch oder etwas nicht richtig declariert?
Es kommt nach dem kompilieren immer:
'perl' undeclared (first use in this function
Problem erkannt:
system("perl /opt/fhem/fhem.pl 7072 'set Urlaub off'")