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().