Udostępnij za pośrednictwem


Komunikacja z aplikacją obsługą czasu rzeczywistego

Ważne

Jest to dokumentacja usługi Azure Sphere (starsza wersja). Usługa Azure Sphere (starsza wersja) zostanie wycofana 27 września 2027 r., a użytkownicy muszą przeprowadzić migrację do usługi Azure Sphere (zintegrowanej) do tej pory. Użyj selektora wersji znajdującego się powyżej spisu treści, aby wyświetlić dokumentację usługi Azure Sphere (zintegrowaną).

Usługa Azure Sphere obsługuje komunikację między rdzeniami między aplikacjami wysokiego poziomu a aplikacjami obsługującymi czas rzeczywisty (RTApp). Aplikacje wysokiego poziomu mogą używać funkcji applibs Application_Connect do wysyłania i odbierania danych podczas komunikacji z aplikacją RTApp. Application_Connect pobiera deskryptor plików do gniazda używanego do komunikowania się z aplikacją RTApp. Deskryptor plików jest otwarty, ale można wykonywać na nim operacje, takie jak wysyłanie/odtwarzanie.

W przykładzie IntercoreComms pokazano, jak używać aplikacji wysokiego poziomu do komunikowania się z aplikacją RTApp w usłudze MT3620. Komunikacja z aplikacją wysokiego poziomu opisuje zagadnienia dotyczące programowania aplikacji RTApp.

Wymagania

Aplikacje wysokiego poziomu korzystające z komunikacji między aplikacjami muszą zawierać odpowiednie pliki nagłówkowe i dodać ustawienia aplikacji do manifestu aplikacji.

Pliki nagłówkowe

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

Ustawienia manifestu aplikacji

Aby komunikować się z aplikacją RTApp, obie aplikacje muszą uwzględnić funkcję AllowedApplicationConnections w manifeście aplikacji:

  • Aplikacja wysokiego poziomu musi wyświetlić identyfikator składnika aplikacji obsługującej w czasie rzeczywistym w funkcji AllowedApplicationConnections.
  • Aplikacja obsługa w czasie rzeczywistym musi wyświetlić identyfikator składnika aplikacji wysokiego poziomu w funkcji AllowedApplicationConnections.
"AllowedApplicationConnections": [ "005180BC-402F-4CB3-A662-72937DBCDE47" ]

Aplikacje partnerskie

Podczas ładowania aplikacji na urządzenie usługi Azure Sphere narzędzia wdrażania usługi Azure Sphere domyślnie usuwają wszystkie istniejące aplikacje. Aby zapobiec temu podczas tworzenia pary aplikacji komunikujących się ze sobą, należy oznaczyć aplikacje jako partnerów. Po wdrożeniu jednej z aplikacji jej partner nie zostanie usunięty. Aby uzyskać szczegółowe informacje, zobacz Oznaczanie aplikacji jako partnerów .

Otwieranie gniazda

Przed rozpoczęciem komunikacji z aplikacją RTApp należy otworzyć gniazdo, wywołując funkcję Application_Connect . Deskryptor plików zwracany przez to wywołanie funkcji służy do wykonywania operacji wysyłania/odzyskiwania na gniazdach.

Wysyłanie danych

Możesz wysłać komunikat do aplikacji RTApp, wywołując funkcję SEND() POSIX. Maksymalny rozmiar komunikatu to 1 KB.

Odbieranie danych

Komunikat z aplikacji RTApp można odebrać, wywołując funkcję RECV() POSIX.

Zamykanie gniazda

Aby zamknąć gniazdo, wywołaj funkcję POSIX close().