Skip to Content
MimariKenar Cihazlar & Ajan

Kenar Cihazlar & Ajan

Kenar cihazlar, IronFlock’taki birincil yürütme düğümleridir. Her cihaz, Linux destekli bir makine — endüstriyel PC, Raspberry Pi, NVIDIA Jetson, ağ geçidi veya Linux çekirdeğine sahip herhangi bir donanım — IronFlock ajanını ve bir veya daha fazla Docker konteynerli uygulamayı çalıştırır.

IronFlock Ajanı

Ajan, cihaz üzerinde çalışan ve şunları yöneten hafif bir Go ikili dosyasıdır:

  • Konteyner yönetimi — Kurulu tüm uygulamalar için Docker konteynerlerini başlatır, durdurur ve izler
  • WAMP bağlantısı — Merkezi mesaj aracısına kalıcı, şifreli bir WebSocket bağlantısı sürdürür
  • OTA güncellemeleri — Ajanın kendisi, ana işletim sistemi ve kurulu uygulamalar için güncellemeleri alır ve uygular
  • Tünelleme — Açık port gerektirmeden ters proxy tünelleri aracılığıyla cihaz hizmetlerine (HTTP, SSH, VNC, TCP, UDP) güvenli uzaktan erişim sağlar
  • Ağ yönetimi — Cihazdaki Wi-Fi, LAN ve LTE bağlantılarını yapılandırır

Ajan, doğrudan ana işletim sisteminde çalışan tek IronFlock bileşenidir. Diğer her şey Docker konteynerlerinin içinde çalışır.

Özerk Çalışma

Kenar cihazlar, merkezi hizmetlerden bağımsız olarak çalışacak şekilde tasarlanmıştır. Ağ bağlantısı kesilirse:

  • Uygulamalar çalışmaya devam eder — Tüm konteynerli uygulamalar normal şekilde çalışmaya devam eder
  • Uygulamalar veri arabelleğe alabilir — Telemetri yerel olarak kuyruğa alınır ve bağlantı geri geldiğinde FleetDB’ye iletilir

Bu özerklik temel bir tasarım seçimidir. Endüstriyel ortamlarda ağ güvenilirliği garanti edilemez ve kenar uygulamaların temel işlemleri için bir bulut bağlantısına bağımlı olmamaları gerekir.

Cihazda Ne Çalışır

┌─────────────────────────────────────────┐ │ Linux Host OS │ │ │ │ ┌─────────────────────────────────┐ │ │ │ IronFlock Agent │ │ │ │ (connectivity, OTA, tunneling) │ │ │ └────────────┬────────────────────┘ │ │ │ │ │ ┌────────────┴────────────────────┐ │ │ │ Docker Runtime │ │ │ │ │ │ │ │ ┌─────────┐ ┌─────────┐ │ │ │ │ │ App A │ │ App B │ ... │ │ │ │ │ (OPC UA │ │ (Custom │ │ │ │ │ │ reader) │ │ logic) │ │ │ │ │ └─────────┘ └─────────┘ │ │ │ └─────────────────────────────────┘ │ └─────────────────────────────────────────┘ │ (outbound WSS only) WAMP Message Broker

Her uygulama kendi bağımlılıklarıyla kendi konteynerinde çalışır. Uygulamalar herhangi bir programlama dilinde yazılabilir — Python, Go, Rust, Node.js, C++ veya Docker konteynerinde çalışan her şey.

Desteklenen Donanım

IronFlock, Docker desteğine sahip Linux destekli herhangi bir cihazı destekler:

PlatformMimariÖrnekler
Endüstriyel PC’lerx86_64Beckhoff, Advantech, Kontron, Dell Edge
Tek kartlı bilgisayarlarARM64, ARMv7Raspberry Pi 4/5, BeagleBone
AI hızlandırıcılarARM64NVIDIA Jetson Nano, Orin, Xavier
Ağ geçitleriARM64, x86_64Teltonika, Moxa, Advantech
Özel donanımARM (v5, v6, v7), ARM64, x86_64Docker destekli herhangi bir Linux cihazı

Cihaz Sağlama

Cihazlar IronFlock’a birkaç şekilde eklenebilir:

  1. FlockFlasher ile flaşlama — Cihazın depolama birimine IronFlock OS yazmak için FlockFlasher masaüstü uygulamasını kullanın. Cihaz, ajan önceden yapılandırılmış olarak başlar ve otomatik olarak bağlanır.
  2. Ajanı kurma — Mevcut bir Linux sisteminde, ajan ikili dosyasını kurun ve cihaz kimlik bilgileriyle bir yapılandırma dosyası (.flock dosyası) sağlayın.
  3. OEM ön kaydı — Cihaz seri numaralarını önceden kaydedin. Cihaz açıldığında ve bağlandığında, doğru projeye otomatik olarak atanır.

İletişim Modeli

Varsayılan olarak, kenar cihazlar yalnızca giden bağlantılar kurar. Ajan, şifreli bir WebSocket (WSS) üzerinden WAMP mesaj aracısına bağlanır ve herhangi bir portu dinlemesi gerekmez. Bu şu anlama gelir:

  • Varsayılan olarak cihazda veya ağında gelen güvenlik duvarı kuralları gerekmez
  • Cihaz, internet üzerinden keşfedilemez veya adreslenemez
  • Uzaktan erişim, operatör tarafından değil cihaz tarafından başlatılan ters tüneller aracılığıyla sağlanır

Ancak, cihaz portları gerektiğinde seçici olarak açılabilir — örneğin yerel bir HMI, REST API veya cihazda çalışan başka bir hizmeti açığa çıkarmak için. Port erişimi IronFlock UI aracılığıyla yapılandırılır ve yönetilir.

Güvenlik mimarisinin tamamı için Güvenlik bölümüne bakın.

Last updated on