|
|
What you're looking at here is a Demonstration and Study unit for [Asset Administration Shells](https://www.plattform-i40.de/IP/Redaktion/DE/Downloads/Publikation/AAS-ReadingGuide_202201.html), running [the BaSyx Project](https://projects.eclipse.org/projects/technology.basyx), created as part of the [BaSys 4.0 platform](https://www.basys40.de/).
|
|
|
|
|
|
In its default configuration it's running a simple example of a [Type 3 AAS](https://wiki.eclipse.org/BaSyx_/_Documentation_/_AssetAdministrationShell#Types_of_Asset_Administration_Shells), more on that later.
|
|
|
|
|
|
# Network Structure
|
|
|
|
|
|
All components are, wired or wirelessly, connected to an Ethernet network. The following picture illustrates the network structure and also presents us with an overview of the components involved in this demo:
|
|
|
|  |
|
|
|
|:--:|
|
|
|
| Contains "[ESP32 Espressif ESP-WROOM-32 Dev Board](https://commons.wikimedia.org/wiki/File:ESP32_Espressif_ESP-WROOM-32_Dev_Board.jpg)" by [Ubahnverleih](https://commons.wikimedia.org/wiki/User:Ubahnverleih), licensed under [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/deed.en) |
|
|
|
|
|
|
The components are identified by their hostname and their IP adresses are resolved via [Multicast DNS](https://en.wikipedia.org/wiki/Multicast_DNS). The startup routine is also reliant on the defined hostnames. This saves configuration for static IP address assignment by the router and makes swapping parts of the system easier. Last but not least it's more human readable and doesn't need remembering and looking up of IP addresses to interact with parts of the system.
|
|
|
|
|
|
Let's go over the components one by one.
|
|
|
|
|
|
## AAS Server
|
|
|
|
|
|
The [AssetAdministrationShell Server](https://wiki.eclipse.org/BaSyx_/_Documentation_/_Components_/_AAS_Server) hosts the AAS themselves and offers endpoints for the active Submodels hosted by the individual providers explained later. It starts up empty and gets filled by the Providers on startup.
|
|
|
To start, the AAS Server needs the registry to be running. All other Components utilizing BaSyx depend on the AAS Server being available.
|
|
|
|
|
|
## Registry
|
|
|
|
|
|
The [AAS Registry](https://wiki.eclipse.org/BaSyx_/_Documentation_/_Registry) provides means to lookup all available AAS and their submodels, together with their various endpoints and available metadata.
|
|
|
It is the first BaSyx component to boot, as all others, including the AAS Server depend on it being available.
|
|
|
|
|
|
## Light hosts
|
|
|
|
|
|
Light host 0-2 by default each create and upload four AAS to the AAS Server and host one lightSwitch submodule for each of them. In other words, it creates an AAS and a submodule for each of the four attached LEDs:
|
|
|
 |