Megosztás a következőn keresztül:


Kommunikáció valós idejű képességgel rendelkező alkalmazással

Az Azure Sphere támogatja a magas szintű alkalmazások és a valós idejű alkalmazások (RTApp) közötti magok közötti kommunikációt. A magas szintű alkalmazások az applibs Application_Connect függvénnyel küldhetnek és fogadhatnak adatokat az RTApp-alkalmazásokkal való kommunikáció során. Application_Connect lekéri a fájlleírót az RTApp alkalmazással való kommunikációhoz használt szoftvercsatornába. Amíg a fájlleíró meg van nyitva, műveleteket hajthat végre rajta, például küldés/recv.

Az IntercoreComms-minta bemutatja, hogyan használható magas szintű alkalmazás egy RTApp-alkalmazással való kommunikációra egy MT3620-on. A magas szintű alkalmazásokkal való kommunikáció az RTApp programozási szempontjait ismerteti.

Követelmények

Az alkalmazásközi kommunikációt használó magas szintű alkalmazásoknak tartalmazniuk kell a megfelelő fejlécfájlokat, és alkalmazásbeállításokat kell hozzáadniuk az alkalmazásjegyzékhez.

Fejlécfájlok

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

Alkalmazásjegyzék beállításai

Az RTApp alkalmazással való kommunikációhoz mindkét alkalmazásnak tartalmaznia kell az AllowedApplicationConnections képességet az alkalmazásjegyzékben:

  • A magas szintű alkalmazásnak fel kell sorolnia a valós idejű kompatibilis alkalmazás összetevő-azonosítóját az AllowedApplicationConnections képességben.
  • A valós idejű kompatibilis alkalmazásnak fel kell sorolnia a magas szintű alkalmazás összetevő-azonosítóját az AllowedApplicationConnections képességben.
"AllowedApplicationConnections": [ "005180BC-402F-4CB3-A662-72937DBCDE47" ]

Partneralkalmazások

Amikor betölt egy alkalmazást az Azure Sphere-eszközre, az Azure Sphere üzembehelyezési eszközei alapértelmezés szerint törlik az összes meglévő alkalmazást. Annak érdekében, hogy ez ne történjen meg egymással kommunikáló alkalmazáspár fejlesztésekor, meg kell jelölnie az alkalmazásokat partnerként. Az egyik alkalmazás üzembe helyezésekor a partner nem törlődik. További információt az Alkalmazások megjelölése partnerként című témakörben talál.

Nyissa meg a foglalatot

Mielőtt kommunikál egy RTApp-alkalmazással, meg kell nyitnia egy szoftvercsatornát a Application_Connect függvény meghívásával. A függvényhívás által visszaadott fájlleíró a szoftvercsatornán végzett küldési/recv műveletek végrehajtására szolgál.

Adatok küldése

A POSIX send() függvény meghívásával üzenetet küldhet egy RTApp alkalmazásnak. Az üzenetek maximális mérete 1 KB.

Adatok fogadása

Az RTApp-alkalmazásoktól a POSIX recv() függvény meghívásával kaphat üzenetet.

Zárja be a foglalatot

A szoftvercsatorna bezárásához hívja meg a POSIX close() függvényt.