Bu projemizde, kripto para piyasasını anlık takip edebileceğiniz bir Nextion HMI Kripto Takip Uygulaması geliştireceğiz. Ekranı doğrudan bilgisayara bağlayarak, herhangi bir harici mikrodenetleyiciye (Arduino, ESP32 vb.) ihtiyaç duymadan C# Windows Forms uygulaması üzerinden doğrudan seri haberleşme (UART) ile kontrol edeceğiz.
Modern endüstriyel otomasyon sistemlerinden akıllı ev otomasyonlarına, tıbbi cihazlardan hobi projelerine kadar geniş bir kullanım alanına sahip olan Nextion HMI (Human-Machine Interface) akıllı ekranlar, arayüz tasarımını son derece pratik hale getiren popüler donanımlardır.
Nextion HMI ekranımıza bilgisayar üzerinden veri gönderebilmek ve ekran komutlarını yönetebilmek için bir USB-TTL seri dönüştürücü modüle (örneğin CH340, CP2102 veya FT232RL) ihtiyacımız var. Donanım bağlantılarını tamamladıktan sonra, bilgisayarımızda aktif olan COM portu üzerinden iletişim döngüsünü hızlıca başlatabiliriz.

Tasarladığımız arayüzde yer alan verilerin yerleşimi şu şekildedir (Sol üstten aşağıya doğru):
- Bitcoin (BTC) kurumsal logosu,
- Güncel Bitcoin fiyatı (Tercih edilen API limitlerine göre anlık veya 15 dakika gecikmeli),
- Son 24 saatlik en yüksek/en düşük fiyat değişimleri,
- Son 24 saatlik toplam işlem hacmi,
- Verinin alındığı ana ait tarih ve saat (zaman damgası).
Arayüzün sağ alt köşesinde ise şu kontrol bileşeni yer almaktadır:
- Bağlantı Durum İndikatörü: Seri haberleşme hattında herhangi bir veri kaybı yaşanmıyorsa yeşil renk yanar. Bilgisayar ile ekran arasındaki bağlantı koptuğu anda ekran otomatik olarak “Çevrimdışı” uyarı sayfasına yönlendirilir.

Kripto Takip Uygulaması İçin Önemli Yasal Uyarı
Bu uygulamayı ve beraberindeki yazılımı kullanmadan önce mutlaka “Sermaye Piyasası Kurulunun Seri:V, No:55 Yatırım Danışmanlığı Faaliyetine ve Bu Faaliyette Bulunacak Kurumlara İlişkin Esaslar Hakkında Tebliği Uyarınca Yayımlanan Uyarı Notu” metnini incelemeniz gerekmektedir.
Kullanıcıların kendi iradeleriyle alacakları yatırım kararları ile bu projede ve web sitemizde yer alan veriler, analizler ve kod yapıları arasında herhangi bir bağ kurulamaz. Yazılımdaki verilere veya yorumlara dayanarak alınacak kararların doğurabileceği olası maddi/manevi zararlardan devreyakan.com ve GitHub kaynak kodu sahipleri hiçbir şekilde sorumlu tutulamaz.
Burada yer alan tüm piyasa analizleri, grafik değerleri ve yazılım çıktıları yatırım danışmanlığı kapsamında değerlendirilemez. Yatırım danışmanlığı hizmetleri, yetkili aracı kurumlar, portföy yönetim şirketleri veya mevduat kabul etmeyen bankalar ile müşteri arasında imzalanacak resmi sözleşmeler çerçevesinde sunulmaktadır. Bu projede sunulan bilgiler kişisel tercihlere ve eğitim amaçlı veri çekme süreçlerine dayanmaktadır ve mali durumunuz ile risk toleransınıza uygun olmayabilir. Dolayısıyla, sadece bu projeden çekilen verilere dayanarak finansal kararlar almanız beklentilerinize uygun sonuçlar doğurmayabilir.
Projede kullanılan varsayılan piyasa verileri Blockchain.info API altyapısı üzerinden çekilmekte olup, 15 dakika gecikmeli olarak iletilmektedir. Entegre edeceğiniz farklı veri sağlayıcılarına göre bu süre ve doğruluk oranları değişiklik gösterebilir.
Ayrıntılı bilgi için Yasal Uyarı Sayfamızı ziyaret edebilirsiniz.
Bu içerik yalnızca eğitim ve bilgi amaçlı olarak hazırlanmıştır. İçerikte belirtilen yöntemlerin kötüye kullanımı yasalara aykırı olabilir ve sorumluluk tamamen kullanıcının kendisine aittir.
Her zaman yasalara uygun hareket etmeniz ve izinsiz girişimlerde bulunmamanız gerektiğini unutmayın. Yazar ve devreyakan.com, bu bilgilerin kötüye kullanılmasından doğabilecek yasal veya teknik sorunlardan sorumlu tutulamaz.
USB-Seri Dönüştürücü ve Nextion HMI Bağlantı Şeması
| USB-TTL Seri Dönüştürücü | Nextion HMI Ekran Pini |
| 5V / VCC | 5V (Kırmızı Kablo) |
| GND | GND (Siyah Kablo) |
| TX (Verici) | RX (Mavi Kablo) |
| RX (Alıcı) | TX (Sarı Kablo) |
Nextion HMI Arayüz Tasarımı ve Bileşenleri
Temel olarak 2 sayfa ve 6 farklı grafik objesinden oluşan bu minimal tasarım sayesinde; anlık fiyat bilgisini, 24 saatlik fiyat aralıklarını, ticaret hacmini ve bağlantı durumunu anlık olarak takip edebilirsiniz. Projenin Nextion tasarım dosyası (.HMI) açık kaynak olarak paylaşıldığı için arayüzü dilediğiniz gibi özelleştirebilirsiniz.
Teknik Donanım Notu: Tasarımda standart 2.8 inç boyutundaki NX3224T028 modeli referans alınmıştır. Ancak, elinizdeki Nextion ekranı farklı bir boyutta ise (3.2″, 4.3″, 7″ vb.) Nextion Editor yazılımı üzerinden objeleri kopyalayarak kendi ekran çözünürlüğünüze kolayca uyarlayabilirsiniz.

Ekran üzerindeki metin alanlarını ve görselleri C# üzerinden yönetebilmek için objelere atanan isimlerin (ID ve Name parametreleri) doğru tanımlanması son derece önemlidir. Önceki teknik rehberimiz olan Nextion Komutları ve Fonksiyonları içeriğinde ekran komut kütüphanesini detaylıca açıklamıştık. C# programımız, bilgisayarın seri portundan gönderdiği özel komut dizilimleri ile ekrandaki verileri dinamik olarak günceller.
Nextion ekranına komut gönderirken verileri doğrudan düz metin (String) formatında gönderebileceğiniz gibi, bayt dizisi (Hexadecimal) olarak da iletebilirsiniz. Windows Forms uygulamamızda, her iki yöntemi de (Hex olarak gönderme ve String veriyi Hex’e dönüştürerek gönderme) detaylı olarak uyguladık.
C# Windows Forms Uygulama Yapısı
Yazılım arayüzünde, bilgisayara bağlı olan aktif COM portlarını otomatik olarak tarayıp listeleyen dinamik bir döngü tasarladık. “Bağlan” butonuna tıklayıp seri haberleşme tünelini açtıktan sonra, “Başlat” butonu yardımıyla Blockchain.info API servisinden kripto verilerini çekmeye başlayabilirsiniz.

Nextion HMI ekranı, seri port üzerinden aldığı her komutun sonlandırıldığını anlamak için özel bir bitiş protokolüne ihtiyaç duyar. Gönderilen her komutun sonuna hexadecimal olarak ardışık 3 adet 0xFF (0xFF 0xFF 0xFF) bayt dizisi eklenmesi zorunludur.
Uygulamamızda bayt dizilerini birleştirmek için Concat metodunu tercih ettik. Küçük ölçekli veri aktarımlarında bu yöntem oldukça pratiktir; ancak çok büyük ve yoğun veri paketleri gönderecekseniz bellek yönetimini optimize etmek adına Buffer.BlockCopy veya MemoryStream yapılarını kullanmanız daha kararlı bir çalışma sağlayacaktır.
Kod analizine geçmeden önce, Nextion haberleşme protokollerini daha iyi kavramak adına Nextion Komutları ve Fonksiyonları rehberimizi incelemenizi tavsiye ederiz.
Blockchain API Veri Çekme Sınıfı
API entegrasyonu ve JSON verilerinin parse edilmesi için modüler sınıflar oluşturduk. İhtiyacınıza göre bu sınıfları genişleterek Ethereum (ETH), Ripple (XRP) gibi diğer popüler altcoin verilerini de ekranınıza yansıtabilirsiniz.
Zaman Sunucuları ve Hassas Saat Senkronizasyonu
Uygulamanın zaman damgası doğruluğunu artırmak adına sadece yerel bilgisayar saatine bağlı kalmak istemedik. Bu doğrultuda yazılıma NIST (Ulusal Standartlar Enstitüsü) ve Google zaman sunucularından bağımsız saat verisi çekebilen iki farklı mekanizma entegre ettik.
1. NIST (National Institute of Standards and Technology) Zaman Senkronizasyonu
NIST, atomik saat referanslarını barındıran son derece yüksek hassasiyetli bir zaman sunucusudur. NIST sunucularından saat verisi çekmek mükemmel bir doğruluk sağlar. Ancak unutulmamalıdır ki, NIST sunucuları siber güvenlik kuralları gereği her IP adresinden en fazla 4 saniyede bir sorgu yapılmasına izin verir; daha sık sorgularda IP adresinizi geçici olarak bloke edebilir.
2. Google Zaman Sunucusu Entegrasyonu
HTTP başlık bilgileri üzerinden Google sunucularının güncel tarih ve saat verilerini çekmek için bu yardımcı sınıfı kullanabilirsiniz:
Saat senkronizasyon sınıflarını uygulamanıza dahil ederken, internet kopmalarında veya sunucu gecikmelerinde programın kilitlenmesini önlemek adına veri çekme işlemlerini mutlaka try-catch blokları ile koruma altına alın.
3. Yerel Bilgisayar Saati Kullanımı
İnternet bağlantınızın olmadığı durumlarda veya en hızlı yöntem olarak doğrudan yerel sistem zamanını ekrana basabilirsiniz:
var pc_tarihi = DateTime.Now;GitHub Kaynak Kod Deposuna Erişim
Geliştirdiğimiz C# Windows Forms kaynak kodlarına, form arayüz tasarımlarına ve ekrana yüklenmeye hazır .HMI tasarım dosyalarına doğrudan GitHub projesi üzerinden erişebilir, kendi geliştirdiğiniz özellikleri fork ederek projeye katkıda bulunabilirsiniz.
Nextion Ekranı İçin 3D Yazıcı Destekli Kılıf
Ekranınızı masaüstünüzde şık bir biçimde konumlandırabilmek için 3D yazıcı ile basabileceğiniz resmi çerçeve ve bezel tasarımlarını Resmi Nextion web sayfası üzerindeki CAD dosyalarından indirip basabilirsiniz.

Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.

