Heim  >  Fragen und Antworten  >  Hauptteil

Das Python-WoL-Skript kann auf der Synology RS1221+ nicht ausgeführt werden, läuft aber erfolgreich auf dem QNAP TS-219P II

Ich bin relativ neu in Python und verstehe nicht, warum das gleiche Skript nicht auf meinem RS1221+ NAS läuft, sondern auf dem QNAP ts-219p ii ohne Probleme. Es handelt sich um ein WoL-Skript, das dazu dient, einen bestimmten PC über eine HTML-Seite zu öffnen. Sie drücken ein PNG-Bild, das dann ein PHP-Skript aufruft, das wiederum das besagte Python-Skript aufruft.

Ich habe gerade die PHP- und Python-Skripte von einem Kollegen kopiert. Es funktioniert mit dem QNAP ts-219p NAS-System, jedoch nicht mit dem neueren RS1221+. Die folgenden Pakete sind auf dem neuen System installiert: Python 3.9, Node.js v 18 und PHP 8.0.

In Web Station auf RS1221+ ist Python aktiviert und erscheint grün. Im Bereich „Bearbeiten“ ist auch das Modul „wakeonlan“ Version 3.0.0 installiert.

Dies ist das PHP-Skript, das das Python-Skript aufruft (wobei x ein Platzhalter ist und für Mac für den PC geändert wurde, den ich öffnen möchte). Meine Netzwerkadresse ist 192.168.0.1 /23:

<?php
system ( "python wake.py 192.168.1.255 XX:XX:XX:XX:XX:XX");
header ("Location:index.html");
?>

Hier ist mein Python-Skript (wake.py) für WoL, das heißt und auf dem Server laufen soll:

import socket
import sys
 
if len(sys.argv) < 3:
    print("Usage: wakeonlan.py <ADR> <MAC>     (example: 192.168.1.255 00:11:22:33:44:55)")
    sys.exit(1)
 
mac = sys.argv[2]
data = ''.join(['FF' * 6, mac.replace(':', '') * 16])
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.sendto(data.decode("hex"), (sys.argv[1], 9))

Ich habe versucht, das Python-Skript so zu ändern, dass es ein anderes Modul verwendet:

from wakeonlan import send_magic_packet

send_magic_packet('XX-XX-XX-XX-XX-XX')

Aber das funktioniert auch nicht. Wie gesagt, ich bin kein Python-Guru, deshalb würde ich mich über jeden Rat freuen.

P粉395056196P粉395056196244 Tage vor439

Antworte allen(1)Ich werde antworten

  • P粉955063662

    P粉9550636622024-02-18 09:14:58

    对于任何回到这个问题的人:

    使用这个https://pypi.org/project/wakeonlan/包解决了Python问题我遇到的所有问题。

    Antwort
    0
  • StornierenAntwort