Skip to Content
IoT Uygulama GeliştirmeHarici HMI'leri Gömme

Harici HMI’leri Gömme

Pek çok endüstriyel makine, kendi HMI’sini (İnsan-Makine Arayüzü) yerel bir web sunucusu aracılığıyla sunar. Bu kılavuz, Gömülü widget, nginx ters proxy ve uzaktan erişim tünelleri kullanarak bu HMI’lere IronFlock arayüzzünden nasıl erişileceğini gösterir.

Temel Örnek: Tek Makine

En basit durum, HMI web sunucusu edge cihazın yerel ağından erişilebilen tek bir CNC makinesidir (veya PLC, kamera vb.) — örneğin 192.168.1.50:8080 adresinde.

1. Makine adresini uygulama parametresi olarak yapılandırın

Kullanıcının makinenin yerel HMI adresini (örn. 192.168.1.50:8080) yapılandırmasına izin vermek için bir uygulama parametresi kullanın. Bu şekilde adres sabit kodlanmamış olur ve cihaz kurulumu başına ayarlanabilir.

2. Edge kodunuza nginx ters proxy ekleyin

Uygulamanızın Docker kurulumuna, yapılandırılmış makine adresini okuyup edge cihazda sabit bir porta — örneğin localhost:3000 — ileten basit bir nginx container’ı ekleyin. Edge kodu, uygulama parametresini okur ve nginx’i buna göre yapılandırır.

3. Sabit portu port şablonunuzda tanımlayın

Port şablonunuzda, nginx’in dinlediği portu bildirin:

# .ironflock/port-template.yml ports: - name: CNC Machine HMI port: 3000 main: false

Port sabit olmalıdır (dinamik olarak atanmamalıdır) çünkü uzaktan erişim portları çalışma zamanında eklenemez — sürüm zamanında tanımlanır ve kurulum başına yapılandırılır.

Portu port-template.yml içinde bildirerek, proje yöneticileri uygulama ayarlarında CNC makinesine uzaktan erişimi etkinleştirebilir veya devre dışı bırakabilir. Uygulama bir cihaza ilk kurulduğunda, kullanıcının kurulum ayarlarında bu porta uzaktan erişimi açıkça onaylaması gerekir. Bu bir güvenlik özelliğidir — uzaktan erişim varsayılan olarak etkin değildir.

Burada uzaktan erişim gereklidir çünkü HMI’ye erişen kullanıcı kendi dizüstü bilgisayarındadır, edge cihazın ağında değil. IronFlock’un tünel teknolojisi, kullanıcının tarayıcısından edge cihazın iletilen portuna güvenli bir bağlantı oluşturur.

4. Panoya Gömülü widget ekleyin

UI Builder’da, 3000 numaralı porttaki cihazın uzaktan erişim tüneli adresine işaret eden bir Gömülü widget ekleyin. CNC makinesinin orijinal HMI’si artık doğrudan IronFlock panosunun içinde görünür.

Bu temel kurulum, cihaz başına tek bir makinenin HMI’sine uzaktan erişim sağlar — VPN yok, güvenlik duvarı değişikliği yok.


Gelişmiş: Cihaz Başına Birden Fazla Makine

Bir edge cihaz birkaç makineye bağlıysa, yol tabanlı yönlendirme kullanarak tüm HMI’leri tek bir iletilen port üzerinden sunacak şekilde bu deseni genişletebilirsiniz.

1. Makine adreslerini bir veri arka ucu tablosunda saklayın

Veri arka ucunuza, yerel web sunucusu adresi ve iletilen yol dahil her makinenin ayrıntılarını izleyen bir tablo ekleyin:

# .ironflock/data-template.yml data: tables: - tablename: machines maintainLatestFlagFor: ['machine_id'] columns: - id: tsp dataType: timestamp - id: machine_id dataType: string - id: name dataType: string - id: local_hmi_address dataType: string - id: forwarded_hmi_path dataType: string

2. nginx aracılığıyla birden fazla makineyi yönlendirin

nginx’i her makineyi aynı sabit port altında ayrı bir yolda ters proxy yapacak şekilde yapılandırın. Örneğin, 192.168.1.50:8080’i localhost:3000/cnc1/’e ve 192.168.1.51:8080’i localhost:3000/cnc2/’ye iletin. Bu iletilen yolları pano her HMI’nin nerede bulunacağını bilmesi için machines tablosuna tekrar kaydedin.

Temel örnekteki aynı sabit port ve port şablonu geçerlidir — farklı yollar aracılığıyla tüm makinelere tek bir port hizmet eder.

3. Sayfa tabanlı gezinme ile Gömülü widget’lar ekleyin

UI Builder’da, her makinenin HMI’si için ayrı bir pano sayfası oluşturun ve her sayfaya machines tablosundan forwarded_hmi_path değerini okuyup gömme URL’si olarak kullanan bir Gömülü widget ekleyin.

Kullanıcıların HMI’ler arasında geçiş yapmasına izin vermek için Sayfalar & Gezinme özelliğini kullanın. Tüm bağlı makineleri dikey kenar çubuğu menüsü olarak listeleyen bir Yan Gezinme widget’ı ekleyin. Kenar çubuğu öğeleri machines tablosundan dinamik olarak oluşturulabilir; böylece yeni makineler otomatik olarak görünür. Bir kullanıcı makine adına tıkladığında, pano ilgili sayfaya gider ve o sayfadaki Gömülü widget doğru HMI’yi yükler.

Sonuç

Kullanıcılar, bağlı tüm makinelere panoda göz atabilir, birini seçebilir ve orijinal HMI ile doğrudan IronFlock içinde etkileşime girebilir — VPN yok, ayrı tarayıcı sekmesi yok, güvenlik duvarı yapılandırması yok. Gömülü widget, veri arka ucu ve uzaktan erişim tüneli birlikte makine filosu için birleşik ve güvenli bir kontrol yüzeyi oluşturur.

Last updated on