Steuerung SVXLink per PHP

  • Moin moin,


    ich habe mir mal eine einfache Weboberfläche gebastelt zur Steuerung vom SVXLink. Benötigt wird hierfür apache2 und php:


    sudo apt update


    sudo apt install apache2


    sudo apt install php libapache2-mod-php php-mysql


    der Benutzer muss noch von www-data auf svxlink geändert werden das geht mit:


    sudo nano /etc/apache2/envvars


    und hier die Zeilen


    export APACHE_RUN_USER=www-data


    export APACHE_RUN_GROUP=www-data


    auf


    export APACHE_RUN_USER=svxlink


    export APACHE_RUN_GROUP=svxlink


    ändern damit der Zugriff auf die die DTMF_CTRL_PTY klappt. Das ist nicht so ganz elegant, aber ich habe keine bessere Lösung gefunden.


    Dann noch


    sudo systemctl restart apache2


    machen oder einen Reboot vom System.


    Da ich einen VPN Tunnel zum Relais habe ist der Webserver nicht von außen zu erreichen. Somit nur über die VPN. Darauf sollte man achten.


    Wenn das installiert ist kann man im Verzeichnis /var/www/html folgende zwei Dateien anlegen:


    remote.php


    keyboard.php


    Die Dateien findet Ihr im angehängten ZIP File. In den Dateien müsst Ihr noch den Pfad zu der DTMF_CTRL_PTY anpassen. Bei mir ist das /home/svxlink/PTY/repeater_dtmf_ctrl und in der svxlink.conf muss das ganze natürlich aktiviert sein. Das Rufzeichen kann man dann auch noch oben Eintragen. In der remote.php sind noch die Buttons 7 und 8 wichtig, da muss der DTMF An- und Abschaltcode rein, steht derzeit auf 0000. Die Sprechgruppen etc. kann man natürlich auch seinen Wünschen entsprechend anpassen, einmal im php script und dann unten im html Teil. Natürlich kann man hier auch noch beliebige weitere Buttons Hinzufügen, mit EL Kurwahlen etc.


    Benutzung dieser Anleitung geschieht auf eigene Gefahr! Viel Spaß beim ausprobieren.

  • Moin Peter,

    mit Deiner Anleitung kann man es kaum falsch machen. Remote.php hat sofort funktioniert, bei keyboard.php war mir zunächst ein } im Weg (Zeile 14), danach funktioniert auch das.

    Der Code ist so einfach und übersichtlich, dass man schnell eigene Befehle realisieren kann.
    "Relais an" und Relais aus" steuert bei mir keinen Repeater, sondern GPIO18. Damit könnte einen Lüfter, ein Antennenrelais oder die Kaffeemaschine geschaltet werden. Dazu muss GPIO18 nur in /etc/svxlink/gpio.conf aktiviert werden und in der PHP-Datei angesteuert werden:

    Relais ein: shell_exec('echo 1 >/sys/class/gpio/gpio18/value');

    Relais aus: shell_exec('echo 0 >/sys/class/gpio/gpio18/value');

    Also vielen Dank für die Anregungen und das zusätzliche Bauklötzchen auf der unendlichen Spielwiese.

    Gruß, Matthias