Vuetify :: Aprire programmaticamente la riga di dettaglio

Per il prossimo rilascio di PiCockpit v2.0, sto preparando un'applicazione GPIO. Le voci GPIO sono righe di tabella - e per configurarle, vogliamo essere in grado di accedere alla riga di dettaglio cliccando sul pulsante di configurazione: cliccando o il chevron o il pulsante di configurazione si aprirà la riga di dettaglio: Qui...

Weiterlesen

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

Come impostare gli id unici degli oggetti nei documenti incorporati in una collezione MongoDB

L'updateMany di MongoDB può essere usato per aggiornare tutti i documenti che corrispondono. Problema Se, tuttavia, vuoi impostare nuovi ObjectID unici nel tuo aggiornamento, scopriresti che MongoDB imposta lo stesso ObjectID per ogni voce: db.getCollection('mypis_collectedpis').updateMany({}, {$set: {apps: { "com.picockpit/core": { meta: { version: "2.0", nome: "PiCockpit Core", immagine: "", descrizione: "PiCockpit.com...

Weiterlesen

passare da JSON a MsgPack in modo compatibile all'indietro con Paho MQTT (JavaScript)

picockpit.com fa largo uso di MQTT. Per la prossima versione 2.0 ho deciso di passare a MsgPack. Perché MsgPack? MsgPack (in realtà chiamato MessagePack - i pacchetti tendono ad usare MsgPack) è un formato binario, volto alla compatibilità con JSON, ma diminuendo la dimensione del file (il che è un bene per risparmiare banda e risorse del server). Un altro vantaggio:...

Weiterlesen

correzione di envoy per servire grandi file dal backend / timeout / download interrotti

I clienti si lamentavano di non essere in grado di scaricare grandi file dai nostri siti web (ad esempio PiDoctor su PiCockpit.com). Inizialmente non potevo replicare il problema localmente, i file sembravano scaricare bene. Dopo ulteriori indagini ho determinato che i download venivano interrotti dopo un certo tempo - a seconda della velocità di download, quindi,...

Weiterlesen

Trattare con NIL in JSON::Any in Crystal Lang

Una delle sfide quando si sviluppa con Crystal è che non è così indulgente sui tipi di dati come, diciamo, Python o Ruby. nil vi terrà occupati. Il seguente messaggio di errore: cast from Nil to String failed, at /usr/share/crystal/src/json/any.cr:220:5:220 può essere risolto da: # cast to string, poi controlla se è nil se...

Weiterlesen

Codice di uscita di Chromium -5

Mentre l'esecuzione di Chromium con chromium-browser -display=:0 https://www.picockpit.com vi permetterà di avviare Chromium da una connessione SSH (e l'output sul display principale nel server X), questo fallirà quando proverete a eseguirlo con subprocess.Popen in Python: "comando": ["chromium-browser", "-display=:0", "https://picockpit.com"] (questo è parte del formato JSON che ho...

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

Creare file di configurazione in /etc nei pacchetti Debian

Attualmente sto lavorando ad una versione aggiornata di picockpit-client, che dovrebbe aggiungere ulteriori file di configurazione in /etc/picockpit-client per i singoli moduli (PiDoctor & PiControl). picockpit-client è un pacchetto Raspbian per picockpit.com, che collega la piattaforma web con il tuo singolo Raspberry Pi. Poiché Raspbian è basata su Debian, le seguenti informazioni sono valide per i pacchetti...

Weiterlesen