Ez a cikk a Microsoft és egy nagyobb vasúttársaság együttműködését ismerteti egy ioT-vonatkarbantartási és biztonsági megoldás létrehozása érdekében.
Architektúra
Töltse le az architektúra Visio-fájlját.
Adatfolyam
- A pályamenti bungalóban található Hálózati csatlakoztatott tároló (NAS) rendszerképfájl-kiszolgáló feldolgozott és kategorizált vonatkerék-rendszerképeket szolgál fel. Az egyes kerekeket ábrázoló három kép összefűzött képet hoz létre.
- Az IoT Edge lekérdezési modul értesíti az IoT Edge-eszközt, hogy új képek érhetők el feldolgozásra.
- Az IoT Edge ML-modul egy külső ml-modellt futtat, amely feldolgozza a képeket, és azonosítja azokat a kerékterületeket, amelyeknél nagyobb ellenőrzésre van szükség.
- Az IoT Edge Riasztáskezelő feltölti az összes képet az Azure Blob Storage-ba, kezdve a potenciálisan hibás képekkel, és visszaadja a képblob URI-jait.
- Az IoT Edge Hub modul a kép URI-jait a kép metaadataihoz társítja, például a berendezéseket vagy az autószámot, a tengelyt, az időbélyeget és a detektor helyét. A modul feltölti a metaadatokat és a riasztásokat az Azure IoT Hubba.
- Az IoT Hub az Event Hubson és az Azure Functionsen keresztül küldi el a metaadatokat egy Azure Cosmos DB-adatbázisba.
- Az Azure Cosmos DB-adatbázis társítja a rendszerkép metaadatait az Azure Blob Storage-ban tárolt képek URI-jaihoz. A rendszer az Azure Cosmos DB-től származó adatokat használhatja a hibafelismeréshez, a trendelemzéshez, a prediktív karbantartáshoz és az ML-modellek újratanításához.
Összetevők
Ez a példa az Azure IoT Edge-eszközöket pályamenti bungalókban helyezi üzembe, a teljesítmény érdekében kiszolgálóosztályú hardvereket használ testre szabott ipari automatizálási kártyákkal és grafikus feldolgozó egységekkel (GPU-k).
Az IoT Edge három összetevőből áll:
Az IoT Edge-modulok olyan tárolók, amelyek azure-beli, külső vagy egyéni összetevőket futtathatnak.
Az IoT Edge ML-modulok támogathatják az Azure Machine Tanulás, a külső ml-modelleket vagy az egyéni kódot. A jelenlegi megoldás egy cogniac nevű, külső gyártótól származó nyílt forráskódú ml-modellt használ a vonatkerekek adatainak pontozására és a lehetséges hibák felismerésére. Az ML-szoftver a nagy és alacsony megbízhatóságú hibaképek előzménymintáit használja az ML-modell újratanításához.
Az IoT Edge-futtatókörnyezet, amely az IoT-ügynökből és az IoT Edge Hubból áll, az IoT Edge-eszközökön fut az üzembe helyezett modulok kezelése és koordinálása érdekében.
A felhőalapú felület távoli monitorozást és felügyeletet tesz lehetővé.
A rendszer a következő Azure-felhőösszetevőket is használja:
Az Azure IoT Hub lehetővé teszi az IoT Edge-modulok biztonságos kétirányú felhőalapú kommunikációját, felügyeletét és monitorozását.
Az Azure Blob Storage a felhő objektumtárolója. A Blob Storage nagy mennyiségű strukturálatlan adat, például a jelen példában szereplő képadatok tárolására van optimalizálva.
Az Azure Cosmos DB egy teljes mértékben felügyelt NoSQL-adatbázis-szolgáltatás, amely alacsony válaszidővel, magas rendelkezésre állással és skálázhatósággal rendelkezik.
Alternatívák
Az IoT Edge-architektúra több modult használ, de a megoldás teljesítménykövetelményeitől vagy a fejlesztői csapat szerkezetétől függően egyetlen modulba tömörülhet.
A vasúttársaság csak a következtetési rendszert birtokolja, és egy harmadik féltől származó gyártóra támaszkodik az ML-modell előállításához. Az ML-modul fekete dobozos jellege függőségi kockázatot jelent. A hosszú távú megoldáskarbantartás megköveteli annak megértését, hogy a harmadik fél hogyan irányítja és osztja meg az eszközöket. Előfordulhat, hogy a rendszer helyőrző ML-modulokat használhat a jövőbeli előjegyzésekhez, ha az ML-eszközök nem érhetők el.
Forgatókönyv részletei
Az Azure IoT Edge lehetővé teszi az adatforráshoz közelebbi adatfeldolgozást és tárolást. A peremhálózati számítási feladatok feldolgozása gyors, konzisztens válaszokat tesz lehetővé, és kevesebb függőséget biztosít a felhőbeli kapcsolatoktól és erőforrásoktól.
A gépi tanulás (ML) és az üzleti logika az adatforrásokhoz való közelebb hozása azt jelenti, hogy az eszközök gyorsabban reagálhatnak a helyi változásokra és a kritikus eseményekre. Az eszközök megbízhatóan működnek offline vagy korlátozott kapcsolat esetén.
A peremhálózati számítástechnika mesterségesintelligencia- és ML-modelleket is tartalmazhat intelligens peremeszközök és hálózatok létrehozásához. A peremhálózat meghatározhatja, hogy mely adatokat küldje el a felhőbe további feldolgozás céljából, és rangsorolja a sürgős és fontos adatokat.
A vasúttársaság az Azure IoT Edge-et akarta használni a biztonság és a hatékonyság javítása érdekében a következők biztosításával:
- A hibás összetevők proaktív azonosítása.
- A karbantartás és javítás prediktív ütemezése.
- Az elemzések és előrejelzések folyamatos fejlesztése.
Az IoT Edge-megoldás próbaprojektje egy vonatkerék állapotelemzési rendszere. Ebben a rendszerben több mint 4000 pálya menti érzékelő folyamatosan figyeli és folyamozza a kerékadatokat a vállalat vonataiból. Az érzékelők:
- Mérje a pályákon lévő berendezések hő- és erőhatását.
- Figyelje meg a láthatatlan kerékcsapágyhibákat vagy a kerék repedéseit.
- Hiányzó vagy helytelenül elhelyezett részek azonosítása.
Az Azure IoT Edge-modulok közel valós időben dolgozzák fel és kezelik a folyamatos streamelési adatokat. Az IoT Edge-modulok kiszolgálóosztályú hardveren futnak trackside bungalókban, lehetővé téve más számítási feladatok későbbi párhuzamos üzembe helyezését. Az IoT Edge-alapú megoldás:
- Azonosítja a veszélyeztetett berendezéseket.
- Meghatározza a javítás sürgősségét.
- Riasztásokat hoz létre.
- Adatokat küld az Azure-felhőbe tárolás céljából.
A kerékállapot-elemző rendszer korai azonosítást biztosít a berendezések esetleges hibáiról, amelyek a vonat kisiklásához vezethetnek. A vállalat tárolt adatokkal észlelheti a trendeket, és tájékoztathatja az előíró karbantartási ütemterveket.
Lehetséges használati esetek
Ez a megoldás ideális a szállítási, telekommunikációs és feldolgozóipar számára. A következő forgatókönyvekre összpontosít:
- Olyan távközlési hálózat, amelynek 99%-os vagy jobb üzemidőt kell fenntartania.
- Éles minőség-ellenőrzés, berendezések javítása és prediktív karbantartás egy gyárban.
- Olyan közlekedésbiztonsági rendszer, amelynek a valós idejű streamelési adatokat kevés késéssel vagy késés nélkül kell feldolgoznia.
- Tranzitrendszerek, amelyeknek időben ütemező értesítéseket és riasztásokat kell biztosítaniuk.
Megfontolások
Ezek a szempontok implementálják az Azure Well-Architected Framework alappilléreit, amely a számítási feladatok minőségének javítására használható vezérelvek halmaza. További információ: Microsoft Azure Well-Architected Framework.
Erre a példára több szempont is vonatkozik.
Üzemeltetés
Az üzembe helyezett megoldáshoz rendelkeznie kell egy Azure-előfizetéssel, amely rendelkezik engedéllyel a szolgáltatásnevek hozzáadásához és az Azure-erőforrások létrehozásához. További információ: Tárolóregisztrációs adatbázisok és szolgáltatásnevek.
Az Azure Pipelines-munkafolyamat beépített Azure IoT Edge-feladatokon keresztül építi, teszteli, telepíti és archiválja az IoT Edge-megoldást. A vasúttársaság a helyszínen üzemelteti a folyamatos integrációs/folyamatos üzembe helyezési (CI/CD) rendszert. Az alábbi ábra a DevOps-architektúrát mutatja be az üzembe helyezéshez:
Az első CI-folyamatban egy kód leküldése a Git-adattárba aktiválja az IoT Edge-modul felépítését, és regisztrálja a modul rendszerképét az Azure Container Registryben.
A CI-folyamat befejezése aktiválja a CD-folyamatot, amely létrehozza az üzembehelyezési jegyzékfájlt, és üzembe helyezi a modult az IoT Edge-eszközökön.
Az üzembe helyezés három környezettel rendelkezik: Dev, QA és Production. A modul-előléptetés a devtől a minőségbiztosításiig, valamint a QA-tól az éles környezetig egyaránt támogatja az automatikus és a manuális kapus ellenőrzéseket.
A megoldás létrehozása és üzembe helyezése a következőket is használja:
- Azure CLI
- A Docker CE vagy a Moby a tárolómodulok létrehozásához és üzembe helyezéséhez
- Fejlesztéshez a Visual Studio vagy a Visual Studio Code a Dockerrel, az Azure IoT-vel és a megfelelő nyelvi bővítményekkel.
Teljesítmény
A rendszer 24 órán belül 99%-os üzemidőt és helyszíni üzenetkézbesítést igényel. A bungaló és az Azure közötti kapcsolat utolsó mérföldjének szolgáltatásminősége (QoS) határozza meg a peremhálózati adatok QoS-ét. A helyi internetszolgáltatók szabályozzák az utolsó mérföldnyi kapcsolatot, és előfordulhat, hogy nem támogatják az értesítésekhez vagy a tömeges adatfeltöltéshez szükséges QoS-t.
Ez a rendszer nem tud csatlakozni a kerékkamerákhoz és a háttéradattárakhoz, így nincs szabályozva vagy képes riasztásokat létrehozni a kamerarendszer vagy a képkiszolgáló meghibásodása esetén.
Ez a megoldás nem helyettesíti a vállalati és szövetségi szabályozó hatóságok által meghatározott meglévő manuális ellenőrzési követelményeket.
Biztonság
A biztonság biztosítékokat nyújt a szándékos támadások és az értékes adatokkal és rendszerekkel való visszaélés ellen. További információ: A biztonsági pillér áttekintése.
Az IoT Edge-rendszerek biztonsági és monitorozási szempontjai. Ehhez a példához:
- A vállalat meglévő, harmadik féltől származó vállalati megoldása a rendszermonitorozást is magában foglalta.
- A pálya menti bungalók fizikai biztonsága és a hálózati biztonság már érvényben volt.
- Az IoT Edge-ből a felhőbe irányuló Csatlakozás alapértelmezés szerint biztonságosak.
Következő lépések
- A számítástechnika jövője: intelligens felhő és intelligens peremhálózat
- Az Azure IoT Edge dokumentációja
- IoT Edge-modulok létrehozása
- Végpontok közötti megoldás az Azure Machine Tanulás és az IoT Edge használatával
- Folyamatos integráció és folyamatos üzembe helyezés az Azure IoT Edge-ben
- Azure IoT Edge-modulok üzembe helyezése az Azure Portalról
GitHub-projektek:
- CloudEvents
- Azure IoT Edge és RabbitMQ
- Cookiecutter-sablon az Azure IoT Edge Python-modulhoz
- Streamelés nagy méretekben
- ServiceBusExplorer
- DASH az Azure Storage-hoz
Megoldástanulási erőforrások:
- Docker kompatibilitási mátrix
- Jenkins Azure IoT Edge beépülő modul
- Event Sourcing
- Reagálás Blob Storage-eseményekre
- Azure Blob Storage-kötések az Azure Functions számára
- Kiszolgáló nélküli streamelés nagy méretekben az Azure Cosmos DB-vel
- Mikor kerüljük el a CQRS-t?