Komunikace s aplikací podporujícími v reálném čase

Azure Sphere podporuje komunikaci mezi jádry mezi aplikacemi vysoké úrovně a aplikacemi podporujícími v reálném čase (RTApp). Aplikace vysoké úrovně můžou funkci applibs Application_Connect používat k odesílání a přijímání dat při komunikaci s aplikací RTApp. Application_Connect načte popisovač souboru do soketu, který se používá ke komunikaci s aplikací RTApp. Když je popisovač souboru otevřený, můžete s ním provádět operace, například odeslat/recv.

Ukázka IntercoreComms ukazuje, jak používat aplikaci vysoké úrovně ke komunikaci s RTApp na MT3620. Komunikace s aplikací vysoké úrovně popisuje programovací aspekty aplikace RTApp.

Požadavky

Aplikace vysoké úrovně, které používají komunikaci mezi aplikacemi, musí obsahovat příslušné soubory hlaviček a přidat nastavení aplikace do manifestu aplikace.

Soubory hlaviček

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

Nastavení manifestu aplikace

Aby bylo možné komunikovat s aplikací RTApp, musí obě aplikace v manifestu aplikace obsahovat funkci AllowedApplicationConnections:

  • Aplikace vysoké úrovně musí obsahovat ID komponenty aplikace podporující v reálném čase ve funkci AllowedApplicationConnections.
  • Aplikace podporující v reálném čase musí uvést ID komponenty aplikace vysoké úrovně v možnosti AllowedApplicationConnections.
"AllowedApplicationConnections": [ "005180BC-402F-4CB3-A662-72937DBCDE47" ]

Partnerské aplikace

Když načtete aplikaci do zařízení Azure Sphere, nástroje pro nasazení Azure Sphere ve výchozím nastavení odstraní všechny existující aplikace. Pokud chcete zabránit tomu, aby k tomu docházelo při vývoji dvojice aplikací, které spolu vzájemně komunikují, musíte aplikace označit jako partnery. Když nasadíte jednu z aplikací, její partner se neodstraní. Podrobnosti najdete v tématu Označování aplikací jako partnerů .

Otevření soketu

Před komunikací s aplikací RTApp musíte otevřít soket voláním funkce Application_Connect . Popisovač souboru vrácený voláním této funkce se používá k provádění operací odeslání/recv v soketu.

Odeslání dat

Zprávu můžete odeslat do aplikace RTApp zavoláním funkce POSIX send(). Maximální velikost zprávy je 1 kB.

Příjem dat

Zprávu z aplikace RTApp můžete přijmout voláním funkce POSIX recv().

Zavření soketu

Pokud chcete soket zavřít, zavolejte funkci POSIX close().