abilitare e disabilitare un servizio systemd in Python usando DBus

Il prossimo picockpit-client reagisce agli eventi di cancellazione dal frontend disabilitando il suo servizio (l'applicazione rimarrà comunque installata). Allo stesso modo, quando decidi di eseguire di nuovo picockpit-client connect, il servizio sarà riabilitato e avviato automaticamente per te. Questo è possibile utilizzando l'interfaccia DBus di Python. il DBus è un sistema di bus per interagire...

Weiterlesen

esecuzione sicura dei comandi con Python: subprocess.Popen

La sicurezza è importante per me durante lo sviluppo di picockpit-client. Quanto segue si applica ai sistemi Linux (ma probabilmente è applicabile a tutti i sistemi Unix like, incluso macOS) Python permette di eseguire comandi esterni utilizzando il modulo subprocess. import subprocess Nella prossima versione di PiCockpit, gli utenti saranno in grado di creare i propri pulsanti (semplicemente...

Weiterlesen

TermiShell: una shell basata sul web per il Raspberry Pi (note di sviluppo)

Introduzione Nel corso dello sviluppo di PiCockpit, ho intenzione di aggiungere un terminale basato sul web chiamato TermiShell. Icona di TermiShell, di: Stephanie Harvey via unsplash.com TermiShell ti permetterà di accedere al tuo Raspberry Pi usando PiCockpit.com (e il picockpit-client) - nessuna applicazione aggiuntiva richiesta da entrambe le parti. Questo dovrebbe essere molto comodo,...

Weiterlesen

Python Paho MQTT client autofirmato certificati websockets, howto

Usare Paho in Python con websockets e certificati autofirmati per una connessione websocket https:// ha un paio di insidie, così sto affrontando questo con un po' di codice di esempio qui: 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

envoy, docker e websockets - debug e configurazione

I websockets sono una tecnologia eccitante, che permette di aggiornare una connessione HTTP a una connessione binaria persistente di lunga durata, che si può usare per inviare messaggi bidirezionali. Per inciso, il protocollo MQTT può essere trasportato utilizzando websockets - che è l'unico (?) modo per un client JavaScript consegnato dal sito web, per esempio. In...

Weiterlesen

Introduzione al protocollo SNAP

Introduzione S.N.A.P. è un protocollo per la comunicazione tra diversi host collegati. Fornisce: - indirizzamento - bandiere - richiesta ack/nak - rilevamento degli errori (sono disponibili diversi metodi di rilevamento degli errori) Può essere eseguito su diversi supporti, inclusa la RS485. È ottimizzato per un piccolo ingombro (risorse di calcolo e di memoria limitate), ma scalabile a seconda delle vostre esigenze. Fondamentalmente,...

Weiterlesen

Impacchettare progetti Python per Debian / Raspbian con dh-virtualenv

Questo articolo ha lo scopo di spiegare alcune cose agli sviluppatori che non usano molto Python, e potrebbero lottare con alcuni dei concetti altrimenti. Consiglio vivamente la lettura del seguente articolo come introduzione ai concetti discussi qui: https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/ pypi.org pypi.org è un repository ufficiale di software per il linguaggio di programmazione Python....

Weiterlesen