ich habe die anderen Beiträge zum Ausführen von Linux-Befehlen am Raspberry alle durchgelesen.
Ich denke auch dass ich die Einstellungen alle richtig habe.
da ist (eher versehentlich) von uns (3S) schon eine Sektion [SysProcess]
weiter oben in dem File... wenn du nun unten am Ende noch eine Sektion anlegst... hilft des nix
Also prüfe das bitte mal ...
und 2. kopiere dein script codesys_ping nach /usr/bin/
Grüße
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
IF PingButton THEN
SysProcess._('ls', ADR(Result));
PingButton:=FALSE;
waittime:=waittime+1;
END_IF
als Befehl übergebe, den waittimer habe ich mal eingebaut damit ich auch sehe dass es von der Funktion her passt, dann bekomme ich als Result wieder 25.
der Befehl cat /tmp/codesyscontrol.log gibt keinen rückgabewert.
Die Datei hat auch die größe 0 Byte, und ist leer.
Als ob der Befehl überhaupt nicht angenommen wird.
In meinem "script" steht folgendes:
#!/bin/bash
# Pro Programmaufruf (Scriptaufruf) wird ein ping gesendet.
ping -c 1 10.10.10.99 > /home/pi/cmdresults/ping.txt
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
das Problem ist, das man keinen '>' in den commandos verwenden darf nur einzelne Befehle...
ein Ping alleine wird funktionieren.
Musst du unbedingt das Ergebnis in einer Datei haben?
Grüße
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Also ich brauche die Ping Antwort nicht unbedingt in einer Datei.
Was ich auswerten will ist letztendlich ob der Partner den ich anpinge da ist oder nicht.
Und dementsprechend möchte ich dann dem Raspberry den Befehl "poweroff" übergeben.
Nur leider akzeptiert das Raspi bei mir keine Eingaben. Weder "ls" noch "mkdir" etc... habe mal ein paar Befehle probiert.
Als Rückgabewert erhalte ich immer die 25. Das logfile unter tmp bleibt leider auch leer.
Irgendwo ist hier noch der wurm drin.
ps: Am raspi selbst funktioniert der Befehl einwandfrei.
Gruß
Wastl
pss: Mir ist gerade noch was eingefallen... Ich habe das passwort für den root user geändert. Kann es evtl daran noch liegen?
Anmerkung:
Habe das selbe jetzt nochmals auf einem anderen Raspi, einem Raspberry Pi 2 getestet.
Nach einem Neustart (also nach der Änderung in der CODESYSCONTROL.cfg) funktioniert hier die Befehlseingabe.
-> Und NUN funktioniert es auch am alten Raspi b+!
Für alle anderen mit den Befehlseingabeproblemen -> nach einer Änderung in der CODESYSCONTROL.cfg sollte man einen neustart durchfürhen!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
// e ttt@ttt.de e geht nich
// ftp_upload_str := 'ftp-upload -h 172.18.200.19 -u anonymous --password e ttt@ttt.de e -d /array1/CE/Daten/RPI/ ';
ftp_upload_str := 'ftp-upload -h 172.18.200.19 -u anonymous --password ttt_ttt.de -d /array1/CE/Daten/RPI/ ';
ftp_upload_str := concat(ftp_upload_str, sFileNameCopy);
// klappt nich ftp_upload_str := concat(ftp_upload_str, ' &');
klappt nur mit @ und dem & hatte ich Probleme.
Aber @ brauchte ich im Passwort nicht und & dank anderem Task auch nicht.
Man muß halt mit ' und " arbeiten.
bis dann
Klaus
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Leute,
ich habe die anderen Beiträge zum Ausführen von Linux-Befehlen am Raspberry alle durchgelesen.
Ich denke auch dass ich die Einstellungen alle richtig habe.
Was habe ich bereits gemacht:
Eintrag in der /etc/CODESYSControl.cfg
[SysProcess]
Command=AllowAll
Command.0=codesys_ping
Installierte Bibliotheken
SysProcess 3.5.5.0 (System)
InCodesys:
IF PingButton THEN
SysProcess._('codesys_ping', ADR(Result));
PingButton:=FALSE;
END_IF
Wenn ich das Script per Putty ausführe (also einfach nur codesys_ping eingeben) funktioniert es einwandfrei.
Das Script ist mit chmod 0777 hinterlegt.
Mein Programm zum Anpingen rufe ich über einen eingenen Task auf (20ms).
Als Result erhalte ich immer 25.
Woran kann das noch liegen?
ps: ich habe das Raspi auch schonmal neu gestartet.
Gruß
ColonelWastl
Hi,
bitte schau nochmal in die CODESYSControl.cfg
da ist (eher versehentlich) von uns (3S) schon eine Sektion
[SysProcess]
weiter oben in dem File... wenn du nun unten am Ende noch eine Sektion anlegst... hilft des nix
Also prüfe das bitte mal ...
und 2. kopiere dein script codesys_ping nach /usr/bin/
Grüße
Edwin
Ich versteh dich jetzt nicht genau?
Das Script habe ich unter /usr/bin hinterlegt.
Was meinst du mit Sektion?
Wenn du meinst dass ich unten in die Codesyscontrol.cfg nochmals ein SysProcess hinzugefügt habe, muss ich das verneinen.
Ich habe den bereits vorhandenen Eintrag verwendet.
also:
.
.
.
[_]
Linux.DisableFpuOverflowException=1
Linux.DisableFpuUnderflowException=1
Linux.DisableFpuInvalidOperationException=1
[SysProcess]
Command=AllowAll
Command.0=codesys_ping
.
.
.
Gruß
Colonel
Hi,
dann müsste es passen...
schau mal was in /tmp/codesyscontrol.log steht.
cat /tmp/codesyscontrol.log
nachdem du mehrmals das script über CODESYS aufgerufen hast.
mach doch mal einen einfachen 'ls' in CODESYS... statt deines scriptes da müsste man im log das ausführen des ls commandos sehen.
Was steht genau in codesys_ping ?
Grüße
Edwin
hmm...
wenn ich jetzt:
IF PingButton THEN
SysProcess._('ls', ADR(Result));
PingButton:=FALSE;
waittime:=waittime+1;
END_IF
als Befehl übergebe, den waittimer habe ich mal eingebaut damit ich auch sehe dass es von der Funktion her passt, dann bekomme ich als Result wieder 25.
der Befehl cat /tmp/codesyscontrol.log gibt keinen rückgabewert.
Die Datei hat auch die größe 0 Byte, und ist leer.
Als ob der Befehl überhaupt nicht angenommen wird.
In meinem "script" steht folgendes:
#!/bin/bash
# Pro Programmaufruf (Scriptaufruf) wird ein ping gesendet.
ping -c 1 10.10.10.99 > /home/pi/cmdresults/ping.txt
Hi,
das Problem ist, das man keinen '>' in den commandos verwenden darf nur einzelne Befehle...
ein Ping alleine wird funktionieren.
Musst du unbedingt das Ergebnis in einer Datei haben?
Grüße
Edwin
Also ich brauche die Ping Antwort nicht unbedingt in einer Datei.
Was ich auswerten will ist letztendlich ob der Partner den ich anpinge da ist oder nicht.
Und dementsprechend möchte ich dann dem Raspberry den Befehl "poweroff" übergeben.
Nur leider akzeptiert das Raspi bei mir keine Eingaben. Weder "ls" noch "mkdir" etc... habe mal ein paar Befehle probiert.
Als Rückgabewert erhalte ich immer die 25. Das logfile unter tmp bleibt leider auch leer.
Irgendwo ist hier noch der wurm drin.
ps: Am raspi selbst funktioniert der Befehl einwandfrei.
Gruß
Wastl
pss: Mir ist gerade noch was eingefallen... Ich habe das passwort für den root user geändert. Kann es evtl daran noch liegen?
Anmerkung:
Habe das selbe jetzt nochmals auf einem anderen Raspi, einem Raspberry Pi 2 getestet.
Nach einem Neustart (also nach der Änderung in der CODESYSCONTROL.cfg) funktioniert hier die Befehlseingabe.
-> Und NUN funktioniert es auch am alten Raspi b+!
Für alle anderen mit den Befehlseingabeproblemen -> nach einer Änderung in der CODESYSCONTROL.cfg sollte man einen neustart durchfürhen!
Moin
// e ttt@ttt.de e geht nich
// ftp_upload_str := 'ftp-upload -h 172.18.200.19 -u anonymous --password e ttt@ttt.de e -d /array1/CE/Daten/RPI/ ';
ftp_upload_str := 'ftp-upload -h 172.18.200.19 -u anonymous --password ttt_ttt.de -d /array1/CE/Daten/RPI/ ';
ftp_upload_str := concat(ftp_upload_str, sFileNameCopy);
// klappt nich ftp_upload_str := concat(ftp_upload_str, ' &');
bis dann
Klaus