Implementeer snel een veilig cloud-verbonden IoT-apparaatnetwerk, compleet met edge computing-mogelijkheden
Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey
2020-05-06
Hoewel er veel vraag naar is, kan de implementatie van een Internet of Things (IoT)-netwerk met edge computing-resources een ontmoedigende onderneming zijn met meerdere vereisten voor eindpuntapparaten, edge computing-systemen en veilige cloudconnectiviteit. Hoewel afzonderlijke elementen van de vereiste oplossing gemakkelijk verkrijgbaar zijn, vereist de integratie ervan in een naadloze, efficiënte IoT-toepassing een onderdompeling in de complexe taken van de implementatie van niet alleen de endpoint- en edge-hardwareplatforms, maar ook de service-interfaces, communicatiemethoden en beveiligingsprotocollen die vereist zijn door IoT-cloudproviders.
De laatste tijd is er een gestage stroom van beter geïntegreerde IoT-oplossingen op gang gekomen om ontwikkelaars te helpen sneller op de markt te komen. Zo biedt een reeks cloud-ready endpoint- en edge computing-producten van Microchip Technology een kant-en-klare oplossing die is ontworpen om gemakkelijk verbinding te maken met Amazon Web Services (AWS) IoT-diensten en de AWS IoT Greengrass edge computing-dienst.
In dit artikel zal kort worden besproken waarom intelligentie aan de rand moet worden ingezet. Het zal dan Microchip's AWS-gekwalificeerde boards introduceren die dienen als cloud-ready sensor endpoint systemen. Het artikel zal vervolgens laten zien hoe die eindpunten kunnen worden gecombineerd met een edge computing-platform op basis van een draadloos system-on-module (SOM) dat vooraf is geladen met AWS-referenties en servicesoftware om bijna transparante connectiviteit met de AWS-cloud te bieden.
Combinatie van eindpunt- en randsysteem
De snelle beschikbaarheid van goedkope systemen met laag stroomverbruik heeft de implementatie vereenvoudigd van zogenaamde eindpuntsystemen, d.w.z. de sensor- en actuatorapparaten die het verst verwijderd zijn van de periferie van de ivd-toepassing. Hoewel deze endpointsystemen in veel IoT-toepassingen rechtstreeks verbinding maken met de cloud, vereisen complexere toepassingen vaak de inzet van zogenaamde edge-systemen, die functioneel tussen de endpoints en de IoT-cloud liggen.
Door lokale verwerkingsmogelijkheden te bieden in de nabijheid van een reeks IoT-eindpunten, kunnen edge-systemen de latentie verminderen in krappe feedbacklussen, of voldoen aan timingvereisten voor industriële procesbesturing. Edge-systemen bieden lokale hulpbronnen die nodig zijn om complexere algoritmen te verwerken, zoals inferentie voor machinaal leren, of geavanceerde preprocessingroutines die worden gebruikt om gegevens op te schonen en het volume en de snelheid van de naar de cloud gestuurde gegevens te verminderen. Deze lokale verwerkingscapaciteit blijkt van cruciaal belang te zijn voor de ondersteuning van geavanceerd veiligheidsbeleid en privacy-eisen, zoals het minimaliseren van gegevens voordat ze over het openbare internet worden doorgegeven.
IoT-toepassingen verbeteren met AWS IoT Greengrass
Amazon Web Services (AWS) formaliseert de mogelijkheden voor edge processing met zijn AWS IoT Greengrass-dienst, die een deel van zijn clouddiensten als Greengrass Core op het edge-apparaat laat draaien. Greengrass is ontworpen om nauw samen te werken met clouddiensten die draaien op schaalbare AWS-cloudbronnen, en biedt een relatief eenvoudig pad voor het implementeren en bijwerken van inferentiemodellen voor machinaal leren die zijn gebouwd met tools zoals het volledig beheerde AWS SageMaker-platform voor machinaal leren (figuur 1).
Figuur 1: AWS IoT Greengrass vereenvoudigt lokale verwerking en edge deployment van geavanceerde functionaliteit, waaronder machine learning modellen getraind in de AWS SageMaker machine learning omgeving. (Bron afbeelding: Amazon Web Services)
Lokale verwerking is slechts één van de voordelen van een edge service zoals AWS Greengrass. Doordat edge-systemen een soort interfacebuffer vormen tussen eindpuntsystemen en cloudbronnen, spelen ze ook een belangrijke rol bij het voldoen aan de eisen van ivd-toepassingen op het gebied van kortere latentie, betere privacy en beveiliging, en betere beschikbaarheid. AWS Greengrass biedt de basis voor het leveren van deze mogelijkheden.
In het AWS Greengrass model, na een eenmalige ontdekkingsfase met cloud diensten, communiceren eindpunt apparaten binnen een gedefinieerde Greengrass groep met elkaar door gebruik te maken van MQ Telemetry Transport (MQTT) messaging beheerd door een Greengrass Core apparaat (Figuur 2).
Figuur 2: Binnen een AWS IoT Greengrass groep kunnen eindpuntapparaten met elkaar en de cloud communiceren met behulp van MQTT-berichten die worden beheerd door een Greengrass Core-apparaat. (Bron afbeelding: Amazon Web Services)
Eenmaal ingezet in een Greengrass groep, kunnen apparaten samenwerken om lange rondreisvertragingen te vermijden die voorkomen in IoT implementaties die gebruik maken van IoT apparaten die direct met de cloud communiceren. In plaats daarvan kunnen apparaten elkaar rechtstreeks berichten sturen via MQTT kanalen, bemiddeld door de lokale verwerkingsmogelijkheden van het Greengrass Core apparaat.
Als de verbinding met de cloud wegvalt, kunnen de apparaten blijven functioneren onder beheer van het Greengrass kernapparaat. Omgekeerd, als een apparaat offline gaat, kunnen andere apparaten en de cloud-gebaseerde toepassing blijven functioneren met behulp van gegevens die worden bijgehouden door een virtuele apparaatschaduw die aan elk fysiek apparaat is gekoppeld (figuur 3).
Figuur 3: Edge computing service architecturen zoals AWS IoT Greengrass helpen de beschikbaarheid op peil te houden door schaduwapparaten te leveren die de meest recente toestandsgegevens van het apparaat kunnen bijhouden, waardoor IoT-toepassingen kunnen blijven functioneren, zelfs als het bijbehorende fysieke apparaat offline gaat. (Bron afbeelding: Amazon Web Services)
Hoewel het concept eenvoudig is, kan de uitvoering van deze coördinatie tussen een reeks ivd-apparaten een hele uitdaging vormen. Voor een doorsnee IoT-ontwikkelaar vormt de volledige benutting van deze edge computing-mogelijkheden een ontmoedigende combinatie van uitdagingen op het gebied van hardware, software en systeembeheer. Op hardwareniveau moet een netwerk van geschikte eindpunt- en randapparatuur worden opgebouwd en uitgerold. Er moet software worden geschreven voor veilige communicatie binnen het lokale netwerk van IoT-eindpunten en randapparatuur, en met clouddiensten. Ten slotte moeten deze apparaten naar behoren worden geconfigureerd, voorzien van passende private sleutels en certificeringen, en onderling en met de IoT-clouddienst worden geauthenticeerd.
Om het proces te vereenvoudigen, biedt een set van Microchip boards AWS-gekwalificeerde drop-in oplossingen voor zowel endpoint- als edge-apparaten die in staat zijn om eenvoudig en veilig verbinding te maken met de AWS Greengrass Core lokaal, en met de AWS IoT Core in de cloud.
Cloud-ready endpoint systemen
De PIC-IoT WA- en AVR-IoT WA-kaarten van Microchip zijn ontworpen om snel te worden ingezet als endpoint-systemen en bieden out-of-the-box connectiviteit met AWS IoT Core. De twee kaarten bieden dezelfde algemene functionaliteit, maar zijn ontworpen om vertrouwde platforms te bieden voor ontwikkelaars die gewend zijn te werken met de Microchip PIC microcontroller familie, en voor degenen die werken met de Microchip AVR ATmega microcontroller familie. De AVR-IoT WA kaart is gebaseerd op de Microchip ATMEGA4808 8-bit microcontroller en maakt gebruik van dezelfde reeks componenten als de PIC-IoT WA (figuur 4), die gebaseerd is op de Microchip PIC24FJ128GA705 16-bit microcontroller.
Figuur 4: De Microchip AVR-IoT WA- en PIC-IoT WA-borden bieden cloud-ready eindpuntsystemen die dezelfde aanvulling van ondersteunende apparaten omvatten, gebouwd rond verschillende Microchip-microcontrollers, waaronder een 16-bits PIC-microcontroller voor het hier getoonde PIC-IoT WA-bord. (Bron afbeelding: Microchip Technology)
Voor de connectiviteit bevatten de kaarten elk een Microchip ATWINC1510-MR210PB gecertificeerde Wi-Fi-module, speciaal ontworpen voor low-power IoT-apparaten. De module bevat 8 megabits (Mbits) flash en een complete zend- en ontvangsradiofrequentiesignaalketen (RF), waaronder een vermogensversterker (PA), een ruisarme versterker (LNA), een RF-schakelaar, vermogensbeheer en een gedrukte antenne. Samen met het geïntegreerde ROM (read-only memory) voor het snel opstarten van firmware, ondersteunt de ingebouwde netwerkstack standaard internetprotocollen met hardwareversnellers om Transport Layer Security (TLS) en Wi-Fi-beveiligingsprotocollen te versnellen.
Naast een Microchip MCP9808 digitale precisie-temperatuursensor en een Vishay TEMT6000X01 fotodiode sensor, bevat elk bord een mikroBUS connector. Met behulp van deze connector kunnen ontwikkelaars de hardwarebasis eenvoudig uitbreiden door add-on kaarten te selecteren uit de brede selectie van beschikbare Mikroe Click kaarten. Voor stroomvoorziening en batterijbeheer bevatten de kaarten elk een Microchip MCP73871T-2CCI/ML-apparaat, dat zowel systeemvoeding levert als lithium-ionbatterijen oplaadt via een USB-voedingsbron of wandadapter.
Voor de beveiliging bevat elk bord een Microchip ATECC608A beveiligd element. Voor deze borden wordt dit apparaat geleverd met vooraf ingestelde sleutels en certificaten om out-of-the-box ondersteuning te bieden voor AWS IoT-verificatie en beveiligingsmechanismen.
Met behulp van hun verzameling van on-board hardware componenten en vooraf geladen firmware, zijn de boards ontworpen om met minimale inspanning verbinding te maken met AWS IoT Core. Ontwikkelaars hoeven het bord alleen maar aan te zetten met een micro USB-kabel aangesloten op hun personal computer. Nadat het bord verbinding heeft gemaakt met een lokaal Wi-Fi-toegangspunt met behulp van de eigen referenties of die van de ontwikkelaar, maakt het automatisch een MQTT-verbinding met AWS IoT Core met behulp van de ingebouwde TCP/IP-stack van de Wi-Fi-module en vooraf ingestelde beveiligingsreferenties. Nadat de MQTT verbinding tot stand is gebracht, begint het bord onmiddellijk met het verzenden van gegevens van zijn temperatuur- en lichtsensoren. Ontwikkelaars kunnen de resultaten bekijken op een apparaatspecifieke pagina in een Microchip sandbox-account.
Microchip biedt deze basistoepassing aan in afzonderlijke repositories voor PIC-IoT WA-code en AVR-IoT WA-code. Door deze code te bestuderen, kunnen ontwikkelaars snel inzicht krijgen in de basisontwerppatronen, zoals het gebruik van MQTT-verbindingen bij de communicatie met de cloud om sensorgegevens te verzenden en om opdrachten of gegevens te ontvangen (Listing 1).
Kopieer
// This will get called every 1 second only while we have a valid Cloud connection
static void sendToCloud(void)
{
static char json[PAYLOAD_SIZE];
static char publishMqttTopic[PUBLISH_TOPIC_SIZE];
ledTickState_t ledState;
int rawTemperature = 0;
int light = 0;
int len = 0;
memset((void*)publishMqttTopic, 0, sizeof(publishMqttTopic));
sprintf(publishMqttTopic, "%s/sensors", cid);
// This part runs every CFG_SEND_INTERVAL seconds
if (shared_networking_params.haveAPConnection)
{
rawTemperature = SENSORS_getTempValue();
light = SENSORS_getLightValue();
len = sprintf(json,"{\"Light\":%d,\"Temp\":%d.%02d}", light,rawTemperature/100,abs(rawTemperature)%100);
}
if (len >0)
{
CLOUD_publishData((uint8_t*)publishMqttTopic ,(uint8_t*)json, len);
if (holdCount)
{
holdCount--;
}
else
{
ledState.Full2Sec = LED_BLIP;
LED_modeYellow(ledState);
}
}
}
//This handles messages published from the MQTT server when subscribed
static void receivedFromCloud(uint8_t *topic, uint8_t *payload)
{
char *toggleToken = "\"toggle\":";
char *subString;
ledTickState_t ledState;
sprintf(mqttSubscribeTopic, "$aws/things/%s/shadow/update/delta", cid);
if (strncmp((void*) mqttSubscribeTopic, (void*) topic, strlen(mqttSubscribeTopic)) == 0)
{
if ((subString = strstr((char*)payload, toggleToken)))
{
if (subString[strlen(toggleToken)] == '1')
{
setToggleState(TOGGLE_ON);
ledState.Full2Sec = LED_ON_STATIC;
LED_modeYellow(ledState);
}
else
{
setToggleState(TOGGLE_OFF);
ledState.Full2Sec = LED_OFF_STATIC;
LED_modeYellow(ledState);
}
holdCount = 2;
}
}
debug_printer(SEVERITY_NONE, LEVEL_NORMAL, "topic: %s", topic);
debug_printer(SEVERITY_NONE, LEVEL_NORMAL, "payload: %s", payload);
updateDeviceShadow();
}
Listing 1: Ontwikkelaars kunnen codevoorbeelden in Microchip's softwarerepositories bestuderen om een beter inzicht te krijgen in belangrijke ontwerppatronen zoals het uitwisselen van MQTT-berichten met cloud-diensten, zoals in deze twee functies wordt getoond. (Codebron: Microchip Technology)
Ontwikkelaars kunnen deze code uitbreiden met behulp van een verscheidenheid aan ontwikkelingshulpmiddelen. Microchip ondersteunt software-ontwikkeling op maat met zijn MPLAB X geïntegreerde ontwikkelomgeving (IDE), cloud-gebaseerde MPLAB Xpress IDE, en gratis MPLAB XC-compilers. Voor het debuggen is elk bord voorzien van de Microchip PICkit On-Board (PKOB) nano debugger, die de noodzaak voor een extra debugging hardware-interface overbodig maakt. Ontwikkelaars hebben toegang tot de PKOB debugger via de USB-verbinding met hun personal computer terwijl ze werken in de MPLAB X IDE.
AWS Greengrass-klare oplossing
Microchip maakt het uitbreiden van hun IoT-netwerk met edge computing resources op basis van AWS Greengrass bijna net zo eenvoudig als het implementeren van cloud-connected endpoints.
Voor het edge computing platform levert Microchip zijn ATSAMA5D27-WLSOM1 wireless (WL) system-on-module (SoM) met AWS gekwalificeerde AWS Greengrass ondersteuning. Net als bij de Microchip endpoint boards, biedt de ATSAMA5D27-WLSOM1 een uitgebreid hardware platform dat is ontworpen om eenvoudig verbinding te maken met AWS IoT Core diensten (figuur 5).
Figuur 5: De Microchip ATSAMA5D27-WLSOM1 integreert een volledige aanvulling van apparaten die nodig zijn om een AWS IoT Greengrass gekwalificeerd edge computing systeem te leveren. (Bron afbeelding: Microchip Technology)
Als host-processor gebruikt de WLSOM1 de zuinige SAMA5D27 system-in-package (SiP) ATSAMA5D27C-LD2G-CU, waarin de krachtige , op een Arm Cortex-A5-processor gebaseerde SAMA5D27 van Microchip is geïntegreerd, die twee gigabit (Gbits) aan low-power double data rate 2 synchroon dynamisch random-access geheugen (LPDDR2-SDRAM) bevat.
Net als de eindpuntkaarten bevat de WLSOM1 van Microchip een gecertificeerde draadloze module. In dit geval gebruikt Microchip zijn ATWILC3000, die zowel Wi-Fi als Bluetooth-connectiviteit met coëxistentie ondersteunt door gebruik te maken van een combinatie van geïntegreerde hardwareversnellers, geïntegreerde processoren en stack-firmware. De WLSOM1 biedt ook bekabelde connectiviteit die wordt beheerd door een Microchip KSZ8081RNAIA Ethernet transceiver. Microchip neemt zijn 64 Mbit SST26VF064BEUI flash mee, die vooraf is voorzien van een IEEE toegewezen 6-byte extended unique identifier (EUI-48) en 8-byte EUI-64. Dit garandeert een wereldwijd uniek MAC-adres voor een betrouwbare verbinding met het openbare internet. (Zie"Flash-geheugen met een ingebouwd MAC-adres kan echt helpen tijdens de ontwikkeling")
Tenslotte bevat de WLSOM1 het ATECC608A secure element voor hardwarematige beveiliging. Dankzij de hoge mate van integratie heeft de WLSOM1 relatief weinig componenten nodig, afgezien van ontkoppelingscondensatoren en pullupweerstanden, om de hardware-interface in een printontwerp te implementeren.
Het opzetten van een WLSOM1-gebaseerd bord op AWS IoT Greengrass vergt zeer weinig inspanning. In feite bestaat het grootste deel van de inspanning uit het opzetten van AWS-diensten voor het gebruik ervan. Microchip voorziet ontwikkelaars van stap-voor-stap handleidingen hiervoor, inclusief hoe een AWS account aan te maken en hoe een Greengrass groep van Greengrass core en endpoint apparaten te definiëren. Na het bouwen van het doelsysteem op een Linux ontwikkelsysteem, uploaden ontwikkelaars het doelbeeld, Greengrass Core software, en certificaten naar de WLSOM1, meestal met behulp van een secure digital card (SDCard) flash drive.
Authenticatie en beveiligde communicatie verlopen transparant voor de ontwikkelaar dankzij de hardwarematige beveiliging die door het ATECC608A secure element wordt geboden. Voor Greengrass edge systemen speelt de ATECC608A echter een grotere rol in het beschermen van de private sleutels die ten grondslag liggen aan veilige communicatie tussen de Greengrass Core die draait op het edge systeem en de AWS cloud.
Apparaten in een Greengrass groep vertrouwen op digitale certificaten om elkaar en hun berichten te authenticeren binnen de groep en met cloud-gebaseerde AWS diensten (Figuur 6). Als de onderliggende beveiligingsmechanismen en -protocollen worden gecompromitteerd door blootliggende privésleutels of frauduleuze certificaten, kunnen de groep en zelfs de cloudgebaseerde middelen op hun beurt worden gecompromitteerd.
Figuur 6: Om veilige communicatietransacties te garanderen, vertrouwen AWS-clouddiensten en AWS IoT Greengrass-groepen op meerdere certificaten die worden ondersteund door privésleutels die zijn opgeslagen in eindpunten en het Greengrass Core-apparaat. (Beeldbron: Amazon Web Service
AWS beschermt zichzelf en de toepassingen van zijn gebruikers door alleen interacties toe te staan met vertrouwde apparaten die een hardware beveiligd element bevatten dat in staat is om de private sleutels te beschermen die worden gebruikt voor beveiligde communicatie tussen het Greengrass Core apparaat en de AWS IoT Core, en tussen het Greengrass Core apparaat en de eindpunten (Figuur 7).
Figuur 7: Een Greengrass Core-apparaat vertrouwt op de veilige opslag van private sleutels met behulp van veilige elementen zoals de ATECC608A-apparatuur die is geïntegreerd in de Microchip ATSAMA5D27-WLSOM1 draadloze SOM. (Bron afbeelding: Amazon Web Services)
AWS heeft zowel de WLSOM1 als het ATECC608A secure element geïdentificeerd als Greengrass gekwalificeerde oplossingen die aan zijn beveiligingseisen kunnen voldoen. In feite ondersteunt de ATECC608A de verbeterde beveiligingsmogelijkheden van AWS die worden geboden in de IoT Greengrass Hardware Security Integration (HSI). HSI maakt gebruik van de Public Key Cryptography Standards #11, waarin een applicatieprogrammeringsinterface (API) voor communicatie tussen een processor en een hardwarebeveiligingsmodule (HSM) voor de opslag van particuliere sleutels is vastgelegd, die aan de industrienormen voldoet. In WLSOM1 wordt de ATECC608A aangeduid als een AWS Greengrass gekwalificeerde HSM. Ondersteuning voor deze standaard beveiligingsinterface is bijzonder belangrijk voor op Linux gebaseerde systemen die worden gebruikt in randsystemen in het algemeen, en in Greengrass Core apparaten in het bijzonder
Met behulp van deze veilige softwarebasis kunnen ontwikkelaars hun Greengrass Core edge-systemen veilig uitbreiden met lokale verwerkingsmogelijkheden met behulp van AWS Lambda-functies, die een relatief eenvoudig event-gedreven programmeermodel bieden. Terwijl aangepaste code op het Greengrass Core-apparaat specifieke toepassingsvereisten kan ondersteunen, stellen AWS Lambda-functies deze apparaten in staat om rechtstreeks met AWS-clouddiensten te communiceren. Ontwikkelaars kunnen bijvoorbeeld eenvoudig Lambda-functies implementeren die eindpunten verbinden met AWS-diensten, zoals Amazons NoSQL DynamoDB-databasemanagementsysteem voor gegevensopslag of andere diensten in de uitgebreide set van AWS-aanbiedingen (figuur 8).
Figuur 8: AWS IoT Greengrass stelt edge-systemen in staat om lokale verwerking te bieden, inclusief het gebruik van AWS Lambda-functies voor eenvoudige integratie met AWS-clouddiensten voor dataopslag, machine learning en andere mogelijkheden. (Bron afbeelding: Amazon Web Services)
Conclusie
De implementatie van een IoT-netwerk met edge computing resources kan een ontmoedigende onderneming blijken te zijn met meerdere vereisten voor eindpuntapparaten, edge computing-systemen en veilige cloudconnectiviteit. Afzonderlijke onderdelen van de vereiste oplossing bestaan, maar door ze te integreren in een gecoördineerde IoT-toepassing worden ontwikkelaars geconfronteerd met de complexe taken van het implementeren van de service-interfaces, communicatiemethoden en beveiligingsprotocollen die vereist zijn door IoT-cloudproviders.
Zoals getoond, biedt een set cloud-ready endpoint- en edge computing-producten van Microchip Technology een kant-en-klare oplossing die is ontworpen om gemakkelijk verbinding te maken met AWS IoT-diensten en de AWS IoT Greengrass edge computing-dienst. Ontwikkelaars kunnen Microchip's AWS gekwalificeerde endpoint boards en een draadloos system-on-module edge computing platform gebruiken om bijna transparante connectiviteit met de AWS cloud te bieden en de implementatie van IoT-netwerken te versnellen.
Verdere lectuur
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




