Raspberry Pi ile C# SSH haberleşmesi

C# SSH ile Raspberry Pi üzerinde çalışmak

×

Eğer Raspbian OS kullanıyorsanız otomatik ssh sunucusu kurulu olacağından bir sorun teşkil etmeyecektir. Fakat Ubuntu Mate gibi bir sistemde ssh server varsayılan olarak kurulu gelmeyeceğinden bağlantı için ssh server kurulumu gerekecektir.

Öncelikle cihazınızda ssh server kurulu olmaması durumuna ilişkin, terminal ekranında;

Cihaz üzerinde yapmanız gereken birşey daha var;

Visual Studio üzerinde SSH bağlantısı nasıl sağlayabileceğimiz konusuna geçelim;

C# Form Uygulamamıza geçiyoruz;

Butonların içerisine yazacağımız kodlara geçelim;

Aç butonu için kodlarımız;

try
            {
                using (var client = new SshClient("192.168.2.140", "user", "passwOrd"))
                {
                    client.Connect();
                    SshCommand cmd = client.RunCommand("python /var/www/html/test_on.py");
                    cmd.Execute();
                    client.Disconnect(); client.Dispose();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("SSH Bağlantı sorunu oluştu !");
            }

Kapat butonu için kodlarımız;

try
            {
                using (var client = new SshClient("192.168.2.140", "user", "passwOrd"))
                {
                    client.Connect();
                    SshCommand cmd = client.RunCommand("python /var/www/html/test_off.py");
                    cmd.Execute();
                    client.Disconnect(); client.Dispose();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("SSH Bağlantı sorunu oluştu !");
            }

Raspberry Pi'ye komutları terminal üzerinden göndermiş olduk. Buton üzerinden ssh ile gönderdiğimiz komutlar 5sn gecikmeli olarak çalışabilmektedir, bunun sebebi connection ile komut yollamayı using ile tek bir buton üzerinde yazmış olmamızdan dolayıdır. Aksi bir durum olmadığında anlık çalışmaktadır.

Not: Eğer openssh-server kurmadan cihaza bağlanmak isterseniz, C# üzerinde System.Net.Sockets.SocketException hatası alacağınızı unutmamanızı hatırlatmış olayım.

Bu Makaleyi kendimden de birşeyler katarak, Tarık Kızıltan'ın ricası ve kendi döküman notlarından da yararlanarak hazırladım. Emeğinden ve Makale paylaşımı için kendisine ayrıca teşekkür ediyorum.

💬 Yorumlar
Henüz yorum yapılmamış. İlk yorumu sen yap! 👆