Jste zde

Amazon Web Services v průmyslu

Specializované služby jako Amazon IoT Core a Amazon FreeRTOS zjednodušují implementaci připojení ke cloudu do koncových zařízení. Tím se tyto zařízení stávají prostředníky mezi cloudem a průmyslovými procesy.

Tento článek stručně uvede využití výpočetních zdrojů na cloudové straně a představí úplnou cloudovou sadu založenou na mikrokontroléru RX65N od společnosti Renesas. Ukáže, jak lze tento mikrokontrolér a jeho referenční design se softwarovým balíčkem použít k rychlé implementaci funkcí, které jsou potřebné pro komunikaci s cloudem Amazon Web Services (AWS).

Využití cloudových zdrojů

AWS zůstává předním poskytovatelem cloudových serverů pro výpočetní operace, úložiště a SaaS služby. Pomocí těchto služeb lze analyzovat data z vozidel, zařízení, budov a výrobních závodů. Tím podniky získají jasnou kontrolu nad výrobními procesy a postupy. Pro vývojáře to však znamená najít cestu pro vyvážení výkonu pro cloudové připojení a pro operace se senzory v reálném čase. Pro snadnou implementaci cloudového připojení nabízejí poskytovatelé cloudových služeb speciální sadu funkcí navržených pro nalezení kompromisu mezi funkcemi v zařízeními IoT a cloudovými službami.

AWS má tyto schopnosti obsaženy v jádru AWS IoT Core, který slouží nejen jako brána k plné platformě AWS, ale také k aplikačním službám specifické pro IoT jako je ukládání a analýza dat, vizualizace nebo strojové učení (obrázek 1).

Obrázek 1: AWS IoT poskytuje rozhraní mezi senzory IIoT v terénu a širší platformou služeb AWS používanou k analýze dat senzorů pro průmyslové aplikace, jako je aplikace pro správu vozového parku. (Zdroj obrázku: AWS)

Integrace operačního systému FreeRTOS s AWS IoT nabízí důležitou funkci v podobě systémové aktualizace a údržby systému. Služby AWS IoT specifikují rozsáhlou sadu požadavků na rozhraní pro palubní zařízení, autentizaci a výměnu zpráv. I zkušení vývojáři mohou čelit problémům při integraci zařízení s jádrem AWS IoT Core s přidruženými službami AWS IoT. Cíl je najít kompromis mezi výkonem, nízkou spotřebou a dokonalým zabezpečením. Proto Renesas nabízí hotové řešení RTK5RX65N0S01000BE RX65N pro rychlé zprovoznění zařízení se službami AWS.

Komplexní platforma

RX65N Cloud Kit poskytuje kompletní platformu s cloudovými službami AWS. Sada obsahuje tři hardwarové desky. Hlavní desku s 32bitovým mikrokontrolérem Renesas R5F565NEDDFP, který je certifikován pro Amazon FreeRTOS. Desku s Wi-Fi a desku Renesas Cloud Option s připojením USB a sadou senzorů.

Procesor na hlavní desce nabízí 640 kB RAM, 32 kB Flash paměti a 2 Mbytes Flash paměti pro kód. Flash paměť kódu lze nakonfigurovat v tzv. lineárním režimu, kde paměť pracuje jako jediný adresní prostor, nebo v duálním režimu, kde pracuje jako dvě oddělené paměťové oblasti. Duální režim umožňuje spolehlivější bezdrátové aktualizace (OTA), protože načítá nový firmware do neobsazené banky a ověřuje jeho integritu a autenticitu před restartováním systému.

Procesor dále nabízí rozsáhlou sadu funkčních bloků, včetně jednotky IEEE-754 s pohyblivou řádovou čárkou (FPU) a jednotky ochrany paměti (MPU). Mezi jejich externí rozhraní patří dva vícekanálové 12-bitové A/D převodníky (ADC), dvoukanálový 12bitový D/A převodník (DAC) a další průmyslová komunikační rozhraní včetně Ethernetu, sítě CAN, multikanálové I2C, quad SPI a vícekanálového sériového komunikačního rozhraní (SCI), které podporuje I2C a SPI.

Rozhraní pro senzory

Kromě snadného připojení ke službám AWS Renesas Cloud, kit ukazuje snadné připojení k senzorům. K tomu slouží deska Cloud Option, která obsahuje sadu tří senzorů:

  • Digitální snímač světla Renesas ISL29035 (ISL29035IROZ-T7) pro měření okolního / infračerveného světla
  • Senzor BMI160 MEMS od firmy Bosch Sensortec pro tříosé zrychlení a gyroskopické měření
  • Senzor BME680 MEMS od firmy Bosch Sensortec pro měření plynů, teploty, vlhkosti a tlaku

Protože všechny tři senzory komunikují pomocí rozhraní I2C, lze tyto senzory připojit ke sdílené sběrnici I2C (obrázek 2).

Obrázek 2: Referenční schéma desky Renesas Cloud Option zobrazuje připojení všech tří senzorů ke sdílené sériové sběrnici I2C. (Zdroj obrázku: Renesas)

Pomocí konektorů na desce Cloud Option lze rozšířit hardwarovou funkčnost sady pomocí přídavných desek PMOD a Grove.

Vývoj softwaru

Propojení s AWS IoT Core a AWS platformovými službami se řeší pomocí softwaru AWS (SDK). Na aplikační úrovni se pro AWS služby používá standardní AWS SDK knihovna. Pro AWS IoT se používá device(Thing) SDK knihovna. Message broker zprostředkovává požadavky a odpovědi mezi zařízeními a službami AWS. Message broker řídí výměnu zpráv pomocí standardního protokolu ISO publish-subscribe (pub / sub) Message Queuing Telemetry Transport (MQTT) (obrázek 3).

Obrázek 3: Implementace aplikací IIoT zahrnuje použití samostatných sad SDK. (Zdroj obrázku: AWS)

Když zařízení odesílá MQTT zprávy, modul pravidel (rules engine) vyvolá další služby platformy AWS podle sady výrazů napsaných v jazyce (SQL). Například pravidlo uvedené ve výpisu 1 může znovu publikovat data generované výrazem SQL (SELECT * FROM 'iot / test) do jiné MQTT fronty (my-mqtt-topic), pokud ho inferenční model (my-model) nazvaný Amazon machine learning services (machinelearning_predict ()) označí, že patří k určitému specifickému štítku (predictedLabel = 1).

{
  "sql": "SELECT * FROM 'iot/test' where machinelearning_predict('my-model', 'arn:aws:iam::123456789012:role/my-iot-aml-role', *).predictedLabel=1",
  "ruleDisabled": false,
  "awsIotSqlVersion": "2016-03-23",
  "actions": [{
    "republish": {
        "roleArn": "arn:aws:iam::123456789012:role/my-iot-role",
        "topic": "my-mqtt-topic"
    }
  }]
}
 
Výpis 1: Modul pravidel AWS vyvolává služby AWS a směruje data pomocí SQL-like data selection – určené akce a příslušná metadata. (Zdroj kódu: AWS)

Stíny zařízení („Device shadow“)

Služba AWS IoT Device Shadow obsahuje informace o stavu fyzického zařízení. Pokud dojde ke ztrátě konektivity nebo se jinak přeruší spojení s AWS, cloudové služby mohou používat Device shadow pro pokračování provozu na základě posledních přijatých dat. Služba AWS IoT Greengrass edge umožňuje zařízením IoT i nadále virtuálně pracovat s cloudem i během výpadku cloudové služby.

Device Shadow poskytuje také jednoduchý mechanismus ukládání dat do mezipaměti. Je vázán na mechanismus pub / sub MQTT. Aktualizace a požadavky automaticky vyvolávají notifikace na všech zařízeních, které si „předplatily“ fronty MQTT spojené s každou službou Device Shadow.

Device Shadow používá jednoduchý dokument JSON, který obsahuje data a metadata spojená s každým fyzickým zařízením. Hostitelská nebo mobilní aplikace může aktualizovat Device Shadow novými hodnotami. Například pro zařízení, které aktuálně zobrazuje zelenou LED, může aplikace aktualizovat Device Shadow, aby požadoval změnu na červenou, a dokonce může obdržet zprávu ukazující rozdíl mezi požadovaným a hlášeným stavem (Výpis 2).

{
    "state": {
        "desired": {
            "color": "RED",
            "state": "STOP"
        },
        "reported": {
            "color": "GREEN",
            "engine": "ON"
        },
        "delta": {
            "color": "RED",
            "state": "STOP"
        }
    },
    "metadata": {
        "desired": {
            "color": {
                "timestamp": 12345
            },
            "state": {
                "timestamp": 12345
            },
            "reported": {
                "color": {
                    "timestamp": 12345
                },
                "engine": {
                    "timestamp": 12345
                }
            },
            "delta": {
                "color": {
                    "timestamp": 12345
                },
                "state": {
                    "timestamp": 12345
                }
            }
        },
        "version": 17,
        "timestamp": 123456789
    }
}

Výpis 2: Device Shadow AWS je dokument JSON, který obsahuje metadata a data zařízení, včetně hodnot jak pro hlášené a požadované stavy zařízení, tak i pro rozdíl mezi těmito dvěma stavy. (Zdroj kódu: AWS)

Device Shadow a Rules Engine usnadňují komunikaci s platformou AWS a ústředním bodem služby AWS IoT je Amazon FreeRTOS. Tento open source RTOS rozšiřuje populární open source FreeRTOS sadou knihoven. Spolu s knihovnami pro běžné služby, Amazon FreeRTOS přidává knihovny pro služby AWS IoT. Tyto knihovny zahrnují AWS IoT Device Shadow, AWS IoT Greengrass (gdd) a AWS IoT Device Defender pro monitorování zabezpečení zařízení. Amazon navíc rozšiřuje FreeRTOS o knihovny pro mnoho middlewarových služeb, včetně zabezpečených soketů, Transport Layer Security (TLS), Public Key Cryptography Standard (PKCS) # 11, agenta OTA, Bluetooth, Wi-Fi a MQTT.

Jednoduché uvedení do provozu

Společnost Renesas pomáhá vývojářům rychle získat zkušenosti s cloudovou sadou a konektivitou se službami AWS IoT. Po nastavení sady desek v Cloud Kitu musí uživatelé nainstalovat vývojové prostředí e2 studio založené na Renesas Eclipse (IDE) a kompilátor Renesas CC-RX. Pomocí e2 studia a kompilátoru CC-RX mohou vývojáři rychle importovat a kompilovat Amazon FreeRTOS a ukázkový kód RX65N Cloud Kit.

Společnost Renesas poskytuje podrobnou dokumentaci, která popisuje nastavení AWS IoT a autentizační údaje, které jsou nutné pro navázání připojení ke cloudu AWS. Po tomto relativně rychlém nastavovacím postupu je nutné spustit ukázkový program, který monitoruje data senzorů odeslaných zařízením (zprávy MQTT) a zobrazuje je pomocí klientského displeje MQTT, který je dostupný prostřednictvím konzoly AWS IoT.

Vývoj vlastního software

Ukázkový kód Renesas slouží také jako referenční návrh pro vlastní aplikace. I přes tuto podporu lze očekávat menší komplikace v podobě nastavení velkého počtu konfigurací spojených s Amazon FreeRTOS a souvisejícími službami AWS IoT. Každá služba vyžaduje nastavení délky front a velikosti zpráv.

Ukázkový kód Renesas zahrnuje předdefinované konfigurace FreeRTOS, ale pro své vlastní aplikace je nutné pro každou službu, knihovnu a obslužný program tyto parametry nastavit. Proto společnost Renesas vyvinula inteligentní konfigurátor, který tento proces značně zjednodušuje. Konfigurátor je k dispozici jako plugin e2 studia. Toto studio umožňuje vývojářům číst a upravovat nastavení pro každou konfigurační skupinu pomocí grafického uživatelského rozhraní (GUI) (obrázek 4).

Obrázek 4: Inteligentní konfigurátor Renesas nabízí jednoduché uživatelské rozhraní pro čtení a úpravu konfigurace knihoven a služeb podporovanými v Amazon FreeRTOS. (Zdroj obrázku: Renesas)

Součástí Renesas RX65N Cloud Kitu jsou ukázkové rutiny, které slouží pro práci se službou AWS IoT prostřednictvím MQTT zpráv. Pro ukázku služby AWS IoT Device Shadow je zde modul (aws_shadow_lightbulb_on_off.c) a přidružené soubory záhlaví ilustrují, jak software spuštěný v zařízení IoT vytváří dokumenty JSON, inicializuje fronty a odesílá zprávy o aktuálním stavu zařízení do služby Shadow Device.

Jedná se o úplnou softwarovou architekturu a tento ukázkový modul demonstruje, jak lze pomocí základní datové struktury a několika řádků kódu změnit barvu světla (zelená barva v dokumentu JSON uvedená ve výpisu 1). Stačí pouhé nastavení atributů dokumentu JSON příslušné služby Device Shadow a barva se změní na požadovanou hodnotu (požadovaná barva červená ve výpisu 1). Po inicializaci Device Shadow se vytvoří úloha, která provede změnu barvy pomocí nového požadavku skrz funkci prvGenerateDesiredJSON () pro vygenerování nového dokumentu JSON se stavem nové barvy (Výpis) 3).

#define shadowDemoDESIRED_JSON      \
    "{"                             \
    "\"state\":{"                   \
    "\"desired\":{"                 \
    "\"%s\":\"%s\""                 \
    "}"                             \
    "},"                            \
    "\"clientToken\": \"token-%d\"" \
    "}"
 
 ...
 
static uint32_t prvGenerateDesiredJSON( ShadowQueueData_t * const pxShadowQueueData,
                                        const char * const pcTaskName,
                                        uint8_t ucBulbState )
{
    /* Map cBulbState to strings. */
    static const char * const pColors[ 2 ] = { "green", "red" };
 
    /* Generate JSON. */
    return ( uint32_t ) snprintf( ( char * ) pxShadowQueueData->pcUpdateBuffer,
                                  shadowDemoBUFFER_LENGTH,
                                  shadowDemoDESIRED_JSON,
                                  pcTaskName,
                                  pColors[ ucBulbState ],
                                  ( int ) xTaskGetTickCount() );
}
 
 ...
 
   /* Keep changing the desired state of light bulb periodically. */
    for( ; ; )
    {
        configPRINTF( ( "%s changing desired state.\r\n", pxShadowTaskParam->cTaskName ) );
 
        /* Toggle the desired state and generate a new JSON document. */
        ucBulbState = !( ucBulbState );
        xShadowQueueData.ulDataLength = prvGenerateDesiredJSON( &xShadowQueueData,
                                                                pxShadowTaskParam->cTaskName,
                                                                ucBulbState );
 
        /* Add the new desired state to the update queue. */
        if( xQueueSendToBack( xUpdateQueue, &xShadowQueueData, shadowDemoSEND_QUEUE_WAIT_TICKS ) == pdTRUE )
        {
            /* If the new desired state was successfully added, wait for notification that the update completed. */
            configASSERT( ulTaskNotifyTake( pdTRUE, shadowDemoNOTIFY_WAIT_MS ) == 1 );
            configPRINTF( ( "%s done changing desired state.\r\n", pxShadowTaskParam->cTaskName ) );
        }
        else
        {
            configPRINTF( ( "Update queue full, deferring desired state change.\r\n" ) );
        }
 
        vTaskDelayUntil( &xLastWakeTime, shadowDemoSEND_UPDATE_MS );
    }
 
Výpis 3: Tato část ukázkového kódu, který je k dispozici v úložišti kódů Renesas RX65N Cloud Kit demonstruje základní vzor pro použití dokumentu JSON definovaného v shadowDemoDESIRED_JSON a vytvořeného instancí prvGenerateDesiredJSON () pro úpravu požadovaného stavu pomocí fronty aktualizací . (Zdroj kódu: Renesas)

 

Závěr

Cloudová služba AWS nabízí atraktivní platformu pro rozsáhlé aplikace IIoT, zejména ty, které potřebují pracovat s jinými podnikovými aplikacemi. Při vývoji zařízení, které mají mít spolehlivou konektivitu s cloudem se často objevují problémy s integrací cloudových služeb, a to vede k neočekávaným zpožděním ve vývoji. Proto Renesas poskytuje cloudovou sadu Renesas RX65N, která obsahuje kompletní zařízení s mnoha senzory a referenční design. V kombinaci s přiloženým softwarovým balíčkem poskytuje Renesas Cloud Kit flexibilní, rychlou vývojovou platformu pro implementaci senzorových IIoT zařízení s integrovanými službami AWS.

 

Článek vyšel v originále "Rapidly Deploy Sensor-Based Industrial Strength IoT Devices on Amazon Web Services"  na webu DigiKey.com, autorem je Stephen Evanczuk.

Hodnocení článku: