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: falsePort 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: string2. 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.