Skip to Content
Uzaktan ErişimPort Yapılandırma

Port Yapılandırma

.ironflock/ dizininde port-template.yml dosyası oluşturarak uygulamanızın uzaktan erişim için hangi servisleri açığa çıkaracağını tanımlayın.

Temel Örnek

ports: - name: Web Interface port: 5000 main: true protocol: https

Bu yapılandırma, 5000 numaralı portu uzaktan erişim için kullanılabilir hale getirir. Kullanıcılar, tüneli cihazlarındaki uygulama ayarlarından etkinleştirebilir.

Tam Örnek

ports: - name: Web Interface port: 1100 main: true protocol: http - name: Video Stream port: 1200 protocol: http - name: Remote Desktop port: 5900 protocol: tcp - name: LoRaWAN Gateway port: 1700 protocol: udp

Alan Referansı

AlanZorunluAçıklama
nameEvetCihazın uygulama ayarlarında gösterilen etiket
portEvetServisin dinlediği yerel port numarası
mainHayırtrue ise bu port, cihazın uygulama listesindeki hızlı erişim simgesi için kullanılır
protocolHayırhttp (varsayılan), https, tcp veya udp

Enjekte Edilen Ortam Değişkenleri

Tanımladığınız her port için platform, kodunuzun servise gerçekte nereden erişilebileceğini — adresleri sabit kodlamadan — keşfedebilmesi için uygulamanızın konteynerlerine ortam değişkenleri enjekte eder:

DeğişkenAçıklama
DEVICE_LAN_IPCihazın yerel ağdaki IP adresi
DEVICE_PORT_FOR_<port>Tanımladığınız portun yerel ağda yayınlandığı, cihaz üzerindeki port
REMOTE_PORT_FOR_<port>Tünel aktifken tünel sunucusu tarafından tahsis edilen genel port (TCP ve UDP)
REMOTE_PORT_FOR_<port>_CLOUDCihaz, tünelleri bulut üzerinden yönlendiren bir IronFlock instance’ında çalıştığında internete açık port (TCP ve UDP)

<port>, port-template.yml dosyasında tanımladığınız port numarasıdır. Yukarıdaki Remote Desktop örneği için uygulama, DEVICE_PORT_FOR_5900 değişkenini ve — tüneli aktifken — REMOTE_PORT_FOR_5900 değişkenini alır.

Uygulamalar aynı cihazda eşzamanlı olarak çalışabileceğinden, tanımlanan portlar cihazdaki boş bir porta otomatik olarak eşlenir. Yerel ağ adreslerini her zaman, tanımlanan portu varsaymak yerine enjekte edilen değerlerden oluşturun:

import os lan_ip = os.environ.get("DEVICE_LAN_IP") lan_port = os.environ.get("DEVICE_PORT_FOR_5900") # servis, yerel ağda {lan_ip}:{lan_port} adresinden erişilebilir

Değişkenler konteyner başlatıldığında ayarlanır. Tünel portları uygulama çalışırken değişebilir (örneğin bir tünel yeniden bağlandığında); bu nedenle güncel değerler ayrıca /data/env/<VARIABLE_NAME>.txt altındaki dosyalar olarak güncel tutulur — IronFlock SDK’ları bunları otomatik olarak okur.

Protokoller Nasıl Çalışır

HTTP / HTTPS

Web tabanlı servisler için. IronFlock, trafiği cihazın yerel portuna yönlendiren bir genel URL oluşturur. Kullanıcılar URL’yi tarayıcılarında açar.

TCP

VNC (Uzak Masaüstü) veya doğrudan soket bağlantıları gibi protokoller için. IronFlock, tünel sunucusunda bir uzak port tahsis eder ve bunu uygulamanıza REMOTE_PORT_FOR_<port> olarak açığa çıkarır.

UDP

LoRaWAN iletişimi veya VPN tünelleri gibi protokoller için. TCP’ye benzer şekilde — bir uzak port tahsis edilir ve REMOTE_PORT_FOR_<port> olarak açığa çıkarılır.

Board’lara Yerleştirme

Embed Widget kullanarak bir cihazın uzaktan erişim tünelini doğrudan bir board’a yerleştirebilirsiniz. Bu, kullanıcıların şunları yapabildiği sorunsuz bir deneyim oluşturur:

  • Tüm cihazlardaki global verileri izleme
  • Yerleşik web arayüzleri aracılığıyla bireysel cihazlarla etkileşim kurma

Hepsi aynı dashboard içinde.

port-template.yml dosyasında uzaktan erişim yapılandırmak tünelleri otomatik olarak etkinleştirmez. Yalnızca yetkili kullanıcılar cihazlarındaki tünelleri etkinleştirebilir veya devre dışı bırakabilir.

Last updated on