Aktivierung und Deaktivierung eines systemd-Dienstes in Python mit DBus

Der kommende picockpit-client reagiert auf Löschvorgänge des Frontends, indem er seinen Dienst deaktiviert (die Anwendung bleibt jedoch installiert). Wenn Sie sich entscheiden, picockpit-client connect erneut zu starten, wird der Dienst wieder aktiviert und automatisch für Sie gestartet. Dies ist über die Python DBus-Schnittstelle möglich. Der DBus ist ein Bussystem zur Interaktion mit...

Weiterlesen

sichere Befehlsausführung mit Python: subprocess.Popen

Sicherheit ist mir bei der Entwicklung des PiCockpit-Clients wichtig. Das Folgende gilt für Linux-Systeme (ist aber wahrscheinlich auf alle Unix-ähnlichen Systeme anwendbar, einschließlich macOS) Python erlaubt es, externe Befehle mit dem Modul subprocess auszuführen. import subprocess In der kommenden Version von PiCockpit werden Benutzer in der Lage sein, ihre eigenen Schaltflächen zu erstellen (einfach...

Weiterlesen

TermiShell: eine webbasierte Shell für den Raspberry Pi (Entwicklungsnotizen)

Einleitung Im Zuge der Entwicklung von PiCockpit werde ich ein webbasiertes Terminal namens TermiShell hinzufügen. TermiShell Symbol, von: Stephanie Harvey via unsplash.com TermiShell wird es ermöglichen, sich über PiCockpit.com (und den PiCockpit-Client) in den Raspberry Pi einzuloggen - ohne zusätzliche Anwendungen auf beiden Seiten. Das sollte sehr komfortabel sein,...

Weiterlesen

Python Paho MQTT-Client selbstsignierte Zertifikate Websockets, howto

Die Verwendung von Paho in Python mit Websockets und selbstsignierten Zertifikaten für eine https:// Websocket-Verbindung birgt einige Fallstricke, die ich hier mit etwas Beispielcode angehe: import ssl import time import paho.mqtt.client as mqtt class PCPMQTTClient: def on_connect(self, client, userdata, flags, rc): self.connection_status = rc if rc == 0: self.connected_flag = True self.connection_error_flag...

Weiterlesen