Share via


Gerçek zamanlı özellikli bir uygulamayla iletişim kurma

Azure Sphere, üst düzey uygulamalar ve gerçek zamanlı özellikli uygulamalar (RTApp) arasında çekirdekler arası iletişimi destekler. Üst düzey uygulamalar, RTApp ile iletişim kurarken veri gönderip almak için applibs Application_Connect işlevini kullanabilir. Application_Connect , RTApp ile iletişim kurmak için kullanılan bir yuvaya dosya tanımlayıcısı alır. Dosya tanımlayıcısı açıkken, dosya üzerinde gönderme/geri kazanma gibi işlemler gerçekleştirebilirsiniz.

IntercoreComms örneği, MT3620'de RTApp ile iletişim kurmak için üst düzey bir uygulamanın nasıl kullanılacağını gösterir. Üst düzey bir uygulamayla iletişim kurmak , RTApp için programlamayla ilgili dikkat edilmesi gerekenleri açıklar.

Gereksinim -leri

Uygulamalar arası iletişim kullanan üst düzey uygulamaların uygun üst bilgi dosyalarını içermesi ve uygulama bildirimine uygulama ayarları eklemesi gerekir.

Üst bilgi dosyaları

#include <sys/socket.h>
#include <applibs/application.h>

Uygulama bildirimi ayarları

RtApp ile iletişim kurmak için her iki uygulamanın da uygulama bildirimine AllowedApplicationConnections özelliğini içermesi gerekir:

  • Üst düzey uygulama, AllowedApplicationConnections özelliğinde gerçek zamanlı özellikli uygulamanın bileşen kimliğini listelemelidir.
  • Gerçek zamanlı özellikli uygulama, AllowedApplicationConnections özelliğinde üst düzey uygulamanın bileşen kimliğini listelemelidir.
"AllowedApplicationConnections": [ "005180BC-402F-4CB3-A662-72937DBCDE47" ]

İş ortağı uygulamaları

Azure Sphere cihazına bir uygulama yüklediğinizde, Azure Sphere dağıtım araçları varsayılan olarak tüm mevcut uygulamaları siler. Birbiriyle iletişim kuran bir çift uygulama geliştirirken bunun olmasını önlemek için uygulamaları iş ortağı olarak işaretlemeniz gerekir. Uygulamalardan birini dağıttığınızda iş ortağı silinmez. Ayrıntılar için bkz. Uygulamaları iş ortağı olarak işaretleme .

Yuvayı açma

RTApp ile iletişim kurmadan önce , Application_Connect işlevini çağırarak bir yuva açmanız gerekir. Bu işlev çağrısı tarafından döndürülen dosya tanımlayıcısı yuvada gönderme/geri kazanma işlemlerini gerçekleştirmek için kullanılır.

Veri gönderme

POSIX send() işlevini çağırarak RTApp'e ileti gönderebilirsiniz. İleti boyutu üst sınırı 1 KB'tır.

Veri alma

POSIX recv() işlevini çağırarak RTApp'ten bir ileti alabilirsiniz.

Yuvayı kapatma

Yuvayı kapatmak için POSIX close() işlevini çağırın.