arkadaşlar merhaba,
bir projem için bilgisayar arayüzü yapmayı düşünüyorum.
bu benim için ilk olacak daha önce hiç bu yönde çalışmadım.
bilgisayar üzerinden hem veri gönderme hem de verileri alma işlemleri yapacağım.
dediğim gibi daha önce hiç tecrübem olmadığı için önce öğrenmem gerek, zamanla ilgili sorunum yok bir yerden başlamak gerekir.
Görsel olarak düzgün birşey olmasını istiyoum.
hangi program/derleyici, hangi dil uygun olur?
işletim sistemi windows olarak düşünerek C# ile başlayabilirsiniz. Görsel arayüz, örnek kodlar, donanımla ilgili port okuma gibi konularda forumlarda kolaylıkla örnekler bulabilirsiniz. Alternatif olarka visual basic, visual c++, java örnekleri de olabilir. En pratiği bence c# . İşletim sisteminden bağımsız olacak derseniz orada işler karmaşıklaşıyor. Donanımdan okuyacağınız veriyi linux için macos için android için görüntüleyecek bir arayüzün en pratiği web ortamında bulunur. bu durumda da farklı çözümler mevcut.
Alıntı yapılan: erdcan - 22 Ekim 2020, 17:06:11işletim sistemi windows olarak düşünerek C# ile başlayabilirsiniz. Görsel arayüz, örnek kodlar, donanımla ilgili port okuma gibi konularda forumlarda kolaylıkla örnekler bulabilirsiniz. Alternatif olarka visual basic, visual c++, java örnekleri de olabilir. En pratiği bence c# . İşletim sisteminden bağımsız olacak derseniz orada işler karmaşıklaşıyor. Donanımdan okuyacağınız veriyi linux için macos için android için görüntüleyecek bir arayüzün en pratiği web ortamında bulunur. bu durumda da farklı çözümler mevcut.
şu an için windows işletim sistemi için olacak. ilerde ne olur bilemem
İşletim sistemi farketmeksizin python + qt ya da pyqt ile kolay şekilde kod geliştirip veri al-gönder yaparsınız. Seri port usb çeviriciler ile kullanımı kolay olması sebebiyle seri port iletişimden başlayabilirsiniz.
İşletim sisteminden bağımsız olarak
çalışan Python' u öneririm.
PySimpleGUI (https://pypi.org/project/PySimpleGUI/) arayüze başlamanız için
basit bir giriş olur. Yetmediğinde
nelere ihtiyacınız olduğunu zaten
öğreneceksiniz.
Python'un bayt, bit işlemlerini hiç sevmiyorum. İmkansız değil, yapılabiliyor. Ama bence çok çirkin bir tarzı var ve sürekli de unutup duruyorum. Her seferinde tekrar web sitelerinde dolaşmak zorunda kalıyorum. C benzeri bir dilin casting ve pointer konforunu kesinlikle vermiyor. Daha dün USB'den bir integer'ı 4 bayt olarak gönderip almaya çalıştım, maymun oldum işin içinden çıkana kadar. struct, unpack, array, bunlar için dönüşüm string'leri falan bir dolu saçma sapan şeyle uğraşmak gerekiyor. Tam "yaptım galiba" dedim, baktım negatif sayı verince program göçüyor...
Python'u yüksek seviyede kullanmak konforlu ve tercih edilebilir. Belki alt seviye iletişim kısımlarını C ile yazıp bu kodu ana Python programına bağlayabilirsin. Ben denemedim ama mümkün olması lazım.
Alıntı yapılan: Tagli - 22 Ekim 2020, 18:35:58Python'un bayt, bit işlemlerini hiç sevmiyorum. İmkansız değil, yapılabiliyor. Ama bence çok çirkin bir tarzı var ve sürekli de unutup duruyorum. Her seferinde tekrar web sitelerinde dolaşmak zorunda kalıyorum. C benzeri bir dilin casting ve pointer konforunu kesinlikle vermiyor. Daha dün USB'den bir integer'ı 4 bayt olarak gönderip almaya çalıştım, maymun oldum işin içinden çıkana kadar. struct, unpack, array, bunlar için dönüşüm string'leri falan bir dolu saçma sapan şeyle uğraşmak gerekiyor. Tam "yaptım galiba" dedim, baktım negatif sayı verince program göçüyor...
Python'u yüksek seviyede kullanmak konforlu ve tercih edilebilir. Belki alt seviye iletişim kısımlarını C ile yazıp bu kodu ana Python programına bağlayabilirsin. Ben denemedim ama mümkün olması lazım.
Abi çok haklısın. C ile 2 dk tanımladığım değişkeni tanımlamak için pythonda 2 hafta takla attım. Sonra namedtuple + 2 satır başka bir kod ile yaptım ama C'nin gözünü seveyim dedirtti.
Diğer taraftan 4 satır kod ile veritabanı oluşturma, 4 satır kod ike ekle sil güncelle yapma, 3-4 satır ile port aç, kontrol et veri al-gönder. Bu işlemler çok basit. Hele ki gps verisi parse etmek çocuk oyuncağı.
Aynı kodun path revizeleri ile raspberry pi, omega2+ vb taşınabilir ortamlarda hatta pille çalışan cihazlarda çalışması güzel bir özellik.
Her dilin avantaj ve takoz tarafları maalesef var.
Platform ayrı dert, platform bağımsız ayrı sıkıntılı.
Kolay bir yerden başlayıp hız kesmeden ilerlemeye çalışmak lazım. Tabi ki oldukça vakit alıcı bir iş.
Bir durum mu var Python ile ilgili, siz Hayırdır ?
Qt ve C++.
Diğerleri ancak bunun getir götürünü yapar.
Alıntı yapılan: brandice5 - 23 Ekim 2020, 00:41:14Qt ve C++.
Diğerleri ancak bunun getir götürünü yapar.
Hedefe ve imkana uygun araç kullanmaktır doğru olanı. Şu dil iyi bu dil kötü demek çok doğru bir değerlendirme değil. PC üzerinde hemen tüm dillerde söylenenler yaklaşık aynı çabayla yapılabilir. Hangi dile yönelseniz mecburen o dilin kütüphanelerini öğreneceksiniz.
Biraz fazla efor harcayıp C++ öğrenmek güzel bir yatırım olur lakin basit bir iş için de kafayı gözü yarmaya da gerek yok.
Ben de zaten hedef ve amaca uygun arac onerdim.
Arkadasin bahsettigi proje kafa goz yarilacak bir proje degil.
Merhaba,mesaj kutunuza bazı linkler attım. Arzu ederseniz bakın lütfen.
Visual stüdyo indirmek ve arayüzünü öğrenmekle baslayin bence :)
Son birkaç gündür Kotlin ile uğraşıyorum. Kitabın ortasından başladım.
Kalıtım nedir, yapıcı nedir, aşırıYükleme nedir, fonksiyon sınıf metod nedir, nullable tip nedir, olay nedir atladım. Dilin yazım kurallarına biraz baktım. Hemen örneklere geçtim.
Bunu neden yazdım, bir dil i "orta üst seviyede" biliyorsanız yeni bir dil kolay öğrenilir. Yok bilmiyorsanız kütüphanelerine/modüllerine kolay ulaşabileceğiniz, öğrenmesi kolay, bol örnek bulabileceğiniz bir dil olsun.