• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
il spegnere raspberry

Spegnere il Raspberry
#1
Questa è una sub (linguaggio B4J) che chiude una finestra sul desktop di un PC Windows 11.
Codice:
Sub MainForm_CloseRequest (EventData As Event)   Log("QUI BISOGNEREBBE SPEGNERE IL RASPBERRY")   vlc.stop   vlc.release End Sub
Tale finestra visualizza una stream video proveniente da un Raspberry.
La domanda è: come faccio a chiudere la sessione all'interno di questa sub ?
Poi ovviamente manualmente spengo il Raspberry azionando l'interruttore sull'alimentatore.
Grazie per l'attenzione.
Risposta
#2
Ho chiesto alla AI, suggerisce così:
Codice:
Sub MainForm_CloseRequest (EventData As Event) ' Arresta VLC vlc.stop vlc.release ' Spegni il Raspberry Pi Dim sh As Shell Dim indirizzo_IP As String = "192.168.1.100" ' Sostituisci con l'IP corretto Try sh.Initialize("bash", Array("ssh", "pi@" & indirizzo_IP, "sudo shutdown -h now")) sh.Run(-1) Log("Comando di spegnimento inviato con successo.") Catch Log("Errore nell'invio del comando.") End Try End Sub
Risposta
#3
Le varie intelligenze artificiali raramente indicano la soluzione esatta al primo colpo. Anzi, spesso si ostinano a proporre codice assai approssimativo.
Non è tua colpa beninteso, ma guarda cosa mi dice ChatGPT a proposto della soluzione da te riportata :
"Il codice B4J che ti è stato suggerito ha una buona logica, ma non può funzionare così com'è per diversi motivi tipici di ambienti Windows e SSH"
Questo viceversa funziona :

Codice:
Dim sh As Shell Dim IP As String = "192.168.xxx.yyy" Dim percorsoPlink As String = "C:\Program Files\PuTTY\plink.exe"  ' plink.exe è un'utility di putty  Try Dim args As List args.Initialize args.Add(IP) args.Add("-l") args.Add("nome utente del raspberry") args.Add("-pw") args.Add("password dell'utente") args.Add("sudo shutdown -h now") sh.Initialize("plink", percorsoPlink, args) sh.Run(-1) Log("Il comando è stato inviato") Catch Log("Errore nell'invio del comando.") End Try
Grazie comunque
Risposta
#4
non conoscendo B4J, ho pensato di pubblicare uno spunto da cui partire.
Se hai risolto, ottimo!
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect