Yazılım

Raspberry Pi’de C# Uygulamalarını Çalıştırma

Merhabalar;
Bu yazımda Raspberry Pi gibi Linux işletim sistemi yüklü cihazlarda alışık olduğumuz C# ile yazılmış Windows uygulamalarının nasıl çalıştırılabileceğini anlatacağım.

Aslında Linux’da C# ile proje yapmak istiyorsak .Net Core kullanmak en doğru yöntem fakat .Net Core öğrenmek için henüz fırsat bulamayan geliştiricilerin veya önceden yazılmış küçük programlarını Raspberry Pi’de çalıştırmak isteyenlerin çok işine yarayacak olan “Mono” ile exe dosyalarının nasıl yürütüleceğine bakalım.

Not: Öncelikle büyük programların ki aslında büyükten kastım içerisinde farklı 3. parti tool’lar kullandığınız veya henüz Mono tarafından desteklenmeyen işlevlerin olduğu programlarda sorunlar yaşayabilirsiniz.

Rasppbery Pi cihazımıza ssh bağlantı yaparak öncelikle güncel versiyon kullandığımızı kontrol edelim

sudo apt-get update
sudo apt-get upgrade

Şimdi “Mono” kurarak devam ediyoruz;

sudo apt-get install mono-runtime

Mono uygulamalarımızda Rest çağrıları yapabilmek için kök sertifikası eklememiz gerekiyor

sudo mozroots --import --ask-remove --machine

Şimdi Visual Studio ile bir Console Application projesi oluşturuyoruz, ve klasik “Merhaba Dünya” uygulamamızı kodluyoruz.

public class MerhabaDunya
    {
        static public void Main()
        {
            Console.WriteLine("İlk Raspberry Pi C# Uygulamama Hoşgeldiniz");
        }
    }

WinForm uygulamalarını da çalıştırabilirsiniz, fakat winform uygulaması çalıştırmak istiyorsanız uzak ssh kullanamazsınız, Raspberry Pi’ye bir ekran, klavye ve mouse bağlayarak veya VNC ile remote bağlantı sağlayarak kendi üzerinden konsola girerek aşağıda vereceğim kodları çalıştırmanız gerekecektir. Aksi taktirde “Display” ile alakalı hata dönecektir, ssh bağlantıda hangi ekran da programı göstereceğini belirleyemez.

C# uygulamazı derliyoruz ve Debug klasöründeki dosyaları Raspberry Pi’ye kopyalıyoruz, kopyalama işlemi için WinSCP programını indirebilirsiniz.

WinSCP’yi indirip kurduktan sonra Raspberry Pi Ip adresimiz, kullanıcı adımız ve şifremiz ile SFTP bağlantısı sağlıyoruz

Bağlantı sağlandıktan sonra Raspberry Pi dizinleri karşımıza geliyor burada “MonoDebug” isminde klasör oluşturarak derlediğimiz dosyaları içerisine yapıştıralım.

Şimdi ssh bağlantımız ile bu klasör dizinine gidelim ve şu komutları çalıştıralım.

mono MonoDemo.exe

Ali UYSAL

IT alanında 16 sene önce donanım ile başlayan tecrübem, network ve sonrasında iş analizi, yazılım geliştirme ve proje yöneticiliği alanlarında devam etmiştir. Endüstriyel yazılımlar, sahadan veri toplama ve analizleri, otomatik etiketleme ve barkod sistemleri, otomatik tartım ve robotik konularında tecrübe sahibiyim. Sanayi 4.0 kapsamında imalat sanayinin dijital dönüşümünde çok fazla projenin hayata geçmesini sağladım.Open Source projelerle uzun süre ilgilendim, analiz ve implementasyonu konularında tecrübe edindim. Bunlar dışında hobi amacıyla başlasam da sonradan ürüne dönüşen, geliştirme kartları ile farklı çalışmalarım olmuştur.Raspberry Pi üzerinde yaptığım donanımsal ve yazılımsal işler ile çok farklı ürünler ortaya çıkartarak tecrübe edindim.

İlgili Makaleler

6 Yorum

  1. gelşitirdiğimzi form uygulamalrını raspberry pi de çalıştırabilir miyiz?

  2. Merhaba hocam , peki C# kodumuzdaki .dll dosyalarını bu yöntemle kullanırsak herhangi bir sıkıntı yaşar mıyız?

    1. Mono’nun izin verdiği özelliklere kadar dll’de kullanabilirsiniz. Ama sıkıntı yaşar mıyız sorusu biraz karışık. Yaşamazsınız diyemem Mono halen gelişiyor fakat daha .net üzerinde desteklemedikleri desteklediklerinden çok daha fazla.

  3. sudo mozroots –import –ask-remove –machine sorgulamalarını yaptığımda böyle bir komut bulunamadı diyor neden acaba.

  4. Büyük ihtimalle sudo apt-get install mono-runtime sırasında bir sıkıntı çıktığı için sonraki adımda mozroots komutunu kullanamıyorsunuz. tekrar sudo apt-get install mono-runtime çalıştırın sorunsuz tamamlanıyor mu hata alıyor musunuz kontrol edin.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu