From c0a6bf10a6519b1e0192f95db6938198a416a6df Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:02:46 +0000 Subject: [PATCH] deploy: a7882a5916e9938ad6b320e84b5e7038725cf605 --- 404.html | 4 ++-- ...ecture-8d97f9beabe51773a278b6aa1c66fdfc.jpg | Bin 193131 -> 0 bytes ...ecture-ff30194687d6d921534d28bb801abe74.jpg | Bin 0 -> 193478 bytes assets/js/118e913f.ee963465.js | 1 + assets/js/118e913f.f2bd9d2c.js | 1 - ...5f2afb.9a45f291.js => 935f2afb.df6e34ad.js} | 2 +- assets/js/d72ac48e.0f042fb3.js | 1 + assets/js/d72ac48e.dc56210c.js | 1 - ...in.001351f7.js => runtime~main.e48836bb.js} | 2 +- blog.html | 4 ++-- blog/archive.html | 4 ++-- blog/first-blog-post.html | 4 ++-- blog/long-blog-post.html | 4 ++-- blog/mdx-blog-post.html | 4 ++-- blog/tags.html | 4 ++-- blog/tags/docusaurus.html | 4 ++-- blog/tags/facebook.html | 4 ++-- blog/tags/hello.html | 4 ++-- blog/tags/hola.html | 4 ++-- blog/welcome.html | 4 ++-- docs/category/examples.html | 4 ++-- docs/category/guides.html | 4 ++-- docs/category/installation.html | 4 ++-- docs/category/manual.html | 4 ++-- docs/category/overview.html | 6 +++--- docs/examples/ball-example.html | 4 ++-- docs/examples/raspberry-example.html | 4 ++-- .../raspberry-example/sending-data.html | 4 ++-- docs/examples/string-example.html | 4 ++-- docs/guides/add-3d-visualization.html | 4 ++-- docs/guides/connect-dt-with-real-devices.html | 4 ++-- docs/guides/create-dt-scheme.html | 4 ++-- docs/installation/manual-deploy/3d-part.html | 4 ++-- docs/installation/manual-deploy/core.html | 4 ++-- docs/installation/manual-deploy/ml-part.html | 4 ++-- .../manual-deploy/simulations-part.html | 4 ++-- docs/installation/requirements.html | 4 ++-- docs/installation/using-helm.html | 4 ++-- docs/overview/architecture.html | 8 ++++---- docs/overview/concepts.html | 6 +++--- docs/overview/purpose.html | 4 ++-- docs/quickstart.html | 4 ++-- index.html | 4 ++-- markdown-page.html | 4 ++-- 44 files changed, 80 insertions(+), 80 deletions(-) delete mode 100644 assets/images/architecture-8d97f9beabe51773a278b6aa1c66fdfc.jpg create mode 100644 assets/images/architecture-ff30194687d6d921534d28bb801abe74.jpg create mode 100644 assets/js/118e913f.ee963465.js delete mode 100644 assets/js/118e913f.f2bd9d2c.js rename assets/js/{935f2afb.9a45f291.js => 935f2afb.df6e34ad.js} (76%) create mode 100644 assets/js/d72ac48e.0f042fb3.js delete mode 100644 assets/js/d72ac48e.dc56210c.js rename assets/js/{runtime~main.001351f7.js => runtime~main.e48836bb.js} (96%) diff --git a/404.html b/404.html index 9ea4d3e..5ffe9ae 100644 --- a/404.html +++ b/404.html @@ -5,13 +5,13 @@ Page Not Found | OpenTwins - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/assets/images/architecture-8d97f9beabe51773a278b6aa1c66fdfc.jpg b/assets/images/architecture-8d97f9beabe51773a278b6aa1c66fdfc.jpg deleted file mode 100644 index eb2780fae9c64f0a34ea01b20f772d63b5d7ac72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193131 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 z 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 diff --git a/assets/images/architecture-ff30194687d6d921534d28bb801abe74.jpg b/assets/images/architecture-ff30194687d6d921534d28bb801abe74.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7069f9f5a8028ce78fbd5017beafc4c3c734532a GIT binary patch literal 193478 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.d(t,{Zo:()=>p,kt:()=>f});var n=i(7294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function r(e){for(var t=1;t=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var c=n.createContext({}),s=function(e){var t=n.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},p=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var i=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=s(i),m=a,f=d["".concat(c,".").concat(m)]||d[m]||u[m]||o;return i?n.createElement(f,r(r({ref:t},p),{},{components:i})):n.createElement(f,r({ref:t},p))}));function f(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=i.length,r=new Array(o);r[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[d]="string"==typeof e?e:a,r[1]=l;for(var s=2;s{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>s});var n=i(7462),a=(i(7294),i(3905));const o={sidebar_position:2},r="Concepts",l={unversionedId:"overview/concepts",id:"overview/concepts",title:"Concepts",description:'In this section, we will explore in depth the concept of a digital twin as defined by the platform. We will detail the information it can contain, explain the idea of a "digital twin type", and discuss how the composition works.',source:"@site/docs/overview/concepts.md",sourceDirName:"overview",slug:"/overview/concepts",permalink:"/opentwins/docs/overview/concepts",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/overview/concepts.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Purpose",permalink:"/opentwins/docs/overview/purpose"},next:{title:"Architecture",permalink:"/opentwins/docs/overview/architecture"}},c={},s=[{value:"Digital twin definition",id:"digital-twin-definition",level:3},{value:"Digital twin content",id:"digital-twin-content",level:3},{value:"Digital twin type",id:"digital-twin-type",level:3},{value:"Digital twins composition",id:"digital-twins-composition",level:3}],p={toc:s},d="wrapper";function u(e){let{components:t,...i}=e;return(0,a.kt)(d,(0,n.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"concepts"},"Concepts"),(0,a.kt)("p",null,'In this section, we will explore in depth the concept of a digital twin as defined by the platform. We will detail the information it can contain, explain the idea of a "digital twin type", and discuss how the composition works.'),(0,a.kt)("h3",{id:"digital-twin-definition"},"Digital twin definition"),(0,a.kt)("p",null,"In the platform, ",(0,a.kt)("strong",{parentName:"p"},"a digital twin is defined as a replica of a real entity"),", whether tangible or not. This replica can be considered as an enhancement to monitoring the entity because, although it is not strictly necessary to be classified as a digital twin, it is beneficial to connect the real data of the entity with those generated by means of mathematical simulations or artificial intelligence. In this way, ",(0,a.kt)("strong",{parentName:"p"},"the digital twin becomes a central point that integrates all available sources of information on the entity"),", facilitating a unified, fast and effective query that promotes decision-making and, therefore, the optimization of the real entity."),(0,a.kt)("h3",{id:"digital-twin-content"},"Digital twin content"),(0,a.kt)("p",null,"A digital twin is composed of static and dynamic data. "),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Static data.")," Information relevant to the digital twin that is expected to remain constant, such as the model, the date of acquisition or the location of the machine we are replicating. ")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Dynamic data.")," Data that changes over time and that we will record in time series, such as the position of a mobile robot or the values measured by a sensor."))),(0,a.kt)("p",null,"TENGO QUE EXPLICAR AQUI QUE ES UN THING, QUE STATIC ES ATTRIBUTE Y TO LO DE DITTO VAYA. ABAJO TAMBIEN TEMA POLITICAS Y DEMAS."),(0,a.kt)("p",null,"For example, consider a DHT22 temperature and humidity sensor. Its digital twin, represented in JSON format following the ",(0,a.kt)("a",{parentName:"p",href:"https://eclipse.dev/ditto/basic-thing.html"},"schema provided by Eclipse Ditto"),", would look like this:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "policyId": "example:DHT22",\n "attributes": {\n "location": "Spain"\n },\n "features": {\n "temperature": {\n "properties": {\n "value": null\n }\n },\n "humidity": {\n "properties": {\n "value": null\n }\n }\n }\n}\n')),(0,a.kt)("h3",{id:"digital-twin-type"},"Digital twin type"),(0,a.kt)("h3",{id:"digital-twins-composition"},"Digital twins composition"))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/118e913f.f2bd9d2c.js b/assets/js/118e913f.f2bd9d2c.js deleted file mode 100644 index 1cb9716..0000000 --- a/assets/js/118e913f.f2bd9d2c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7979],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=i.createContext({}),s=function(e){var t=i.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=s(e.components);return i.createElement(c.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=s(n),m=a,f=d["".concat(c,".").concat(m)]||d[m]||u[m]||r;return n?i.createElement(f,o(o({ref:t},p),{},{components:n})):i.createElement(f,o({ref:t},p))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,o=new Array(r);o[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[d]="string"==typeof e?e:a,o[1]=l;for(var s=2;s{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>l,toc:()=>s});var i=n(7462),a=(n(7294),n(3905));const r={sidebar_position:2},o="Concepts",l={unversionedId:"overview/concepts",id:"overview/concepts",title:"Concepts",description:'In this section, we will explore in depth the concept of a digital twin as defined by the platform. We will detail the information it can contain, explain the idea of a "digital twin type", and discuss how the composition works.',source:"@site/docs/overview/concepts.md",sourceDirName:"overview",slug:"/overview/concepts",permalink:"/opentwins/docs/overview/concepts",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/overview/concepts.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Purpose",permalink:"/opentwins/docs/overview/purpose"},next:{title:"Architecture",permalink:"/opentwins/docs/overview/architecture"}},c={},s=[{value:"Digital twin definition",id:"digital-twin-definition",level:3},{value:"Digital twin content",id:"digital-twin-content",level:3}],p={toc:s},d="wrapper";function u(e){let{components:t,...n}=e;return(0,a.kt)(d,(0,i.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"concepts"},"Concepts"),(0,a.kt)("p",null,'In this section, we will explore in depth the concept of a digital twin as defined by the platform. We will detail the information it can contain, explain the idea of a "digital twin type", and discuss how the composition works.'),(0,a.kt)("h3",{id:"digital-twin-definition"},"Digital twin definition"),(0,a.kt)("p",null,"In the platform, ",(0,a.kt)("strong",{parentName:"p"},"a digital twin is defined as a replica of a real entity"),", whether tangible or not. This replica can be considered as an enhancement to monitoring the entity because, although it is not strictly necessary to be classified as a digital twin, it is beneficial to connect the real data of the entity with those generated by means of mathematical simulations or artificial intelligence. In this way, ",(0,a.kt)("strong",{parentName:"p"},"the digital twin becomes a central point that integrates all available sources of information on the entity"),", facilitating a unified, fast and effective query that promotes decision-making and, therefore, the optimization of the real entity."),(0,a.kt)("h3",{id:"digital-twin-content"},"Digital twin content"),(0,a.kt)("p",null,"A digital twin is composed of static and dynamic data. "),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Static data.")," Information relevant to the digital twin that is expected to remain constant, such as the model, the date of acquisition or the location of the machine we are replicating. ")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Dynamic data.")," Data that changes over time and that we will record in time series, such as the position of a mobile robot or the values measured by a sensor."))),(0,a.kt)("p",null,"TENGO QUE EXPLICAR AQUI QUE ES UN THING, QUE STATIC ES ATTRIBUTE Y TO LO DE DITTO VAYA. ABAJO TAMBIEN TEMA POLITICAS Y DEMAS."),(0,a.kt)("p",null,"For example, consider a DHT22 temperature and humidity sensor. Its digital twin, represented in JSON format following the ",(0,a.kt)("a",{parentName:"p",href:"https://eclipse.dev/ditto/basic-thing.html"},"schema provided by Eclipse Ditto"),", would look like this:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "policyId": "example:DHT22",\n "attributes": {\n "location": "Spain"\n },\n "features": {\n "temperature": {\n "properties": {\n "value": null\n }\n },\n "humidity": {\n "properties": {\n "value": null\n }\n }\n }\n}\n')))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.9a45f291.js b/assets/js/935f2afb.df6e34ad.js similarity index 76% rename from assets/js/935f2afb.9a45f291.js rename to assets/js/935f2afb.df6e34ad.js index 51e1257..dc3bfce 100644 --- a/assets/js/935f2afb.9a45f291.js +++ b/assets/js/935f2afb.df6e34ad.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Quickstart","href":"/opentwins/docs/quickstart","docId":"quickstart"},{"type":"category","label":"Overview","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Purpose","href":"/opentwins/docs/overview/purpose","docId":"overview/purpose"},{"type":"link","label":"Concepts","href":"/opentwins/docs/overview/concepts","docId":"overview/concepts"},{"type":"link","label":"Architecture","href":"/opentwins/docs/overview/architecture","docId":"overview/architecture"}],"href":"/opentwins/docs/category/overview"},{"type":"category","label":"Installation","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Requirements","href":"/opentwins/docs/installation/requirements","docId":"installation/requirements"},{"type":"link","label":"Helm","href":"/opentwins/docs/installation/using-helm","docId":"installation/using-helm"},{"type":"category","label":"Manual","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Core functionality","href":"/opentwins/docs/installation/manual-deploy/core","docId":"installation/manual-deploy/core"},{"type":"link","label":"Kafka-ML conection","href":"/opentwins/docs/installation/manual-deploy/ml-part","docId":"installation/manual-deploy/ml-part"},{"type":"link","label":"3D visualization using Unity","href":"/opentwins/docs/installation/manual-deploy/3d-part","docId":"installation/manual-deploy/3d-part"},{"type":"link","label":"Simulations","href":"/opentwins/docs/installation/manual-deploy/simulations-part","docId":"installation/manual-deploy/simulations-part"}],"href":"/opentwins/docs/category/manual"}],"href":"/opentwins/docs/category/installation"},{"type":"category","label":"Guides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"add-3d-visualization","href":"/opentwins/docs/guides/add-3d-visualization","docId":"guides/add-3d-visualization"},{"type":"link","label":"connect-dt-with-real-devices","href":"/opentwins/docs/guides/connect-dt-with-real-devices","docId":"guides/connect-dt-with-real-devices"},{"type":"link","label":"Create Digital Twin scheme","href":"/opentwins/docs/guides/create-dt-scheme","docId":"guides/create-dt-scheme"}],"href":"/opentwins/docs/category/guides"},{"type":"category","label":"Examples","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Raspberry example","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Sending data to Ditto","href":"/opentwins/docs/examples/raspberry-example/sending-data","docId":"examples/raspberry-example/sending-data"}],"href":"/opentwins/docs/examples/raspberry-example/"},{"type":"link","label":"String and number example","href":"/opentwins/docs/examples/string-example","docId":"examples/string-example"},{"type":"link","label":"Bouncing ball example","href":"/opentwins/docs/examples/ball-example","docId":"examples/ball-example"}],"href":"/opentwins/docs/category/examples"}]},"docs":{"examples/ball-example":{"id":"examples/ball-example","title":"Bouncing ball example","description":"","sidebar":"tutorialSidebar"},"examples/raspberry-example/raspberry-example":{"id":"examples/raspberry-example/raspberry-example","title":"Raspberry example","description":"Requirements","sidebar":"tutorialSidebar"},"examples/raspberry-example/sending-data":{"id":"examples/raspberry-example/sending-data","title":"Sending data to Ditto","description":"In this case we will use a Raspberry Pi 3B with Raspbian buster OS connected to a DHT22 temperature and humidity sensor.","sidebar":"tutorialSidebar"},"examples/string-example":{"id":"examples/string-example","title":"String and number example","description":"","sidebar":"tutorialSidebar"},"guides/add-3d-visualization":{"id":"guides/add-3d-visualization","title":"add-3d-visualization","description":"","sidebar":"tutorialSidebar"},"guides/connect-dt-with-real-devices":{"id":"guides/connect-dt-with-real-devices","title":"connect-dt-with-real-devices","description":"","sidebar":"tutorialSidebar"},"guides/create-dt-scheme":{"id":"guides/create-dt-scheme","title":"Create Digital Twin scheme","description":"","sidebar":"tutorialSidebar"},"installation/manual-deploy/3d-part":{"id":"installation/manual-deploy/3d-part","title":"3D visualization using Unity","description":"","sidebar":"tutorialSidebar"},"installation/manual-deploy/core":{"id":"installation/manual-deploy/core","title":"Core functionality","description":"This section will explain how to deploy the platform manually. Basically, you will have to deploy or install the different components and then connect them. The procedure explained below is the one followed to deploy them in Kubernetes using in most cases the Helm option, but any other installation in which all the components are correctly installed and there is some kind of network between them to be able to communicate can be used.","sidebar":"tutorialSidebar"},"installation/manual-deploy/ml-part":{"id":"installation/manual-deploy/ml-part","title":"Kafka-ML conection","description":"","sidebar":"tutorialSidebar"},"installation/manual-deploy/simulations-part":{"id":"installation/manual-deploy/simulations-part","title":"Simulations","description":"","sidebar":"tutorialSidebar"},"installation/requirements":{"id":"installation/requirements","title":"Requirements","description":"This page lists both software and hardware requirements for using opentwins","sidebar":"tutorialSidebar"},"installation/using-helm":{"id":"installation/using-helm","title":"Helm","description":"Installation","sidebar":"tutorialSidebar"},"overview/architecture":{"id":"overview/architecture","title":"Architecture","description":"OpenTwins is built on a microservices architecture, designed to enhance scalability, flexibility and efficiency in the development, extension, deployment and maintenance of the platform. All the components that make up this architecture are encapsulated in Docker containers, ideally managed through Kubernetes, which ensures efficient portability and management.","sidebar":"tutorialSidebar"},"overview/concepts":{"id":"overview/concepts","title":"Concepts","description":"In this section, we will explore in depth the concept of a digital twin as defined by the platform. We will detail the information it can contain, explain the idea of a \\"digital twin type\\", and discuss how the composition works.","sidebar":"tutorialSidebar"},"overview/purpose":{"id":"overview/purpose","title":"Purpose","description":"This platform has been designed to facilitate the development of digital twins and is characterised by the exclusive use of open source components. The aim is to achieve a platform that covers all the functionalities that a digital twin may require, from the most basic ones, such as simply checking its real-time state, to more advanced ones, such as the inclusion of predicted or simulated data or visualisation of 3D models of the twins.","sidebar":"tutorialSidebar"},"quickstart":{"id":"quickstart","title":"Quickstart","description":"Welcome to OpenTwins, a flexible platform adapted to your needs! Although OpenTwins offers extensive customization options, we understand the importance of simplicity for beginners. Therefore, let\'s embark on a short journey together, showing you the quickest route to deploy the platform and develop a simple, functional digital twin.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Quickstart","href":"/opentwins/docs/quickstart","docId":"quickstart"},{"type":"category","label":"Overview","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Purpose","href":"/opentwins/docs/overview/purpose","docId":"overview/purpose"},{"type":"link","label":"Concepts","href":"/opentwins/docs/overview/concepts","docId":"overview/concepts"},{"type":"link","label":"Architecture","href":"/opentwins/docs/overview/architecture","docId":"overview/architecture"}],"href":"/opentwins/docs/category/overview"},{"type":"category","label":"Installation","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Requirements","href":"/opentwins/docs/installation/requirements","docId":"installation/requirements"},{"type":"link","label":"Helm","href":"/opentwins/docs/installation/using-helm","docId":"installation/using-helm"},{"type":"category","label":"Manual","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Core functionality","href":"/opentwins/docs/installation/manual-deploy/core","docId":"installation/manual-deploy/core"},{"type":"link","label":"Kafka-ML conection","href":"/opentwins/docs/installation/manual-deploy/ml-part","docId":"installation/manual-deploy/ml-part"},{"type":"link","label":"3D visualization using Unity","href":"/opentwins/docs/installation/manual-deploy/3d-part","docId":"installation/manual-deploy/3d-part"},{"type":"link","label":"Simulations","href":"/opentwins/docs/installation/manual-deploy/simulations-part","docId":"installation/manual-deploy/simulations-part"}],"href":"/opentwins/docs/category/manual"}],"href":"/opentwins/docs/category/installation"},{"type":"category","label":"Guides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"add-3d-visualization","href":"/opentwins/docs/guides/add-3d-visualization","docId":"guides/add-3d-visualization"},{"type":"link","label":"connect-dt-with-real-devices","href":"/opentwins/docs/guides/connect-dt-with-real-devices","docId":"guides/connect-dt-with-real-devices"},{"type":"link","label":"Create Digital Twin scheme","href":"/opentwins/docs/guides/create-dt-scheme","docId":"guides/create-dt-scheme"}],"href":"/opentwins/docs/category/guides"},{"type":"category","label":"Examples","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Raspberry example","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Sending data to Ditto","href":"/opentwins/docs/examples/raspberry-example/sending-data","docId":"examples/raspberry-example/sending-data"}],"href":"/opentwins/docs/examples/raspberry-example/"},{"type":"link","label":"String and number example","href":"/opentwins/docs/examples/string-example","docId":"examples/string-example"},{"type":"link","label":"Bouncing ball example","href":"/opentwins/docs/examples/ball-example","docId":"examples/ball-example"}],"href":"/opentwins/docs/category/examples"}]},"docs":{"examples/ball-example":{"id":"examples/ball-example","title":"Bouncing ball example","description":"","sidebar":"tutorialSidebar"},"examples/raspberry-example/raspberry-example":{"id":"examples/raspberry-example/raspberry-example","title":"Raspberry example","description":"Requirements","sidebar":"tutorialSidebar"},"examples/raspberry-example/sending-data":{"id":"examples/raspberry-example/sending-data","title":"Sending data to Ditto","description":"In this case we will use a Raspberry Pi 3B with Raspbian buster OS connected to a DHT22 temperature and humidity sensor.","sidebar":"tutorialSidebar"},"examples/string-example":{"id":"examples/string-example","title":"String and number example","description":"","sidebar":"tutorialSidebar"},"guides/add-3d-visualization":{"id":"guides/add-3d-visualization","title":"add-3d-visualization","description":"","sidebar":"tutorialSidebar"},"guides/connect-dt-with-real-devices":{"id":"guides/connect-dt-with-real-devices","title":"connect-dt-with-real-devices","description":"","sidebar":"tutorialSidebar"},"guides/create-dt-scheme":{"id":"guides/create-dt-scheme","title":"Create Digital Twin scheme","description":"","sidebar":"tutorialSidebar"},"installation/manual-deploy/3d-part":{"id":"installation/manual-deploy/3d-part","title":"3D visualization using Unity","description":"","sidebar":"tutorialSidebar"},"installation/manual-deploy/core":{"id":"installation/manual-deploy/core","title":"Core functionality","description":"This section will explain how to deploy the platform manually. Basically, you will have to deploy or install the different components and then connect them. The procedure explained below is the one followed to deploy them in Kubernetes using in most cases the Helm option, but any other installation in which all the components are correctly installed and there is some kind of network between them to be able to communicate can be used.","sidebar":"tutorialSidebar"},"installation/manual-deploy/ml-part":{"id":"installation/manual-deploy/ml-part","title":"Kafka-ML conection","description":"","sidebar":"tutorialSidebar"},"installation/manual-deploy/simulations-part":{"id":"installation/manual-deploy/simulations-part","title":"Simulations","description":"","sidebar":"tutorialSidebar"},"installation/requirements":{"id":"installation/requirements","title":"Requirements","description":"This page lists both software and hardware requirements for using opentwins","sidebar":"tutorialSidebar"},"installation/using-helm":{"id":"installation/using-helm","title":"Helm","description":"Installation","sidebar":"tutorialSidebar"},"overview/architecture":{"id":"overview/architecture","title":"Architecture","description":"OpenTwins is built on a open source microservices architecture, designed to enhance scalability, flexibility and efficiency in the development, extension, deployment and maintenance of the platform. All the components that make up this architecture are encapsulated in Docker containers, ideally managed through Kubernetes, which ensures efficient portability and management.","sidebar":"tutorialSidebar"},"overview/concepts":{"id":"overview/concepts","title":"Concepts","description":"In this section, we will explore in depth the concept of a digital twin as defined by the platform. We will detail the information it can contain, explain the idea of a \\"digital twin type\\", and discuss how the composition works.","sidebar":"tutorialSidebar"},"overview/purpose":{"id":"overview/purpose","title":"Purpose","description":"This platform has been designed to facilitate the development of digital twins and is characterised by the exclusive use of open source components. The aim is to achieve a platform that covers all the functionalities that a digital twin may require, from the most basic ones, such as simply checking its real-time state, to more advanced ones, such as the inclusion of predicted or simulated data or visualisation of 3D models of the twins.","sidebar":"tutorialSidebar"},"quickstart":{"id":"quickstart","title":"Quickstart","description":"Welcome to OpenTwins, a flexible platform adapted to your needs! Although OpenTwins offers extensive customization options, we understand the importance of simplicity for beginners. Therefore, let\'s embark on a short journey together, showing you the quickest route to deploy the platform and develop a simple, functional digital twin.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/d72ac48e.0f042fb3.js b/assets/js/d72ac48e.0f042fb3.js new file mode 100644 index 0000000..675f65a --- /dev/null +++ b/assets/js/d72ac48e.0f042fb3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6513],{3905:(e,t,a)=>{a.d(t,{Zo:()=>l,kt:()=>u});var i=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}return a}function r(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=i.createContext({}),p=function(e){var t=i.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},l=function(e){var t=p(e.components);return i.createElement(c.Provider,{value:t},e.children)},h="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),h=p(a),m=n,u=h["".concat(c,".").concat(m)]||h[m]||d[m]||o;return a?i.createElement(u,r(r({ref:t},l),{},{components:a})):i.createElement(u,r({ref:t},l))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,r=new Array(o);r[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[h]="string"==typeof e?e:n,r[1]=s;for(var p=2;p{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>p});var i=a(7462),n=(a(7294),a(3905));const o={sidebar_position:3},r="Architecture",s={unversionedId:"overview/architecture",id:"overview/architecture",title:"Architecture",description:"OpenTwins is built on a open source microservices architecture, designed to enhance scalability, flexibility and efficiency in the development, extension, deployment and maintenance of the platform. All the components that make up this architecture are encapsulated in Docker containers, ideally managed through Kubernetes, which ensures efficient portability and management.",source:"@site/docs/overview/architecture.md",sourceDirName:"overview",slug:"/overview/architecture",permalink:"/opentwins/docs/overview/architecture",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/overview/architecture.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Concepts",permalink:"/opentwins/docs/overview/concepts"},next:{title:"Installation",permalink:"/opentwins/docs/category/installation"}},c={},p=[{value:"Essential functionality",id:"essential-functionality",level:3},{value:"Compositional support",id:"compositional-support",level:3},{value:"Data prediction with machine learning",id:"data-prediction-with-machine-learning",level:3},{value:"3D representation",id:"3d-representation",level:3}],l={toc:p},h="wrapper";function d(e){let{components:t,...o}=e;return(0,n.kt)(h,(0,i.Z)({},l,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"architecture"},"Architecture"),(0,n.kt)("p",null,"OpenTwins is built on a ",(0,n.kt)("strong",{parentName:"p"},"open source microservices architecture"),", designed to enhance scalability, flexibility and efficiency in the development, extension, deployment and maintenance of the platform. All the components that make up this architecture are encapsulated in ",(0,n.kt)("a",{parentName:"p",href:"https://www.docker.com/"},"Docker")," containers, ideally managed through ",(0,n.kt)("a",{parentName:"p",href:"https://kubernetes.io/"},"Kubernetes"),", which ensures efficient portability and management. "),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"Although it is possible to deploy and connect the different components without containerization, this approach is not recommended due to the difficulties involved in terms of installation and management. However, it is important to note that OpenTwins could be ",(0,n.kt)("a",{parentName:"p",href:"/opentwins/docs/installation/manual-deploy/core#steps-to-connect"},"manually connected")," to non-containerized components, such as a local instance of Grafana.")),(0,n.kt)("p",null,"The following image illustrates the current architecture of OpenTwins, in which each color of the boxes represents the functionality covered by each component. Most of these components are external projects to our organization, however, we also include certain services specifically designed to enrich the functionality of the platform. Both the code and documentation of the ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/ertis-research/opentwins/tree/main/components"},"components")," are available in their respective repositories."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Architecture",src:a(3160).Z,width:"1904",height:"911"})),(0,n.kt)("h3",{id:"essential-functionality"},"Essential functionality"),(0,n.kt)("p",null,"The elements highlighted in ",(0,n.kt)("strong",{parentName:"p"},"blue")," form the heart of OpenTwins, as they provide the ",(0,n.kt)("strong",{parentName:"p"},"essential functionalities")," of a digital twin development platform: the definition of digital twins, the connection to IoT devices, the storage of information and the user-friendly visualisation of data. The tools used in this case include:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://www.eclipse.org/ditto/"},"Eclipse Ditto"),". This is ",(0,n.kt)("strong",{parentName:"p"},"the core component of OpenTwins"),", an open-source framework for digital twins developed by the ",(0,n.kt)("a",{parentName:"p",href:"https://www.eclipse.org/"},"Eclipse Foundation"),". Eclipse Ditto provides an asbstract entity ",(0,n.kt)("a",{parentName:"p",href:"https://eclipse.dev/ditto/basic-thing.html"},'"Thing"'),', which allows describing digital twins through JSON schemas that include both static and dynamic data of the entity. The framework stores the current state of the "Thing" entity and facilitates its ',(0,n.kt)("a",{parentName:"p",href:"https://eclipse.dev/ditto/basic-connections.html"},"connection")," to input and output data sources through various IoT protocols. In a typical scenario, the Thing entity will update its information via a source connection, generating events that are sent to the indicated target connections. In addition, the tool provides an ",(0,n.kt)("a",{parentName:"p",href:"https://eclipse.dev/ditto/http-api-doc.html"},"API")," that allows querying the current state of the entity and managing its schema and connections.")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://www.eclipse.org/hono/"},"Eclipse Hono"),". This component facilitates the ",(0,n.kt)("strong",{parentName:"p"},"reception of data through various IoT protocols")," and centralizes it into a single endpoint, either ",(0,n.kt)("a",{parentName:"p",href:"https://www.amqp.org/"},"AMQP 1.0")," or ",(0,n.kt)("a",{parentName:"p",href:"https://kafka.apache.org/"},"Kafka"),". This output connects directly to Eclipse Ditto, eliminating the need for users to manually connect to an external broker to extract data. This allows the platform to receive data through the most common IoT protocols, giving devices the flexibility to connect to the most appropriate protocol for their particular case. "),(0,n.kt)("admonition",{parentName:"li",type:"warning"},(0,n.kt)("p",{parentName:"admonition"},"Despite its advantages, we have observed that ",(0,n.kt)("strong",{parentName:"p"},"Eclipse Hono does not scale correctly when the message frequency is high"),", so we do not recommend its use in these cases. For this reason, or if it is not necessary to offer different input protocols, you can choose to connect Eclipse Ditto to one or more specific messaging brokers, such as ",(0,n.kt)("a",{parentName:"p",href:"https://mosquitto.org/"},"Mosquitto")," or ",(0,n.kt)("a",{parentName:"p",href:"https://www.rabbitmq.com/"},"RabbitMQ"),"."))),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://www.mongodb.com/"},"MongoDB"),". This tool is the ",(0,n.kt)("strong",{parentName:"p"},"internal database used by Eclipse Hono and Eclipse Ditto"),'. Eclipse Ditto stores data about the current state of digital twins ("things"), policies, connections and recent events, while Eclipse Hono stores information about defined devices and groups.')),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://www.influxdata.com/products/influxdb-overview/"},"InfluxDB v2"),". This database provides an optimized architecture for time series, which guarantees superior performance in ",(0,n.kt)("strong",{parentName:"p"},"storing and querying digital twin data"),". Its high scalability and simplicity of use allow it to efficiently handle large volumes of data, facilitating the integration and analysis of information in real time. In addition, it is one of the most popular options in the field of the Internet of Things (IoT), generating an active community that consolidates its position as a robust solution.")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://www.influxdata.com/time-series-platform/telegraf/"},"Telegraf"),". This server-based agent for ",(0,n.kt)("strong",{parentName:"p"},"collecting and sending metrics")," offers easy configuration and a wide range of plugins to integrate various data sources and destinations. It is the recommended choice for data ingestion into InfluxDB. Its role in the platform is to capture digital twin updates, presented as Eclipse Ditto events, processing the data as time series for storage in the database.")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://kafka.apache.org/"},"Apache Kafka")," or ",(0,n.kt)("a",{parentName:"p",href:"https://mosquitto.org/"},"Eclipse Mosquitto"),". An ",(0,n.kt)("strong",{parentName:"p"},"intermediary messaging broker")," is required for Telegraf to collect event data from Eclipse Ditto, since none of these technologies provide this role and do not have a direct connection. For this purpose, any messaging broker where Eclipse Ditto can publish and read Telegraf is valid. The options available on the platform include Apache Kafka, known for its scalability and error tolerance in processing large volumes of data, and Mosquitto, recognized for its efficiency in messaging and its flexibility in IoT environments.")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://grafana.com/oss/grafana/"},"Grafana"),". This solution acts as the ",(0,n.kt)("strong",{parentName:"p"},"platform's main front-end"),", providing a highly adaptable data visualization that allows users to create intuitive and easily understandable dashboards. Its ability to integrate with a wide variety of data sources and its active community of users and developers make it a powerful tool for monitoring and analyzing complex systems, such as digital twins. In addition, it allows users to expand its functionality by creating custom plugins, giving them the ability to integrate new visualizations, use-case specific panels and connectors to additional data sources. "))),(0,n.kt)("h3",{id:"compositional-support"},"Compositional support"),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{parentName:"p",href:"/opentwins/docs/overview/concepts#digital-twins-composition"},"composition of digital twins")," represents one of the main contributions of this platform, distinguishing it from other similar solutions. In addition, OpenTwins provides the ability to define and compose ",(0,n.kt)("a",{parentName:"p",href:"/opentwins/docs/overview/concepts#digital-twin-type"},'"types" of digital twins'),", making development simpler. The services marked in ",(0,n.kt)("strong",{parentName:"p"},"green")," in the architecture are responsible for integrating these functionalities."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://github.com/ertis-research/extended-api-for-eclipse-ditto/"},"Extended API for Eclipse Ditto"),'. The Thing entity provided by Eclipse Ditto must follow a specific JSON schema, although it offers great flexibility within it. Our goal is to simplify type definition and entity composition by taking advantage of the flexibility of this schema. This "extended API" acts as a layer on top of the Eclipse Ditto API, distinguishing between the management of twins and types, and applying all the necessary constraints and checks to ensure the composition of these entities according to the constraints imposed by each (types form graphs, while twins form trees).')),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://github.com/ertis-research/opentwins-in-grafana/"},"OpenTwins app plugin for Grafana"),". To have a pleasant and usable platform for as many users as possible, it is important to have a simple interface capable of performing the functionalities available. Therefore, an app plugin is included for Grafana that uses the extended API to query and manage twins, types and their composition in a user-friendly way. Moreover, this approach keeps the entire platform front-end within a single tool, making it easy to use and accessible."))),(0,n.kt)("h3",{id:"data-prediction-with-machine-learning"},"Data prediction with machine learning"),(0,n.kt)("p",null,"The architecture highlights in ",(0,n.kt)("strong",{parentName:"p"},"yellow")," the components that facilitate the integration of digital twins with Machine Learning models. Providing this support represents a crucial aspect in the development of a digital twin, since it provides a complementary or comparative perspective with real data, enriching the understanding of the replicated object. To achieve this goal, the following tools are used:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://github.com/ertis-research/kafka-ml"},"Kafka-ML"),". This open source framework manages the lifecycle of ML/AI applications in production environments through continuous data streams. Unlike traditional frameworks that work with static data sets, Kafka-ML enables both training and inference with continuous data streams, allowing users to have fine-grained control over ingestion data. Currently, Kafka-ML is compatible with the most popular ML frameworks, ",(0,n.kt)("a",{parentName:"p",href:"https://www.tensorflow.org/"},"TensorFlow")," and ",(0,n.kt)("a",{parentName:"p",href:"https://pytorch.org/"},"PyTorch"),", and enables the ",(0,n.kt)("strong",{parentName:"p"},"management and deployment of ML models"),", from definition to final deployment for inference. This component operates as a black box in OpenTwins, receiving input data for a deployed model through a Kafka topic and sending the predicted result to another topic, which is connected to Eclipse Ditto in a way that updates to the corresponding digital twin.")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://github.com/ertis-research/eclipse-hono-to-kafka-ml"},"Eclipse Hono to Kafka-ML"),". Kafka-ML can receive input data from any source that is able to publish to a Kafka topic. However, at OpenTwins we have decided to simplify this process when the data comes from Eclipse Hono. Therefore, we have developed an optional service that automates the data feed of ML models deployed in Kafka-ML. This service ",(0,n.kt)("strong",{parentName:"p"},"automatically sends the data needed to make a prediction")," every time a new data is received from any of the devices required by the model. To use this tool, we provide an API that allows you to specify which devices should be taken into account, what data is required from these devices and how they should be formatted to work correctly as input for Kafka-ML.")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://github.com/ertis-research/error-detection-for-eclipse-hono-with-kafka-ml"},"Error detection for Eclipse Hono with Kafka-ML"),". An ML model useful in the construction of a digital twin is one capable of generating data that a sensor should produce in case it loses connection or experiences a failure. To automate this, we have developed an optional service with similar functionalities to the one mentioned above, but with an important particularity: it will only invoke the model when an interruption in data reception by the device is detected. This service takes into account the frequency with which the data is emitted by the device. As soon as an anomaly is identified, the service will format and send the last data received following the expected frequency until the connection is restored and real data is received again. In this way, the ",(0,n.kt)("strong",{parentName:"p"},"normal operation of the device is simulated"),", ensuring continuity of information for the digital twin."))),(0,n.kt)("h3",{id:"3d-representation"},"3D representation"),(0,n.kt)("p",null,"The ",(0,n.kt)("strong",{parentName:"p"},"red part"),"..."))}d.isMDXComponent=!0},3160:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/architecture-ff30194687d6d921534d28bb801abe74.jpg"}}]); \ No newline at end of file diff --git a/assets/js/d72ac48e.dc56210c.js b/assets/js/d72ac48e.dc56210c.js deleted file mode 100644 index 34f43d1..0000000 --- a/assets/js/d72ac48e.dc56210c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6513],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>u});var a=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function r(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=a.createContext({}),p=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},l=function(e){var t=p(e.components);return a.createElement(c.Provider,{value:t},e.children)},h="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,o=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),h=p(n),m=i,u=h["".concat(c,".").concat(m)]||h[m]||d[m]||o;return n?a.createElement(u,r(r({ref:t},l),{},{components:n})):a.createElement(u,r({ref:t},l))}));function u(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=n.length,r=new Array(o);r[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[h]="string"==typeof e?e:i,r[1]=s;for(var p=2;p{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>p});var a=n(7462),i=(n(7294),n(3905));const o={sidebar_position:3},r="Architecture",s={unversionedId:"overview/architecture",id:"overview/architecture",title:"Architecture",description:"OpenTwins is built on a microservices architecture, designed to enhance scalability, flexibility and efficiency in the development, extension, deployment and maintenance of the platform. All the components that make up this architecture are encapsulated in Docker containers, ideally managed through Kubernetes, which ensures efficient portability and management.",source:"@site/docs/overview/architecture.md",sourceDirName:"overview",slug:"/overview/architecture",permalink:"/opentwins/docs/overview/architecture",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/overview/architecture.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Concepts",permalink:"/opentwins/docs/overview/concepts"},next:{title:"Installation",permalink:"/opentwins/docs/category/installation"}},c={},p=[{value:"Essential functionality",id:"essential-functionality",level:3},{value:"Compositional support",id:"compositional-support",level:2},{value:"Data prediction with machine learning",id:"data-prediction-with-machine-learning",level:2},{value:"3D representation",id:"3d-representation",level:2}],l={toc:p},h="wrapper";function d(e){let{components:t,...o}=e;return(0,i.kt)(h,(0,a.Z)({},l,o,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"architecture"},"Architecture"),(0,i.kt)("p",null,"OpenTwins is built on a ",(0,i.kt)("strong",{parentName:"p"},"microservices architecture"),", designed to enhance scalability, flexibility and efficiency in the development, extension, deployment and maintenance of the platform. All the components that make up this architecture are encapsulated in ",(0,i.kt)("a",{parentName:"p",href:"https://www.docker.com/"},"Docker")," containers, ideally managed through ",(0,i.kt)("a",{parentName:"p",href:"https://kubernetes.io/"},"Kubernetes"),", which ensures efficient portability and management. "),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"Although it is possible to deploy and connect the different components without containerization, this approach is not recommended due to the difficulties involved in terms of installation and management. However, it is important to note that OpenTwins could be ",(0,i.kt)("a",{parentName:"p",href:"/opentwins/docs/installation/manual-deploy/core#steps-to-connect"},"manually connected")," to non-containerized components, such as a local instance of Grafana.")),(0,i.kt)("p",null,"The following image illustrates the current architecture of OpenTwins, in which each color of the boxes represents the functionality covered by each component. Most of these components are external projects to our organization, however, we also include certain services specifically designed to enrich the functionality of the platform. Both the code and documentation of the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/ertis-research/opentwins/tree/main/components"},"components")," are available in their respective repositories."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Architecture",src:n(3160).Z,width:"1904",height:"911"})),(0,i.kt)("h3",{id:"essential-functionality"},"Essential functionality"),(0,i.kt)("p",null,"The elements highlighted in ",(0,i.kt)("strong",{parentName:"p"},"blue")," form the heart of OpenTwins, as they provide the ",(0,i.kt)("strong",{parentName:"p"},"essential functionalities")," of a digital twin development platform: the definition of digital twins, the connection to IoT devices, the storage of information and the user-friendly visualisation of data. The tools used in this case include:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("a",{parentName:"p",href:"https://www.eclipse.org/ditto/"},"Eclipse Ditto"),". This is ",(0,i.kt)("strong",{parentName:"p"},"the core component of OpenTwins"),", an open-source framework for digital twins developed by the ",(0,i.kt)("a",{parentName:"p",href:"https://www.eclipse.org/"},"Eclipse Foundation"),". Eclipse Ditto provides an asbstract entity ",(0,i.kt)("a",{parentName:"p",href:"https://eclipse.dev/ditto/basic-thing.html"},'"Thing"'),', which allows describing digital twins through JSON schemas that include both static and dynamic data of the entity. The framework stores the current state of the "Thing" entity and facilitates its ',(0,i.kt)("a",{parentName:"p",href:"https://eclipse.dev/ditto/basic-connections.html"},"connection")," to input and output data sources through various IoT protocols. In a typical scenario, the Thing entity will update its information via a source connection, generating events that are sent to the indicated target connections. In addition, the tool provides an ",(0,i.kt)("a",{parentName:"p",href:"https://eclipse.dev/ditto/http-api-doc.html"},"API")," that allows querying the current state of the entity and managing its schema and connections.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("a",{parentName:"p",href:"https://www.eclipse.org/hono/"},"Eclipse Hono"),". This component facilitates the ",(0,i.kt)("strong",{parentName:"p"},"reception of data through various IoT protocols")," and centralizes it into a single endpoint, either ",(0,i.kt)("a",{parentName:"p",href:"https://www.amqp.org/"},"AMQP 1.0")," or ",(0,i.kt)("a",{parentName:"p",href:"https://kafka.apache.org/"},"Kafka"),". This output connects directly to Eclipse Ditto, eliminating the need for users to manually connect to an external broker to extract data. This allows the platform to receive data through the most common IoT protocols, giving devices the flexibility to connect to the most appropriate protocol for their particular case. "),(0,i.kt)("admonition",{parentName:"li",type:"warning"},(0,i.kt)("p",{parentName:"admonition"},"Despite its advantages, we have observed that ",(0,i.kt)("strong",{parentName:"p"},"Eclipse Hono does not scale correctly when the message frequency is high"),", so we do not recommend its use in these cases. For this reason, or if it is not necessary to offer different input protocols, you can choose to connect Eclipse Ditto to one or more specific messaging brokers, such as ",(0,i.kt)("a",{parentName:"p",href:"https://mosquitto.org/"},"Mosquitto")," or ",(0,i.kt)("a",{parentName:"p",href:"https://www.rabbitmq.com/"},"RabbitMQ"),"."))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("a",{parentName:"p",href:"https://www.mongodb.com/"},"MongoDB"),". This tool is the ",(0,i.kt)("strong",{parentName:"p"},"internal database used by Eclipse Hono and Eclipse Ditto"),'. Eclipse Ditto stores data about the current state of digital twins ("things"), policies, connections and recent events, while Eclipse Hono stores information about defined devices and groups.')),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("a",{parentName:"p",href:"https://www.influxdata.com/products/influxdb-overview/"},"InfluxDB"),". This database provides an optimized architecture for time series, which guarantees superior performance in ",(0,i.kt)("strong",{parentName:"p"},"storing and querying digital twin data"),". Its high scalability and simplicity of use allow it to efficiently handle large volumes of data, facilitating the integration and analysis of information in real time. In addition, it is one of the most popular options in the field of the Internet of Things (IoT), generating an active community that consolidates its position as a robust solution.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("a",{parentName:"p",href:"https://www.influxdata.com/time-series-platform/telegraf/"},"Telegraf"),". This is the recommended data collector for InfluxDB databases. It is in charge of constantly consuming the given Kafka topic and writing the received messages to the specified InfluxDB database.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("a",{parentName:"p",href:"https://kafka.apache.org/"},"Apache Kafka")," or ",(0,i.kt)("a",{parentName:"p",href:"https://mosquitto.org/"},"Eclipse Mosquitto"),". It works as an intermediary between Eclipse Ditto and Telegraf, as they cannot connect directly (they need a component that acts as a broker).")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("a",{parentName:"p",href:"https://grafana.com/oss/grafana/"},"Grafana"),"."))),(0,i.kt)("h2",{id:"compositional-support"},"Compositional support"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/ertis-research/digital-twins-plugin-for-Grafana/"},"Digital Twins plugin for Grafana"),"."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/ertis-research/extended-api-for-Eclipse-Ditto/"},"Extended API for Eclipse Ditto"),".")),(0,i.kt)("h2",{id:"data-prediction-with-machine-learning"},"Data prediction with machine learning"),(0,i.kt)("p",null,"The ",(0,i.kt)("strong",{parentName:"p"},"yellow part"),"..."),(0,i.kt)("h2",{id:"3d-representation"},"3D representation"),(0,i.kt)("p",null,"The ",(0,i.kt)("strong",{parentName:"p"},"red part"),"..."))}d.isMDXComponent=!0},3160:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/architecture-8d97f9beabe51773a278b6aa1c66fdfc.jpg"}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.001351f7.js b/assets/js/runtime~main.e48836bb.js similarity index 96% rename from assets/js/runtime~main.001351f7.js rename to assets/js/runtime~main.e48836bb.js index cc521f2..c59b427 100644 --- a/assets/js/runtime~main.001351f7.js +++ b/assets/js/runtime~main.e48836bb.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,t,r,f={},d={};function b(e){var a=d[e];if(void 0!==a)return a.exports;var c=d[e]={id:e,loaded:!1,exports:{}};return f[e].call(c.exports,c,c.exports,b),c.loaded=!0,c.exports}b.m=f,b.c=d,e=[],b.O=(a,c,t,r)=>{if(!c){var f=1/0;for(i=0;i=r)&&Object.keys(b.O).every((e=>b.O[e](c[o])))?c.splice(o--,1):(d=!1,r0&&e[i-1][2]>r;i--)e[i]=e[i-1];e[i]=[c,t,r]},b.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return b.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var r=Object.create(null);b.r(r);var f={};a=a||[null,c({}),c([]),c(c)];for(var d=2&t&&e;"object"==typeof d&&!~a.indexOf(d);d=c(d))Object.getOwnPropertyNames(d).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,b.d(r,f),r},b.d=(e,a)=>{for(var c in a)b.o(a,c)&&!b.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce(((a,c)=>(b.f[c](e,a),a)),[])),b.u=e=>"assets/js/"+({53:"935f2afb",114:"908ba98b",788:"b0bae498",799:"c0eb0ada",948:"8717b14a",1144:"40b0d055",1199:"ac75af2e",1605:"d4f9f5df",1761:"acac1da9",1914:"d9f32620",2267:"59362658",2362:"e273c56f",2535:"814f3328",2614:"32191809",2651:"8070e160",2690:"8dd02d2f",3085:"1f391b9e",3089:"a6aa9e1f",3237:"1df93b7f",3514:"73664a40",3608:"9e4087bc",4013:"01a85c17",4482:"0b39e3dd",4576:"0598cbc5",4699:"85531627",5041:"aa3c268d",5391:"9281dd35",5969:"638abf38",5998:"eb58dad4",6103:"ccc49370",6216:"68c71cca",6513:"d72ac48e",6743:"4e0291d9",6933:"4c455ca7",7063:"ec3c7536",7081:"cbe8eee7",7214:"b9febb2b",7414:"393be207",7431:"1c4bf583",7557:"928e06c2",7632:"0964aedb",7826:"8ee96214",7841:"3c4035d3",7918:"17896441",7949:"6cb63160",7979:"118e913f",8364:"96e1810e",8610:"6875c492",8636:"f4f34a3a",8906:"1ba72f0d",9003:"925b3f96",9514:"1be78505",9521:"3c0fcc1c",9534:"3fb959cb",9607:"dd403c78",9642:"7661071f",9817:"14eb3368"}[e]||e)+"."+{53:"9a45f291",114:"a7d9cf5e",210:"6e5e9f1a",788:"c03d2d33",799:"b281447b",948:"74619e7a",1144:"60ffe9ac",1199:"61dfe39f",1605:"2b2de3b8",1761:"05f2b0af",1914:"b045544d",2267:"22a5d353",2362:"c362744b",2529:"cec79ce1",2535:"0c1d9999",2614:"461d329a",2651:"40304e4e",2690:"7fc106b4",3085:"8fc7c9b3",3089:"845cad8c",3237:"20e07858",3514:"d45d5659",3608:"472c889f",4013:"75a76f22",4482:"2e144efa",4576:"b9f9eae9",4699:"61a331f6",4972:"b60a5582",5041:"11260222",5391:"056d9a3c",5969:"9e27bd44",5998:"2b30f0e7",6103:"d9c41d1e",6216:"ff06e3c7",6513:"dc56210c",6743:"d888eb5c",6933:"17a20621",7063:"adf7bfc2",7081:"852eb739",7214:"6ab01aa0",7414:"6ad33c11",7431:"58dbf46d",7557:"fee88172",7632:"f08e1154",7826:"b91be920",7841:"ce4d5187",7918:"4f945c03",7949:"31ab2fd6",7979:"f2bd9d2c",8364:"a859fe5f",8610:"f37b7b5c",8636:"77d55ebe",8906:"aa79666e",9003:"a62a82fe",9514:"685933da",9521:"e76176e0",9534:"7f1cc7ba",9607:"df81f125",9642:"77dfe874",9817:"716e9ec1"}[e]+".js",b.miniCssF=e=>{},b.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),b.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),t={},r="docs:",b.l=(e,a,c,f)=>{if(t[e])t[e].push(a);else{var d,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{d.onerror=d.onload=null,clearTimeout(s);var r=t[e];if(delete t[e],d.parentNode&&d.parentNode.removeChild(d),r&&r.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=l.bind(null,d.onerror),d.onload=l.bind(null,d.onload),o&&document.head.appendChild(d)}},b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.p="/opentwins/",b.gca=function(e){return e={17896441:"7918",32191809:"2614",59362658:"2267",85531627:"4699","935f2afb":"53","908ba98b":"114",b0bae498:"788",c0eb0ada:"799","8717b14a":"948","40b0d055":"1144",ac75af2e:"1199",d4f9f5df:"1605",acac1da9:"1761",d9f32620:"1914",e273c56f:"2362","814f3328":"2535","8070e160":"2651","8dd02d2f":"2690","1f391b9e":"3085",a6aa9e1f:"3089","1df93b7f":"3237","73664a40":"3514","9e4087bc":"3608","01a85c17":"4013","0b39e3dd":"4482","0598cbc5":"4576",aa3c268d:"5041","9281dd35":"5391","638abf38":"5969",eb58dad4:"5998",ccc49370:"6103","68c71cca":"6216",d72ac48e:"6513","4e0291d9":"6743","4c455ca7":"6933",ec3c7536:"7063",cbe8eee7:"7081",b9febb2b:"7214","393be207":"7414","1c4bf583":"7431","928e06c2":"7557","0964aedb":"7632","8ee96214":"7826","3c4035d3":"7841","6cb63160":"7949","118e913f":"7979","96e1810e":"8364","6875c492":"8610",f4f34a3a:"8636","1ba72f0d":"8906","925b3f96":"9003","1be78505":"9514","3c0fcc1c":"9521","3fb959cb":"9534",dd403c78:"9607","7661071f":"9642","14eb3368":"9817"}[e]||e,b.p+b.u(e)},(()=>{var e={1303:0,532:0};b.f.j=(a,c)=>{var t=b.o(e,a)?e[a]:void 0;if(0!==t)if(t)c.push(t[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var r=new Promise(((c,r)=>t=e[a]=[c,r]));c.push(t[2]=r);var f=b.p+b.u(a),d=new Error;b.l(f,(c=>{if(b.o(e,a)&&(0!==(t=e[a])&&(e[a]=void 0),t)){var r=c&&("load"===c.type?"missing":c.type),f=c&&c.target&&c.target.src;d.message="Loading chunk "+a+" failed.\n("+r+": "+f+")",d.name="ChunkLoadError",d.type=r,d.request=f,t[1](d)}}),"chunk-"+a,a)}},b.O.j=a=>0===e[a];var a=(a,c)=>{var t,r,f=c[0],d=c[1],o=c[2],n=0;if(f.some((a=>0!==e[a]))){for(t in d)b.o(d,t)&&(b.m[t]=d[t]);if(o)var i=o(b)}for(a&&a(c);n{"use strict";var e,a,c,t,r,f={},d={};function b(e){var a=d[e];if(void 0!==a)return a.exports;var c=d[e]={id:e,loaded:!1,exports:{}};return f[e].call(c.exports,c,c.exports,b),c.loaded=!0,c.exports}b.m=f,b.c=d,e=[],b.O=(a,c,t,r)=>{if(!c){var f=1/0;for(i=0;i=r)&&Object.keys(b.O).every((e=>b.O[e](c[o])))?c.splice(o--,1):(d=!1,r0&&e[i-1][2]>r;i--)e[i]=e[i-1];e[i]=[c,t,r]},b.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return b.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var r=Object.create(null);b.r(r);var f={};a=a||[null,c({}),c([]),c(c)];for(var d=2&t&&e;"object"==typeof d&&!~a.indexOf(d);d=c(d))Object.getOwnPropertyNames(d).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,b.d(r,f),r},b.d=(e,a)=>{for(var c in a)b.o(a,c)&&!b.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce(((a,c)=>(b.f[c](e,a),a)),[])),b.u=e=>"assets/js/"+({53:"935f2afb",114:"908ba98b",788:"b0bae498",799:"c0eb0ada",948:"8717b14a",1144:"40b0d055",1199:"ac75af2e",1605:"d4f9f5df",1761:"acac1da9",1914:"d9f32620",2267:"59362658",2362:"e273c56f",2535:"814f3328",2614:"32191809",2651:"8070e160",2690:"8dd02d2f",3085:"1f391b9e",3089:"a6aa9e1f",3237:"1df93b7f",3514:"73664a40",3608:"9e4087bc",4013:"01a85c17",4482:"0b39e3dd",4576:"0598cbc5",4699:"85531627",5041:"aa3c268d",5391:"9281dd35",5969:"638abf38",5998:"eb58dad4",6103:"ccc49370",6216:"68c71cca",6513:"d72ac48e",6743:"4e0291d9",6933:"4c455ca7",7063:"ec3c7536",7081:"cbe8eee7",7214:"b9febb2b",7414:"393be207",7431:"1c4bf583",7557:"928e06c2",7632:"0964aedb",7826:"8ee96214",7841:"3c4035d3",7918:"17896441",7949:"6cb63160",7979:"118e913f",8364:"96e1810e",8610:"6875c492",8636:"f4f34a3a",8906:"1ba72f0d",9003:"925b3f96",9514:"1be78505",9521:"3c0fcc1c",9534:"3fb959cb",9607:"dd403c78",9642:"7661071f",9817:"14eb3368"}[e]||e)+"."+{53:"df6e34ad",114:"a7d9cf5e",210:"6e5e9f1a",788:"c03d2d33",799:"b281447b",948:"74619e7a",1144:"60ffe9ac",1199:"61dfe39f",1605:"2b2de3b8",1761:"05f2b0af",1914:"b045544d",2267:"22a5d353",2362:"c362744b",2529:"cec79ce1",2535:"0c1d9999",2614:"461d329a",2651:"40304e4e",2690:"7fc106b4",3085:"8fc7c9b3",3089:"845cad8c",3237:"20e07858",3514:"d45d5659",3608:"472c889f",4013:"75a76f22",4482:"2e144efa",4576:"b9f9eae9",4699:"61a331f6",4972:"b60a5582",5041:"11260222",5391:"056d9a3c",5969:"9e27bd44",5998:"2b30f0e7",6103:"d9c41d1e",6216:"ff06e3c7",6513:"0f042fb3",6743:"d888eb5c",6933:"17a20621",7063:"adf7bfc2",7081:"852eb739",7214:"6ab01aa0",7414:"6ad33c11",7431:"58dbf46d",7557:"fee88172",7632:"f08e1154",7826:"b91be920",7841:"ce4d5187",7918:"4f945c03",7949:"31ab2fd6",7979:"ee963465",8364:"a859fe5f",8610:"f37b7b5c",8636:"77d55ebe",8906:"aa79666e",9003:"a62a82fe",9514:"685933da",9521:"e76176e0",9534:"7f1cc7ba",9607:"df81f125",9642:"77dfe874",9817:"716e9ec1"}[e]+".js",b.miniCssF=e=>{},b.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),b.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),t={},r="docs:",b.l=(e,a,c,f)=>{if(t[e])t[e].push(a);else{var d,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{d.onerror=d.onload=null,clearTimeout(s);var r=t[e];if(delete t[e],d.parentNode&&d.parentNode.removeChild(d),r&&r.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=l.bind(null,d.onerror),d.onload=l.bind(null,d.onload),o&&document.head.appendChild(d)}},b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.p="/opentwins/",b.gca=function(e){return e={17896441:"7918",32191809:"2614",59362658:"2267",85531627:"4699","935f2afb":"53","908ba98b":"114",b0bae498:"788",c0eb0ada:"799","8717b14a":"948","40b0d055":"1144",ac75af2e:"1199",d4f9f5df:"1605",acac1da9:"1761",d9f32620:"1914",e273c56f:"2362","814f3328":"2535","8070e160":"2651","8dd02d2f":"2690","1f391b9e":"3085",a6aa9e1f:"3089","1df93b7f":"3237","73664a40":"3514","9e4087bc":"3608","01a85c17":"4013","0b39e3dd":"4482","0598cbc5":"4576",aa3c268d:"5041","9281dd35":"5391","638abf38":"5969",eb58dad4:"5998",ccc49370:"6103","68c71cca":"6216",d72ac48e:"6513","4e0291d9":"6743","4c455ca7":"6933",ec3c7536:"7063",cbe8eee7:"7081",b9febb2b:"7214","393be207":"7414","1c4bf583":"7431","928e06c2":"7557","0964aedb":"7632","8ee96214":"7826","3c4035d3":"7841","6cb63160":"7949","118e913f":"7979","96e1810e":"8364","6875c492":"8610",f4f34a3a:"8636","1ba72f0d":"8906","925b3f96":"9003","1be78505":"9514","3c0fcc1c":"9521","3fb959cb":"9534",dd403c78:"9607","7661071f":"9642","14eb3368":"9817"}[e]||e,b.p+b.u(e)},(()=>{var e={1303:0,532:0};b.f.j=(a,c)=>{var t=b.o(e,a)?e[a]:void 0;if(0!==t)if(t)c.push(t[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var r=new Promise(((c,r)=>t=e[a]=[c,r]));c.push(t[2]=r);var f=b.p+b.u(a),d=new Error;b.l(f,(c=>{if(b.o(e,a)&&(0!==(t=e[a])&&(e[a]=void 0),t)){var r=c&&("load"===c.type?"missing":c.type),f=c&&c.target&&c.target.src;d.message="Loading chunk "+a+" failed.\n("+r+": "+f+")",d.name="ChunkLoadError",d.type=r,d.request=f,t[1](d)}}),"chunk-"+a,a)}},b.O.j=a=>0===e[a];var a=(a,c)=>{var t,r,f=c[0],d=c[1],o=c[2],n=0;if(f.some((a=>0!==e[a]))){for(t in d)b.o(d,t)&&(b.m[t]=d[t]);if(o)var i=o(b)}for(a&&a(c);n Blog | OpenTwins - + - + \ No newline at end of file diff --git a/blog/archive.html b/blog/archive.html index 9ef398c..9e230ff 100644 --- a/blog/archive.html +++ b/blog/archive.html @@ -5,13 +5,13 @@ Archive | OpenTwins - + - + \ No newline at end of file diff --git a/blog/first-blog-post.html b/blog/first-blog-post.html index 261d446..e117e17 100644 --- a/blog/first-blog-post.html +++ b/blog/first-blog-post.html @@ -5,13 +5,13 @@ First Blog Post | OpenTwins - +

First Blog Post

· One min read
Gao Wei

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

- + \ No newline at end of file diff --git a/blog/long-blog-post.html b/blog/long-blog-post.html index e93871c..c4506f6 100644 --- a/blog/long-blog-post.html +++ b/blog/long-blog-post.html @@ -5,13 +5,13 @@ Long Blog Post | OpenTwins - +

Long Blog Post

· 3 min read
Endilie Yacop Sucipto

This is the summary of a very long blog post,

Use a <!-- truncate --> comment to limit blog post size in the list view.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

- + \ No newline at end of file diff --git a/blog/mdx-blog-post.html b/blog/mdx-blog-post.html index 981e37a..b513e42 100644 --- a/blog/mdx-blog-post.html +++ b/blog/mdx-blog-post.html @@ -5,13 +5,13 @@ MDX Blog Post | OpenTwins - +
- + \ No newline at end of file diff --git a/blog/tags.html b/blog/tags.html index fc693c3..a625d06 100644 --- a/blog/tags.html +++ b/blog/tags.html @@ -5,13 +5,13 @@ Tags | OpenTwins - + - + \ No newline at end of file diff --git a/blog/tags/docusaurus.html b/blog/tags/docusaurus.html index cebe275..a5f9292 100644 --- a/blog/tags/docusaurus.html +++ b/blog/tags/docusaurus.html @@ -5,13 +5,13 @@ 4 posts tagged with "docusaurus" | OpenTwins - +

4 posts tagged with "docusaurus"

View All Tags

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

· One min read
Gao Wei

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

- + \ No newline at end of file diff --git a/blog/tags/facebook.html b/blog/tags/facebook.html index 30223e4..c7b9ecf 100644 --- a/blog/tags/facebook.html +++ b/blog/tags/facebook.html @@ -5,13 +5,13 @@ One post tagged with "facebook" | OpenTwins - +

One post tagged with "facebook"

View All Tags

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

- + \ No newline at end of file diff --git a/blog/tags/hello.html b/blog/tags/hello.html index 5778a0c..6eec11d 100644 --- a/blog/tags/hello.html +++ b/blog/tags/hello.html @@ -5,13 +5,13 @@ 2 posts tagged with "hello" | OpenTwins - +

2 posts tagged with "hello"

View All Tags

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

- + \ No newline at end of file diff --git a/blog/tags/hola.html b/blog/tags/hola.html index fbd94e3..6280917 100644 --- a/blog/tags/hola.html +++ b/blog/tags/hola.html @@ -5,13 +5,13 @@ One post tagged with "hola" | OpenTwins - +

One post tagged with "hola"

View All Tags

· One min read
Gao Wei

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

- + \ No newline at end of file diff --git a/blog/welcome.html b/blog/welcome.html index 559efe7..1baa392 100644 --- a/blog/welcome.html +++ b/blog/welcome.html @@ -5,13 +5,13 @@ Welcome | OpenTwins - +

Welcome

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

- + \ No newline at end of file diff --git a/docs/category/examples.html b/docs/category/examples.html index 4a6932f..6e68036 100644 --- a/docs/category/examples.html +++ b/docs/category/examples.html @@ -7,14 +7,14 @@ It is recommended using Postman to make all requests but youy can use your own method."> - +

Examples

There are two ways of creating digital twins, the first is using the Eclipse Ditto API and the second is using our Grafana plugin(WIP). It is recommended using Postman to make all requests but youy can use your own method.

- + \ No newline at end of file diff --git a/docs/category/guides.html b/docs/category/guides.html index c30f6bb..15e39cd 100644 --- a/docs/category/guides.html +++ b/docs/category/guides.html @@ -5,13 +5,13 @@ Guides | OpenTwins - + - + \ No newline at end of file diff --git a/docs/category/installation.html b/docs/category/installation.html index 312815f..04600bd 100644 --- a/docs/category/installation.html +++ b/docs/category/installation.html @@ -5,13 +5,13 @@ Installation | OpenTwins - +
- + \ No newline at end of file diff --git a/docs/category/manual.html b/docs/category/manual.html index 851ade5..7bf8ea1 100644 --- a/docs/category/manual.html +++ b/docs/category/manual.html @@ -5,13 +5,13 @@ Manual | OpenTwins - + - + \ No newline at end of file diff --git a/docs/category/overview.html b/docs/category/overview.html index 02a5348..873d728 100644 --- a/docs/category/overview.html +++ b/docs/category/overview.html @@ -5,13 +5,13 @@ Overview | OpenTwins - + - +
+ \ No newline at end of file diff --git a/docs/examples/ball-example.html b/docs/examples/ball-example.html index bdcff3b..844c67a 100644 --- a/docs/examples/ball-example.html +++ b/docs/examples/ball-example.html @@ -5,13 +5,13 @@ Bouncing ball example | OpenTwins - + - + \ No newline at end of file diff --git a/docs/examples/raspberry-example.html b/docs/examples/raspberry-example.html index 63adf9c..3fb0510 100644 --- a/docs/examples/raspberry-example.html +++ b/docs/examples/raspberry-example.html @@ -5,7 +5,7 @@ Raspberry example | OpenTwins - + @@ -14,7 +14,7 @@ A twin has two main components:

  • attributes. It contains the basic information of the twin, such as the name, location, etc.
  • features. It contains the variables of the twin. Imagine a twin of a sensor that measures humidity and temperature. You will have two features: humidity and temperature. Each feature must contain a field called properties that contains, as its name says, every property of the feature, for example, the value of the temperature and the time the value has been measured.

Once we know wich data will store our twin, it is time to create it. To create a twin, we need to make HTTP requests, we recommend you to use Postman. We need to create a PUT request to the Ditto url with the next pattern and a specific payload.

PUT http://{DITTO_IP}:{PORT}/api/2/things/{nameOfThing}

The payload has the attributes and features of the twin mentioned above. As attributes we have the location, in this case "Spain".

As features we have temperature and humidity. In this case both features has the same properties, value and timestamp, but they dont have to fit.

{
"attributes": {
"location": "Spain"
},
"features": {
"temperature": {
"properties": {
"value": null,
"timestamp": null
}
},
"humidity": {
"properties": {
"value": null,
"timestamp": null
}
}
}
}

Once we have checked that all the data is correct, just click send. You should recieve a 200 code of a correct execution.

To check if the twin has been created properly, just send a GET request to the same url.

GET http://{DITTO_IP}:{PORT}/api/2/things/{nameOfThing}

You should be granted with the schema of the new twin.

Second step. Recieving the data

A digital twin is a copy of a real object or process, but we just have a schema, so we need to feed it with data. To achieve this we can use both the Kafka or MQTT broker that are installed with the platform.

Ditto needs to recieve the data in a specific format called Ditto Protocol, so we need the data to be sent in that format. But don't worry if you recieve the data on other format, Ditto gives us the chance to create a mapping with Javascript to change the format when the data arrives to Ditto(We will always recommend you to send the data on Ditto protocol).

Asuming that we recieve that data in Ditto protocol we can configure the connection with one of the two brokers, Kafka or MQTT. To create a connection you can proceed with the same steps as creating the twins, make a POST request to the url and a payload that contains the connection information.

POST http://{DITTO_IP}:{PORT}/api/2/connections
  {
"name": "{NAME OF THE CONNECTION}",
"connectionType": "kafka",
"connectionStatus": "open",
"uri": "tcp://KAFKA_BROKER_IP",
"sources": [
{
"addresses": [
{"list Of topics to read"}
],
"consumerCount": 1,
"qos": 1,
"authorizationContext": [
"nginx:ditto"
],
"headerMapping": {
"correlation-id": "{{header:correlation-id}}",
"namespace": "{{ entity:namespace }}",
"content-type": "{{header:content-type}}",
"connection": "{{ connection:id }}",
"id": "{{ entity:id }}",
"reply-to": "{{header:reply-to}}"
},
"replyTarget": {
"address": "{{header:reply-to}}",
"headerMapping": {
"content-type": "{{header:content-type}}",
"correlation-id": "{{header:correlation-id}}"
},
"expectedResponseTypes": [
"response",
"error"
],
"enabled": true
}
}
],
"targets": [],
"clientCount": 5,
"failoverEnabled": true,
"validateCertificates": true,
"processorPoolSize": 1,
"specificConfig": {
"saslMechanism": "plain",
"bootstrapServers": "KAFKA_BROKER_IP"
},
"tags": []
}

Once we have checked that all the data is correct, just click send. You should recieve a 200 code of a correct execution.

To check if the twin has been created properly, just send a GET request to the same url adding the if of the new connection

GET http://{DITTO_IP}:{PORT}/api/2/connections/{connectionID}

You should be granted with the information of the connection.

With all this setup, the configuration should be already done, and Ditto should be recieving the data from the broker. If you want to create an example script to send the data, just click on the next link.

- + \ No newline at end of file diff --git a/docs/examples/raspberry-example/sending-data.html b/docs/examples/raspberry-example/sending-data.html index 480d7ef..c665e71 100644 --- a/docs/examples/raspberry-example/sending-data.html +++ b/docs/examples/raspberry-example/sending-data.html @@ -5,13 +5,13 @@ Sending data to Ditto | OpenTwins - +

Sending data to Ditto

In this case we will use a Raspberry Pi 3B with Raspbian buster OS connected to a DHT22 temperature and humidity sensor.

Setting up the Raspberry Pi

In the following image the pins of the Raspberry used are shown.

We will use pins 2, 6, 23 and 24.

Obtaining sensor data

To get the data from the sensor it is necessary to install its library.

sudo pip3 install Adafruit_DHT

We can test the operation of the sensor by creating a .py file with the following code (in our case it is called dht_code.py and I have placed it on the desktop).

import Adafruit_DHT
import time

SENSOR_DHT = Adafruit_DHT.DHT22
PIN_DHT = 24

while True:
humedad, temperatura = Adafruit_DHT.read(SENSOR_DHT, PIN_DHT)
if humedad is not None and temperatura is not None:
print("Temp={0:0.1f}C Hum={1:0.1f}%".format(temperatura, humedad))
else:
print("Lecture fails, chech connection");
time.sleep(3);

And we run it as follows:

cd Desktop/
python3 dht_code.py

Installing Mosquitto on Raspberry

To send the data to DITTO we will use MQTT with the Mosquitto broker.

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
sudo wget http://repo.mosquitto.org/debian/mosquitto-buster.list
sudo -i
apt-get update
apt-get install mosquitto
apt-get install mosquitto-clients

With this we would already have Mosquitto installed on our Raspberry. To test it we can open two terminals, subscribe to a topic with one and publish to that topic with another.

mosquitto_sub -h localhost -t casa/comedor/temperatura
mosquitto_pub -h localhost -t casa/comedor/temperatura -m "Temperatura: 25ºC"

Configuring Mosquitto on raspberry

If we wanted to try to send and receive messages by MQTT between the raspberry and another device, we would have to configure the following.

  1. From the main route of the Raspberry edit the Mosquitto configuration file.
sudo nano /etc/mosquitto/mosquitto.conf
  1. Write these three lines at the end of the file to enable connections with any IP through port 1883 and configure authentication.
listener 1883 0.0.0.0

password_file /etc/mosquitto/passwd
allow_anonymous true

So that mosquito.conf would look like this:

# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.gz

pid_file /run/mosquitto/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log
log_type all
log_timestamp true

include_dir /etc/mosquitto/conf.d

listener 1883 0.0.0.0

password_file /etc/mosquitto/passwd
allow_anonymous true
  1. Save the file with Ctrl-O, Enter and Ctrl-X.
  2. Create a user with password using the following command. Replace USERNAME with the username you want. When you run it, it will ask you to enter a password, which will not be visible while you type it.
sudo mosquitto_passwd -c /etc/mosquitto/passwd USERNAME
  1. Restart Mosquitto with the following command:
sudo systemctl restart mosquitto

Finally, we would have Mosquitto configured to receive and send from other IPs. To do this you have to add -u "USERNAME" and -P "PASSWORD" (including quotes) to the respective command.

For example (in this case being user both the user and the password):

mosquitto_sub -h 192.168.0.27 -u "usuario" -P "usuario" -t "/Raspberry/Sensores/DHT22"

Sending data to MQTT from Raspberry

To work with MQTT in python we will need to make use of Eclipse Paho.

sudo pip3 install paho-mqtt

Now, we will create a .py file that publishes the sensor data in the corresponding topic of MQTT. For this we have adapted the code example exposed in the following link to the DHT22 sensor with the Adafruit_DHT library and the requirements of MQTT.

How to use MQTT in Python (Paho)

In addition, the message sent by MQTT regarding the Ditto Protocol has been made following both the documentation and an example of use.

Things - Create-Or-Modify protocol specification

  • Code to send sensor data to MQTT and Eclipse Ditto
    from paho.mqtt import client as mqtt_client
    import time
    import random
    import Adafruit_DHT
    import json

    #Constants to connect to MQTT
    broker = "IP OF MQTT"
    port = POR OF MQTT
    topic = "telemetry"
    client_id = f'python-mqtt-{random.randint(0, 1000)}'
    username = "raspberry_DHT22_1@ditto"
    password = "password"

    #Constantes para obtener información del sensor
    SENSOR_DHT = Adafruit_DHT.DHT22
    PIN_DHT = 24

    #Constantes para crear el mensaje de Eclipse Ditto
    DITTO_NAMESPACE = "raspberry";
    DITTO_THING_ID = "DHT22_1";

    def connect_mqtt():
    def on_connect(client, userdata, flags, rc):
    if rc == 0:
    print("Connected to MQTT Broker!")
    else:
    print("Failed to connect, return code %d\n", rc)
    # Set Connecting Client ID
    client = mqtt_client.Client(client_id)
    client.username_pw_set(username, password)
    client.on_connect = on_connect
    client.connect(broker, port)
    return client

    def publish(client):
    while True:
    time.sleep(1)
    msg = getValues();
    if msg is not None:
    result = client.publish(topic, msg)
    status = result[0]
    if status == 0:
    print(f"Send '{msg}' to topic '{topic}'")
    else:
    print(f"Failed to send message to topic {topic}")

    def getValues():
    humedad, temperatura = Adafruit_DHT.read(SENSOR_DHT, PIN_DHT)
    if humedad is not None and temperatura is not None:
    temp = "{0:0.1f}".format(temperatura)
    hum = "{0:0.1f}".format(humedad)
    output = "{\"topic\": \""
    output += DITTO_NAMESPACE
    output += "/"
    output += DITTO_THING_ID
    output += "/things/twin/commands/modify\",\"headers\":{\"response-required\":false, \"content-type\":\"application/vnd.eclipse.ditto+json\"},"
    output += "\"path\": \"/features\", \"value\":{"
    output += sensorString("temperature", temp)
    output += ","
    output += sensorString("humidity", hum)
    output += "}}"
    return output
    else:
    print("Failed on lecture, check circuit")
    return None

    def sensorString(name, value):
    return "\"" + name + "\": { \"properties\": { \"value\": " + value + "}}";

    def run():
    client = connect_mqtt()
    client.loop_start()
    publish(client)

    if __name__ == '__main__':
    run()

This code has been saved in a .py file with the name of dht22publisher.py and have saved it on the desktop. To execute it we use:

cd Desktop/
python3 dht22publisher.py
- + \ No newline at end of file diff --git a/docs/examples/string-example.html b/docs/examples/string-example.html index 6748ae4..5071d5e 100644 --- a/docs/examples/string-example.html +++ b/docs/examples/string-example.html @@ -5,13 +5,13 @@ String and number example | OpenTwins - + - + \ No newline at end of file diff --git a/docs/guides/add-3d-visualization.html b/docs/guides/add-3d-visualization.html index 3345335..082f10c 100644 --- a/docs/guides/add-3d-visualization.html +++ b/docs/guides/add-3d-visualization.html @@ -5,13 +5,13 @@ add-3d-visualization | OpenTwins - + - + \ No newline at end of file diff --git a/docs/guides/connect-dt-with-real-devices.html b/docs/guides/connect-dt-with-real-devices.html index 9cce5bf..1cdaaf6 100644 --- a/docs/guides/connect-dt-with-real-devices.html +++ b/docs/guides/connect-dt-with-real-devices.html @@ -5,13 +5,13 @@ connect-dt-with-real-devices | OpenTwins - + - + \ No newline at end of file diff --git a/docs/guides/create-dt-scheme.html b/docs/guides/create-dt-scheme.html index ef5d107..4d1a3b0 100644 --- a/docs/guides/create-dt-scheme.html +++ b/docs/guides/create-dt-scheme.html @@ -5,13 +5,13 @@ Create Digital Twin scheme | OpenTwins - + - + \ No newline at end of file diff --git a/docs/installation/manual-deploy/3d-part.html b/docs/installation/manual-deploy/3d-part.html index b2b32f5..96e4ccc 100644 --- a/docs/installation/manual-deploy/3d-part.html +++ b/docs/installation/manual-deploy/3d-part.html @@ -5,13 +5,13 @@ 3D visualization using Unity | OpenTwins - + - + \ No newline at end of file diff --git a/docs/installation/manual-deploy/core.html b/docs/installation/manual-deploy/core.html index 19f484a..9d5d044 100644 --- a/docs/installation/manual-deploy/core.html +++ b/docs/installation/manual-deploy/core.html @@ -5,7 +5,7 @@ Core functionality | OpenTwins - + @@ -13,7 +13,7 @@

Core functionality

This section will explain how to deploy the platform manually. Basically, you will have to deploy or install the different components and then connect them. The procedure explained below is the one followed to deploy them in Kubernetes using in most cases the Helm option, but any other installation in which all the components are correctly installed and there is some kind of network between them to be able to communicate can be used.

It is not necessary to deploy all components if not all functionalities are to be used. Check the architecture section to find out which ones are essential and what functionality is covered by each of them.

Steps to deploy

We recommend installing all components in the same Kubernetes namespace to make it easier to identify and control them all. In our case the namespace name will be stored in a bash variable called NS.

IMPORTANT

Also note that the values files have the variables that we recommend for the installation of each Helm Chart, but they can be extended or modified according to your needs (to do so, please consult the Helm Chart documentation).

Eclipse Ditto and Eclipse Hono

To deploy both Eclipse Ditto and Eclipse Hono we will directly install the cloud2edge package, which is specially created to allow these two tools to connect correctly. Before executing the commands we will need to have the files pv-hono.yaml, pv-mongodb.yaml, pvc-mongodb.yaml and values-cloud2edge.yaml in the folder where we are in the terminal. Once ready, and complying with all the prerequisites of the package, we execute the following commands.

helm repo add eclipse-iot https://eclipse.org/packages/charts
helm repo update

kubectl create namespace $NS
kubectl apply -f pv-hono.yaml -n $NS
kubectl apply -f pv-mongodb.yaml -n $NS
kubectl apply -f pvc-mongodb.yaml -n $NS

helm install -n $NS --wait --timeout 15m dt eclipse-iot/cloud2edge --version=0.2.3 -f values-cloud2edge.yaml --dependency-update --debug

If all pods are running and ready we already have the first two components installed.

Apache Kafka

To deploy Kafka, the yaml files from another project have been reused, but it could also be installed using Helm if you prefer.

For Kafka to work, it is necessary to install ZooKeeper beforehand. In addition, CMAK, a tool to manage Apache Kafka, will be used to make it easier to use. Then, for the deployment, the pod-zookeeper.yaml, svc-zookeeper.yaml, pod-kafka.yaml, svc-kafka.yaml, deploy-kafka-manager.yaml and svc-kafka-manager.yaml files will be needed. Once you have them, you only need to apply them to the chosen namespace.

kubectl apply -f pod-zookeeper.yaml -n $NS
kubectl apply -f svc-zookeeper.yaml -n $NS

kubectl apply -f pod-kafka.yaml -n $NS
kubectl apply -f svc-kafka.yaml -n $NS

kubectl apply -f deploy-kafka-manager.yaml -n $NS
kubectl apply -f svc-kafka-manager.yaml -n $NS

InfluxDB

For InfluxDB, Helm will again be used for deployment. The following sc-influxdb2.yaml and pv-influxdb2.yaml files will be required to be applied before installation. In addition, the recommended values are in the values-influxdb2.yaml file (it is recommended that you check it before installing and change the password variable to your preference).

helm repo add influxdata https://helm.influxdata.com/

kubectl apply -f sc-influxdb2.yaml -n $NS
kubectl apply -f pv-influxdb2.yaml -n $NS

helm install -n $NS influxdb influxdata/influxdb2 -f values-influxdb2.yaml --version=2.0.10

Grafana

Deploying Grafana is very similar to InfluxDB. We will have to apply the file pv-grafana.yaml and install the Helm Chart with the values of the values-grafana.yaml file (it is also recommended to modify the password variable).

helm repo add grafana https://grafana.github.io/helm-charts

kubectl apply -f pv-grafana.yaml -n $NS

helm install -n $NS grafana grafana/grafana -f values-grafana.yaml --version=6.26.3

Steps to connect

Eclipse Hono and Eclipse Ditto

In the following diagram you can see how Eclipse Hono and Eclipse Ditto are related in our platform.

Eclipse Ditto and Eclipse Hono relationship

Basically, you will need to create a connection between both for each Eclipse Hono tenant you want to use. Tenants basically act as device containers, so you could simply create a single tenant connected to Eclipse Ditto and store all the devices you need there. In this case we will do it this way, but you could create as many tenants and connections as your needs require.

The first thing to do is to check the IPs and ports to use with kubectl get services -n $NS. At this point we are interested in the dt-service-device-registry-ext and dt-ditto-nginx services, which correspond to Eclipse Hono and Eclipse Ditto respectively (if you have followed these instructions and services are NodePort, you will have to use port 3XXXX).

We will then create a Hono tenant called, for example, ditto (you must override the variable HONO_TENANT if you have chosen another name).

HONO_TENANT=ditto
curl -i -X POST http://$HONO_IP:$HONO_PORT/v1/tenants/$HONO_TENANT

Now we will create the connection from Eclipse Ditto, which will act as a consumer of the AMQP endpoint of that tenant. To do this you will need to know the Eclipse Ditto devops password with the following command (the variable RELEASE is the name we gave to the Helm release when installing cloud2edge, if you have followed these instructions it should be dt).

RELEASE=dt
DITTO_DEVOPS_PWD=$(kubectl --namespace ${NS} get secret ${RELEASE}-ditto-gateway-secret -o jsonpath="{.data.devops-password}" | base64 --decode)

Now we create the connection from Eclipse Ditto with the following command.

curl -i -X POST -u devops:${DITTO_DEVOPS_PWD} -H 'Content-Type: application/json' --data '{
"targetActorSelection": "/system/sharding/connection",
"headers": {
"aggregate": false
},
"piggybackCommand": {
"type": "connectivity.commands:createConnection",
"connection": {
"id": "hono-connection-for-'"${HONO_TENANT}"'",
"connectionType": "amqp-10",
"connectionStatus": "open",
"uri": "amqp://consumer%40HONO:verysecret@'"${RELEASE}"'-dispatch-router-ext:15672",
"failoverEnabled": true,
"sources": [
{
"addresses": [
"telemetry/'"${HONO_TENANT}"'",
"event/'"${HONO_TENANT}"'"
],
"authorizationContext": [
"pre-authenticated:hono-connection"
],
"enforcement": {
"input": "{{ header:device_id }}",
"filters": [
"{{ entity:id }}"
]
},
"headerMapping": {
"hono-device-id": "{{ header:device_id }}",
"content-type": "{{ header:content-type }}"
},
"replyTarget": {
"enabled": true,
"address": "{{ header:reply-to }}",
"headerMapping": {
"to": "command/'"${HONO_TENANT}"'/{{ header:hono-device-id }}",
"subject": "{{ header:subject | fn:default(topic:action-subject) | fn:default(topic:criterion) }}-response",
"correlation-id": "{{ header:correlation-id }}",
"content-type": "{{ header:content-type | fn:default('"'"'application/vnd.eclipse.ditto+json'"'"') }}"
},
"expectedResponseTypes": [
"response",
"error"
]
},
"acknowledgementRequests": {
"includes": [],
"filter": "fn:filter(header:qos,'"'"'ne'"'"','"'"'0'"'"')"
}
},
{
"addresses": [
"command_response/'"${HONO_TENANT}"'/replies"
],
"authorizationContext": [
"pre-authenticated:hono-connection"
],
"headerMapping": {
"content-type": "{{ header:content-type }}",
"correlation-id": "{{ header:correlation-id }}",
"status": "{{ header:status }}"
},
"replyTarget": {
"enabled": false,
"expectedResponseTypes": [
"response",
"error"
]
}
}
],
"targets": [
{
"address": "command/'"${HONO_TENANT}"'",
"authorizationContext": [
"pre-authenticated:hono-connection"
],
"topics": [
"_/_/things/live/commands",
"_/_/things/live/messages"
],
"headerMapping": {
"to": "command/'"${HONO_TENANT}"'/{{ thing:id }}",
"subject": "{{ header:subject | fn:default(topic:action-subject) }}",
"content-type": "{{ header:content-type | fn:default('"'"'application/vnd.eclipse.ditto+json'"'"') }}",
"correlation-id": "{{ header:correlation-id }}",
"reply-to": "{{ fn:default('"'"'command_response/'"${HONO_TENANT}"'/replies'"'"') | fn:filter(header:response-required,'"'"'ne'"'"','"'"'false'"'"') }}"
}
},
{
"address": "command/'"${HONO_TENANT}"'",
"authorizationContext": [
"pre-authenticated:hono-connection"
],
"topics": [
"_/_/things/twin/events",
"_/_/things/live/events"
],
"headerMapping": {
"to": "command/'"${HONO_TENANT}"'/{{ thing:id }}",
"subject": "{{ header:subject | fn:default(topic:action-subject) }}",
"content-type": "{{ header:content-type | fn:default('"'"'application/vnd.eclipse.ditto+json'"'"') }}",
"correlation-id": "{{ header:correlation-id }}"
}
}
]
}
}
}' http://$DITTO_IP:$DITTO_PORT/devops/piggyback/connectivity

This connection is configured so that if an Eclipse Hono device has the ThingId of an Eclipse Ditto twin as its identifier, its messages will be redirected to that twin directly (explained in more detail in the usage section).

Eclipse Ditto and Apache Kafka

To connect Eclipse Ditto to Kafka we will need to create a topic in Kafka and a Ditto connection to it. All events that occur in any of the Eclipse Ditto twins will be sent to this topic. You could also filter these events by twin or namespace and create several connections to multiple topics, but this is not really necessary and adds some complexity.

To create the topic in Kafka the above deployed manager will be used. Check the IP and port of Kafka's manager with kubectl get services -n $NS and access it in a browser. Already on the page, if you don't have a cluster created, create a new one and create a topic inside it. In our case this topic will be called digitaltwins.

To create a cluster go to Cluster > Add Cluster and fill in at least the name and host of Zookeeper (if our files are used you will have to put zookeeper-1:2181). The other settings can be left as default. It should look like the image.

Create cluster in Apache Kafka

After creating it, access it and go to Topic > Create to create a new topic. Here it is only necessary to assign a name.

Create topic in Apache Kafka

Once the topic is created we have to create a Kafka target connection in Eclipse Ditto, where it will be indicated that we want it to publish all events. You will need the Ditto devops password obtained in the previous section.

curl -i -X POST -u devops:${DITTO_DEVOPS_PWD} -H 'Content-Type: application/json' --data '{
"targetActorSelection": "/system/sharding/connection",
"headers": {
"aggregate": false
},
"piggybackCommand": {
"type": "connectivity.commands:createConnection",
"connection": {
"id": "kafka-connection",
"connectionType": "kafka",
"connectionStatus": "open",
"failoverEnabled": true,
"uri": "tcp://kafka-cluster:9094",
"specificConfig": {
"bootstrapServers": "kafka-cluster:9094",
"saslMechanism": "plain"
},
"sources": [],
"targets": [
{
"address": "digitaltwins",
"topics": [
"_/_/things/twin/events",
"_/_/things/live/messages"
],
"authorizationContext": [
"nginx:ditto"
]
}
]
}
}
}' http:///$DITTO_IP:$DITTO_PORT/devops/piggyback/connectivity

If the connection is successfully established, Eclipse Ditto and Kafka are already connected.

Apache Kafka and InfluxDB: Deploying Telegraf

Telegraf will be in charge of collecting the messages posted in the created Kafka topic and write the relevant information in InfluxDB, i.e. it will connect both tools. Telegraf consists of input and output plugins. In our case we will use the kafka consumer input plugin and the InfluxDB v2.x output plugin. The Telegraf configuration will be defined in its telegraf-values.yaml file, before deployment. This will be written in YAML as another installation variable and will be automatically transformed to TOML during deployment.

First of all we need to get a token from InfluxDB that gives Telegraf at least write permissions. To do this we access the InfluxDB interface (ip and port of its service) and go to Data > API Tokens. Click on Generate API Token and select All Access API Token. Assign any name, save and select the token we have just created to copy it to the clipboard. This is stored in a variable called INFLUX_TOKEN.

export INFLUX_TOKEN=<INFLUX_TOKEN>

Create token in InfluxDB

You also need to store in variables the IPs and ports of both Kafka and InfluxDB, as well as the name of the Kafka topic. These variables will be INFLUX_IP, INFLUX_PORT, KAFKA_IP, KAFKA_PORT and KAFKA_TOPIC. Once all variables are ready, Telegraf can be displayed with the values defined in the values-telegraf.yaml file.

helm install -n $NS telegraf influxdata/telegraf -f values-telegraf.yaml --version=1.8.18

If the pod is ready and running it should be working, but it is advisable to check its logs to make sure.

kubectl logs -f --namespace $NS $(kubectl get pods --namespace $NS -l app.kubernetes.io/name=telegraf -o jsonpath='{ .items[0].metadata.name }')

InfluxDB and Grafana

Connecting these two tools is very simple. The first thing to do is to get a full access token for Grafana in InfluxDB, as explained in the previous section. Then, access Configuration > Data sources on the Grafana interface and click on Add data source. Select InfluxDB from the list. In the settings it is very important to select Flux as query language. It will be necessary to fill in the URL section with the one that corresponds to InfluxDB. You will also have to activate Auth Basic and fill in the fields (in our case we have set the default admin of InfluxDB, but you can create a new user and fill in these fields). In the InfluxDB details you should indicate the organisation (default is influxdata), the bucket (default is default) and the token you have generated. When saving and testing, it should come out that at least one bucket has been found, indicating that they are already connected.

Create datasource in Grafana

- + \ No newline at end of file diff --git a/docs/installation/manual-deploy/ml-part.html b/docs/installation/manual-deploy/ml-part.html index 292b103..1f2351f 100644 --- a/docs/installation/manual-deploy/ml-part.html +++ b/docs/installation/manual-deploy/ml-part.html @@ -5,13 +5,13 @@ Kafka-ML conection | OpenTwins - + - + \ No newline at end of file diff --git a/docs/installation/manual-deploy/simulations-part.html b/docs/installation/manual-deploy/simulations-part.html index 8daf081..1fda8ef 100644 --- a/docs/installation/manual-deploy/simulations-part.html +++ b/docs/installation/manual-deploy/simulations-part.html @@ -5,13 +5,13 @@ Simulations | OpenTwins - + - + \ No newline at end of file diff --git a/docs/installation/requirements.html b/docs/installation/requirements.html index aba68ad..256f22a 100644 --- a/docs/installation/requirements.html +++ b/docs/installation/requirements.html @@ -5,13 +5,13 @@ Requirements | OpenTwins - +
- + \ No newline at end of file diff --git a/docs/installation/using-helm.html b/docs/installation/using-helm.html index fc88c5b..ec55d2f 100644 --- a/docs/installation/using-helm.html +++ b/docs/installation/using-helm.html @@ -5,14 +5,14 @@ Helm | OpenTwins - +

Helm

Installation

First of all, you have to add ERTIS Research group helm repository to your helm repository list:

helm repo add ertis https://ertis-research.github.io/Helm-charts/

Once done, the next step is installing the chart by executing this line on your terminal (in our case, we will use opentwins as release name and opentwins as namespace, but you can choose the one that you prefeer). To customize the installation, please refer to Helm's values file.

helm upgrade --install opentwins ertis/OpenTwins -n opentwins --wait --dependency-update

After waiting some time, the installation will be ready for use.

Lightweight installation

As described in the main page, OpenTwins has it's own lightweight version that aims to run on IoT devices such as Raspberry Pi devices. To install this versión, you have to follow the first step in order to add ERTIS repository to your repository list and then install the platform using the command bellow:

helm install ot ertis/OpenTwins-Lightweight -n opentwins

In this case connections still need to be made for the platform to work properly.

- + \ No newline at end of file diff --git a/docs/overview/architecture.html b/docs/overview/architecture.html index bd242fc..8bd8d06 100644 --- a/docs/overview/architecture.html +++ b/docs/overview/architecture.html @@ -3,15 +3,15 @@ -Architecture | OpenTwins +Architecture | OpenTwins - +
-

Architecture

OpenTwins is built on a microservices architecture, designed to enhance scalability, flexibility and efficiency in the development, extension, deployment and maintenance of the platform. All the components that make up this architecture are encapsulated in Docker containers, ideally managed through Kubernetes, which ensures efficient portability and management.

note

Although it is possible to deploy and connect the different components without containerization, this approach is not recommended due to the difficulties involved in terms of installation and management. However, it is important to note that OpenTwins could be manually connected to non-containerized components, such as a local instance of Grafana.

The following image illustrates the current architecture of OpenTwins, in which each color of the boxes represents the functionality covered by each component. Most of these components are external projects to our organization, however, we also include certain services specifically designed to enrich the functionality of the platform. Both the code and documentation of the components are available in their respective repositories.

Architecture

Essential functionality

The elements highlighted in blue form the heart of OpenTwins, as they provide the essential functionalities of a digital twin development platform: the definition of digital twins, the connection to IoT devices, the storage of information and the user-friendly visualisation of data. The tools used in this case include:

  • Eclipse Ditto. This is the core component of OpenTwins, an open-source framework for digital twins developed by the Eclipse Foundation. Eclipse Ditto provides an asbstract entity "Thing", which allows describing digital twins through JSON schemas that include both static and dynamic data of the entity. The framework stores the current state of the "Thing" entity and facilitates its connection to input and output data sources through various IoT protocols. In a typical scenario, the Thing entity will update its information via a source connection, generating events that are sent to the indicated target connections. In addition, the tool provides an API that allows querying the current state of the entity and managing its schema and connections.

  • Eclipse Hono. This component facilitates the reception of data through various IoT protocols and centralizes it into a single endpoint, either AMQP 1.0 or Kafka. This output connects directly to Eclipse Ditto, eliminating the need for users to manually connect to an external broker to extract data. This allows the platform to receive data through the most common IoT protocols, giving devices the flexibility to connect to the most appropriate protocol for their particular case.

    danger

    Despite its advantages, we have observed that Eclipse Hono does not scale correctly when the message frequency is high, so we do not recommend its use in these cases. For this reason, or if it is not necessary to offer different input protocols, you can choose to connect Eclipse Ditto to one or more specific messaging brokers, such as Mosquitto or RabbitMQ.

  • MongoDB. This tool is the internal database used by Eclipse Hono and Eclipse Ditto. Eclipse Ditto stores data about the current state of digital twins ("things"), policies, connections and recent events, while Eclipse Hono stores information about defined devices and groups.

  • InfluxDB. This database provides an optimized architecture for time series, which guarantees superior performance in storing and querying digital twin data. Its high scalability and simplicity of use allow it to efficiently handle large volumes of data, facilitating the integration and analysis of information in real time. In addition, it is one of the most popular options in the field of the Internet of Things (IoT), generating an active community that consolidates its position as a robust solution.

  • Telegraf. This is the recommended data collector for InfluxDB databases. It is in charge of constantly consuming the given Kafka topic and writing the received messages to the specified InfluxDB database.

  • Apache Kafka or Eclipse Mosquitto. It works as an intermediary between Eclipse Ditto and Telegraf, as they cannot connect directly (they need a component that acts as a broker).

  • Grafana.

Compositional support

Data prediction with machine learning

The yellow part...

3D representation

The red part...

- +

Architecture

OpenTwins is built on a open source microservices architecture, designed to enhance scalability, flexibility and efficiency in the development, extension, deployment and maintenance of the platform. All the components that make up this architecture are encapsulated in Docker containers, ideally managed through Kubernetes, which ensures efficient portability and management.

note

Although it is possible to deploy and connect the different components without containerization, this approach is not recommended due to the difficulties involved in terms of installation and management. However, it is important to note that OpenTwins could be manually connected to non-containerized components, such as a local instance of Grafana.

The following image illustrates the current architecture of OpenTwins, in which each color of the boxes represents the functionality covered by each component. Most of these components are external projects to our organization, however, we also include certain services specifically designed to enrich the functionality of the platform. Both the code and documentation of the components are available in their respective repositories.

Architecture

Essential functionality

The elements highlighted in blue form the heart of OpenTwins, as they provide the essential functionalities of a digital twin development platform: the definition of digital twins, the connection to IoT devices, the storage of information and the user-friendly visualisation of data. The tools used in this case include:

  • Eclipse Ditto. This is the core component of OpenTwins, an open-source framework for digital twins developed by the Eclipse Foundation. Eclipse Ditto provides an asbstract entity "Thing", which allows describing digital twins through JSON schemas that include both static and dynamic data of the entity. The framework stores the current state of the "Thing" entity and facilitates its connection to input and output data sources through various IoT protocols. In a typical scenario, the Thing entity will update its information via a source connection, generating events that are sent to the indicated target connections. In addition, the tool provides an API that allows querying the current state of the entity and managing its schema and connections.

  • Eclipse Hono. This component facilitates the reception of data through various IoT protocols and centralizes it into a single endpoint, either AMQP 1.0 or Kafka. This output connects directly to Eclipse Ditto, eliminating the need for users to manually connect to an external broker to extract data. This allows the platform to receive data through the most common IoT protocols, giving devices the flexibility to connect to the most appropriate protocol for their particular case.

    danger

    Despite its advantages, we have observed that Eclipse Hono does not scale correctly when the message frequency is high, so we do not recommend its use in these cases. For this reason, or if it is not necessary to offer different input protocols, you can choose to connect Eclipse Ditto to one or more specific messaging brokers, such as Mosquitto or RabbitMQ.

  • MongoDB. This tool is the internal database used by Eclipse Hono and Eclipse Ditto. Eclipse Ditto stores data about the current state of digital twins ("things"), policies, connections and recent events, while Eclipse Hono stores information about defined devices and groups.

  • InfluxDB v2. This database provides an optimized architecture for time series, which guarantees superior performance in storing and querying digital twin data. Its high scalability and simplicity of use allow it to efficiently handle large volumes of data, facilitating the integration and analysis of information in real time. In addition, it is one of the most popular options in the field of the Internet of Things (IoT), generating an active community that consolidates its position as a robust solution.

  • Telegraf. This server-based agent for collecting and sending metrics offers easy configuration and a wide range of plugins to integrate various data sources and destinations. It is the recommended choice for data ingestion into InfluxDB. Its role in the platform is to capture digital twin updates, presented as Eclipse Ditto events, processing the data as time series for storage in the database.

  • Apache Kafka or Eclipse Mosquitto. An intermediary messaging broker is required for Telegraf to collect event data from Eclipse Ditto, since none of these technologies provide this role and do not have a direct connection. For this purpose, any messaging broker where Eclipse Ditto can publish and read Telegraf is valid. The options available on the platform include Apache Kafka, known for its scalability and error tolerance in processing large volumes of data, and Mosquitto, recognized for its efficiency in messaging and its flexibility in IoT environments.

  • Grafana. This solution acts as the platform's main front-end, providing a highly adaptable data visualization that allows users to create intuitive and easily understandable dashboards. Its ability to integrate with a wide variety of data sources and its active community of users and developers make it a powerful tool for monitoring and analyzing complex systems, such as digital twins. In addition, it allows users to expand its functionality by creating custom plugins, giving them the ability to integrate new visualizations, use-case specific panels and connectors to additional data sources.

Compositional support

The composition of digital twins represents one of the main contributions of this platform, distinguishing it from other similar solutions. In addition, OpenTwins provides the ability to define and compose "types" of digital twins, making development simpler. The services marked in green in the architecture are responsible for integrating these functionalities.

  • Extended API for Eclipse Ditto. The Thing entity provided by Eclipse Ditto must follow a specific JSON schema, although it offers great flexibility within it. Our goal is to simplify type definition and entity composition by taking advantage of the flexibility of this schema. This "extended API" acts as a layer on top of the Eclipse Ditto API, distinguishing between the management of twins and types, and applying all the necessary constraints and checks to ensure the composition of these entities according to the constraints imposed by each (types form graphs, while twins form trees).

  • OpenTwins app plugin for Grafana. To have a pleasant and usable platform for as many users as possible, it is important to have a simple interface capable of performing the functionalities available. Therefore, an app plugin is included for Grafana that uses the extended API to query and manage twins, types and their composition in a user-friendly way. Moreover, this approach keeps the entire platform front-end within a single tool, making it easy to use and accessible.

Data prediction with machine learning

The architecture highlights in yellow the components that facilitate the integration of digital twins with Machine Learning models. Providing this support represents a crucial aspect in the development of a digital twin, since it provides a complementary or comparative perspective with real data, enriching the understanding of the replicated object. To achieve this goal, the following tools are used:

  • Kafka-ML. This open source framework manages the lifecycle of ML/AI applications in production environments through continuous data streams. Unlike traditional frameworks that work with static data sets, Kafka-ML enables both training and inference with continuous data streams, allowing users to have fine-grained control over ingestion data. Currently, Kafka-ML is compatible with the most popular ML frameworks, TensorFlow and PyTorch, and enables the management and deployment of ML models, from definition to final deployment for inference. This component operates as a black box in OpenTwins, receiving input data for a deployed model through a Kafka topic and sending the predicted result to another topic, which is connected to Eclipse Ditto in a way that updates to the corresponding digital twin.

  • Eclipse Hono to Kafka-ML. Kafka-ML can receive input data from any source that is able to publish to a Kafka topic. However, at OpenTwins we have decided to simplify this process when the data comes from Eclipse Hono. Therefore, we have developed an optional service that automates the data feed of ML models deployed in Kafka-ML. This service automatically sends the data needed to make a prediction every time a new data is received from any of the devices required by the model. To use this tool, we provide an API that allows you to specify which devices should be taken into account, what data is required from these devices and how they should be formatted to work correctly as input for Kafka-ML.

  • Error detection for Eclipse Hono with Kafka-ML. An ML model useful in the construction of a digital twin is one capable of generating data that a sensor should produce in case it loses connection or experiences a failure. To automate this, we have developed an optional service with similar functionalities to the one mentioned above, but with an important particularity: it will only invoke the model when an interruption in data reception by the device is detected. This service takes into account the frequency with which the data is emitted by the device. As soon as an anomaly is identified, the service will format and send the last data received following the expected frequency until the connection is restored and real data is received again. In this way, the normal operation of the device is simulated, ensuring continuity of information for the digital twin.

3D representation

The red part...

+ \ No newline at end of file diff --git a/docs/overview/concepts.html b/docs/overview/concepts.html index ce366d0..e168460 100644 --- a/docs/overview/concepts.html +++ b/docs/overview/concepts.html @@ -5,13 +5,13 @@ Concepts | OpenTwins - +
-

Concepts

In this section, we will explore in depth the concept of a digital twin as defined by the platform. We will detail the information it can contain, explain the idea of a "digital twin type", and discuss how the composition works.

Digital twin definition

In the platform, a digital twin is defined as a replica of a real entity, whether tangible or not. This replica can be considered as an enhancement to monitoring the entity because, although it is not strictly necessary to be classified as a digital twin, it is beneficial to connect the real data of the entity with those generated by means of mathematical simulations or artificial intelligence. In this way, the digital twin becomes a central point that integrates all available sources of information on the entity, facilitating a unified, fast and effective query that promotes decision-making and, therefore, the optimization of the real entity.

Digital twin content

A digital twin is composed of static and dynamic data.

  • Static data. Information relevant to the digital twin that is expected to remain constant, such as the model, the date of acquisition or the location of the machine we are replicating.

  • Dynamic data. Data that changes over time and that we will record in time series, such as the position of a mobile robot or the values measured by a sensor.

TENGO QUE EXPLICAR AQUI QUE ES UN THING, QUE STATIC ES ATTRIBUTE Y TO LO DE DITTO VAYA. ABAJO TAMBIEN TEMA POLITICAS Y DEMAS.

For example, consider a DHT22 temperature and humidity sensor. Its digital twin, represented in JSON format following the schema provided by Eclipse Ditto, would look like this:

{
"policyId": "example:DHT22",
"attributes": {
"location": "Spain"
},
"features": {
"temperature": {
"properties": {
"value": null
}
},
"humidity": {
"properties": {
"value": null
}
}
}
}
- +

Concepts

In this section, we will explore in depth the concept of a digital twin as defined by the platform. We will detail the information it can contain, explain the idea of a "digital twin type", and discuss how the composition works.

Digital twin definition

In the platform, a digital twin is defined as a replica of a real entity, whether tangible or not. This replica can be considered as an enhancement to monitoring the entity because, although it is not strictly necessary to be classified as a digital twin, it is beneficial to connect the real data of the entity with those generated by means of mathematical simulations or artificial intelligence. In this way, the digital twin becomes a central point that integrates all available sources of information on the entity, facilitating a unified, fast and effective query that promotes decision-making and, therefore, the optimization of the real entity.

Digital twin content

A digital twin is composed of static and dynamic data.

  • Static data. Information relevant to the digital twin that is expected to remain constant, such as the model, the date of acquisition or the location of the machine we are replicating.

  • Dynamic data. Data that changes over time and that we will record in time series, such as the position of a mobile robot or the values measured by a sensor.

TENGO QUE EXPLICAR AQUI QUE ES UN THING, QUE STATIC ES ATTRIBUTE Y TO LO DE DITTO VAYA. ABAJO TAMBIEN TEMA POLITICAS Y DEMAS.

For example, consider a DHT22 temperature and humidity sensor. Its digital twin, represented in JSON format following the schema provided by Eclipse Ditto, would look like this:

{
"policyId": "example:DHT22",
"attributes": {
"location": "Spain"
},
"features": {
"temperature": {
"properties": {
"value": null
}
},
"humidity": {
"properties": {
"value": null
}
}
}
}

Digital twin type

Digital twins composition

+ \ No newline at end of file diff --git a/docs/overview/purpose.html b/docs/overview/purpose.html index cd1ff2c..83014a7 100644 --- a/docs/overview/purpose.html +++ b/docs/overview/purpose.html @@ -5,13 +5,13 @@ Purpose | OpenTwins - +

Purpose

This platform has been designed to facilitate the development of digital twins and is characterised by the exclusive use of open source components. The aim is to achieve a platform that covers all the functionalities that a digital twin may require, from the most basic ones, such as simply checking its real-time state, to more advanced ones, such as the inclusion of predicted or simulated data or visualisation of 3D models of the twins.

Take care

This platform is currently under development, so its use in production environments is not recommended at this stage.

- + \ No newline at end of file diff --git a/docs/quickstart.html b/docs/quickstart.html index 124c6b8..6c8fbd4 100644 --- a/docs/quickstart.html +++ b/docs/quickstart.html @@ -5,13 +5,13 @@ Quickstart | OpenTwins - +

Quickstart

Welcome to OpenTwins, a flexible platform adapted to your needs! Although OpenTwins offers extensive customization options, we understand the importance of simplicity for beginners. Therefore, let's embark on a short journey together, showing you the quickest route to deploy the platform and develop a simple, functional digital twin.

Prerequisites

Please be sure you have the following utilities installed on your host machine:

If you don't have a Kubernetes cluster, you can set one up on local using minikube. For a smooth deployment experience, we suggest you use the following minimum configuration values.

minikube start --cpus 4 --disk-size 40gb --memory 8192
kubectl config use-context minikube

Installation

The quickest way to deploy OpenTwins is using Helm.

The following command adds the ERTIS repository where the OpenTwins helm chart is located.

helm repo add ertis https://ertis-research.github.io/Helm-charts/

To deploy the platform with recommended functionality, use the command below:

helm upgrade --install opentwins ertis/OpenTwins -n opentwins --wait --dependency-update

To modify the components to be deployed and connected during the installation, you can check the installation via Helm.

Define your first digital twin

A digital twin is composed of static and dynamic data.

Static data. Information relevant to the digital twin that is expected to remain constant, such as the model, the date of acquisition or the location of the machine we are replicating.

Dynamic data. Data that changes over time and that we will record in time series, such as the position of a mobile robot or the values measured by a sensor.

For example, consider a DHT22 temperature and humidity sensor. Its digital twin, represented in JSON format following the schema provided by Eclipse Ditto, would look like this:

Visualize twin data

- + \ No newline at end of file diff --git a/index.html b/index.html index c0e659d..d684206 100644 --- a/index.html +++ b/index.html @@ -5,13 +5,13 @@ OpenTwins - +
Docusaurus themed imageDocusaurus themed image
opentwins

Innovative open-source platform that specializes in
developing next-gen compositional digital twins

ertis logoertis logoitis logoitis logouma logouma logo
- + \ No newline at end of file diff --git a/markdown-page.html b/markdown-page.html index c786d59..25c6d99 100644 --- a/markdown-page.html +++ b/markdown-page.html @@ -5,13 +5,13 @@ Markdown page example | OpenTwins - +

Markdown page example

You don't need React to write simple standalone pages.

- + \ No newline at end of file

· One min read
Sébastien Lorber
Yangshun Tay

Docusaurus blogging features are powered by the blog plugin.

Simply add Markdown files (or folders) to the blog directory.

Regular blog authors can be added to authors.yml.

The blog post date can be extracted from filenames, such as:

  • 2019-05-30-welcome.md
  • 2019-05-30-welcome/index.md

A blog post folder can be convenient to co-locate blog post images:

Docusaurus Plushie

The blog supports tags as well!

And if you don't want a blog: just delete this directory, and use blog: false in your Docusaurus config.

· One min read
Gao Wei

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet