Да, это возможно.Вы можете использовать SSH-клиент, такой как Chilkat.Ssh или Asmodat.Standard.SSH.NET в приложении UWP, чтобы подключиться к Raspbian, а затем отправить команду выключения / перезагрузки (например,sudo shutdown –h now
) к нему.Asmodat.Standard.SSH.NET, если бесплатная библиотека, но Chilkat.Ssh нет.Вы можете найти некоторые другие библиотеки SSH, которые могут поддерживать .Net Standard 2.0 / UAP 10.
Обновление:
Следующий фрагмент кода с использованием Asmodat.Standard.SSH.NET библиотека.Он работает в моем приложении UWP, работающем в Windows IoT Core.
C # :
private async void ButtonReboot_Click(object sender, RoutedEventArgs e)
{
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async () =>
{
using (var client = new SshClient("xxx.xxx.xxx.xxx", "xx", "xxxxxxx"))
{
client.Connect();
var command = client.CreateCommand("sudo reboot -f");
var asyncResult = command.BeginExecute();
var reader = new StreamReader(command.OutputStream);
while (!asyncResult.IsCompleted)
{
await reader.ReadToEndAsync();
}
command.EndExecute(asyncResult);
client.Disconnect();
}
});
}
VB.NET
Private Async Sub ButtonReboot_Click(sender As Object, e As RoutedEventArgs)
Await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
Async Sub()
Using sClient = New SshClient("XXX.XXX.XXX", "XX", "XXXX")
sClient.Connect()
If sClient.IsConnected Then
Dim sCommand = sClient.CreateCommand("sudo reboot -f \r\n")
Dim asyncResult = sCommand.BeginExecute()
Dim reader = New StreamReader(sCommand.OutputStream)
While Not asyncResult.IsCompleted
Await reader.ReadToEndAsync()
End While
sCommand.EndExecute(asyncResult)
Debug.WriteLine("Reboot")
sClient.Disconnect()
End If
End Using
End Sub)
End Sub