Skip to Content
IoT Uygulama GeliştirmeUygulama Yapısı

Uygulama Yapısı

Her IronFlock uygulaması, uygulama kodunuzu ve isteğe bağlı bir .ironflock yapılandırma dizinini içeren Git sürümlü bir klasördür.

Dizin Düzeni

my-app/ ├── Dockerfile # Zorunlu: container imajını tanımlar ├── docker-compose.yml # İsteğe bağlı: çoklu container kurulumu ├── main.py # Uygulama kodunuz (herhangi bir dil) ├── requirements.txt # Bağımlılıklar └── .ironflock/ ├── board-template.yml # Dashboard düzeni ├── data-template.yml # Telemetri için veritabanı şeması ├── env-template.yml # Kullanıcı tarafından yapılandırılabilir parametreler ├── port-template.yml # Uzaktan erişim port tanımları └── ai-template.yml # AI ajan tanımları

Bir Uygulamanın Altı Parçası

1. Edge Kodu

Temel uygulama mantığı. Bu kod, cihazda Docker container içinde çalışır ve sensörler, PLC’ler, kameralar veya bağlı herhangi bir donanımla iletişimi yönetir.

Edge kodu herhangi bir programlama dilinde yazılabilir — Docker container içinde çalışan Python, JavaScript, Go, Rust, C++ veya başka herhangi bir şey.

2. Pano (Kullanıcı Arayüzü)

Kodsuz Pano Editörü ile oluşturulmuş gerçek zamanlı bir dashboard. Panolar, projedeki uygulamayı çalıştıran tüm cihazların verilerini görüntüler ve mesajlaşma sistemi aracılığıyla otomatik olarak güncellenir.

Pano yapılandırması board-template.yml dosyasında saklanır ve editör tarafından otomatik olarak oluşturulur.

3. Veri Depolama

Her projenin kendi fiziksel veritabanı vardır (TimescaleDB tarafından desteklenir). Bir uygulama data-template.yml içinde tablolar tanımladığında, bir kullanıcı uygulamayı kurduğunda bu tablolar otomatik olarak hazırlanır. Veriler proje başına gizlidir — geliştiricilerin kullanıcı verilerine erişimi yoktur.

4. Mesajlaşma Alanı

Kurulduğunda, uygulama şunları birbirine bağlayan özel bir mesaj alanı alır:

  • Edge cihazlardaki tüm uygulama örnekleri
  • Proje veritabanı
  • Pano arayüzü

İletişim, IronFlock SDK’ları aracılığıyla WAMP (Web Application Messaging Protocol) kullanır (Python için ironflock-py, JavaScript için ironflock-js).

5. Uzaktan Erişim

Cihaz servislerine güvenli tünel oluşturmak için port-template.yml içinde portları ve protokolleri tanımlayın. Kullanıcılar daha sonra bu tünelleri cihaz başına etkinleştirebilir veya devre dışı bırakabilir. Bkz. Uzaktan Erişim.

6. AI Ajanları

Alan bazında AI ajanlarını ai-template.yml aracılığıyla gösterin; bunlar IronFlock AI asistanını genişletir. Bkz. AI Özellikleri.

Cihazlarda Kalıcı Depolama

Varsayılan olarak, container içindeki veriler yeniden başlatmada kaybolur. Yeniden başlatmalar arasında iki dizin kalıcıdır:

YolKapsam
/dataBu uygulamaya özel — diğer uygulamalar erişemez
/sharedCihazdaki tüm uygulamalar arasında paylaşılır

Docker Compose kullanıyorsanız, docker-compose.yml dosyanızda kalıcı volume’leri yapılandırın.

Donanım Erişimi

Uygulamanız yerel donanımla (sensörler, kameralar, seri cihazlar) etkileşime giriyorsa, bu cihazlar container içinde /dev konumuna bağlanır.

Last updated on