Wiznet makers

Benjamin

Published July 09, 2026 ©

140 UCC

11 WCC

16 VAR

0 Contests

0 Followers

2 Following

Original Link

How Does W5500 Help MODLINK Become an AAS-Ready Industrial Gateway?

AAS_Dev adds AAS metamodel, MQTT, HTTP, and W5500 Ethernet paths to MUFFIN firmware for MODLINK/MT11 industrial gateway development.

COMPONENTS Hardware components

WIZnet - W5500

x 1

W5500 Ethernet controller selected in the MT11/MUFFIN Ethernet path and used as the wired network interface for HTTP, MQTT, TCP/UDP, DHCP, NTP, and AAS-related traffic.


PROJECT DESCRIPTION

Overview

AAS_Dev is a public C++ firmware repository for bringing Asset Administration Shell, or AAS, service functions into the MUFFIN firmware used by MODLINK/MT11 industrial gateway devices. The README states the project purpose directly: implementing AAS service functionality for MODLINK. It also identifies the target device as MT11 or a higher MT11-class device, and lists AAS Metamodel 3.0 and AAS API 3.0 as the initial target scope.

The visible author story is also important. The repository is owned by GosoGB, but most of the public commit history and code headers point to EdgeCross Inc. contributors, especially Lee Sang-jin and Kim Joo-sung. A public SparkLabs portfolio page describes VITCON as a company that develops and supplies MODLINK, a modular controller intended to shorten IoT development time, and lists the company location as Korea. In the repository, MT11 is defined as an ESP32-S3 based board with Wi-Fi, Bluetooth, Ethernet, and CAN connectivity, with EdgeCross Inc. listed as the board vendor.

For WIZnet readers, this is not just another Ethernet demo. The interesting point is that the repo connects three usually separate worlds: industrial field protocols, embedded W5500 Ethernet networking, and AAS digital-twin style data modeling. The W5500 does not create the AAS model by itself. Instead, it provides the wired Ethernet path that lets MUFFIN move AAS-related MQTT, HTTP, TCP, NTP, and configuration traffic through the MT11 network stack.

Illustration of MODLINK, MUFFIN, W5500 Ethernet, and AAS services Illustration: MODLINK/MT11, W5500 Ethernet, and the AAS-ready data path.

WIZnet role: In the MT11 build path, `EthernetFactory.cpp` selects W5500 for Ethernet, while MUFFIN's IEC63278/AAS source handles metamodel, serialization, submodel mapping, and MQTT topic generation.

Why AAS Matters Here

AAS means Asset Administration Shell. In Industry 4.0 language, it is a standardized digital representation of an asset. An asset can be a machine, device, sensor, controller, production line, or even a software component. The AAS wraps that asset with structured identity, properties, operations, and submodels so different industrial systems can understand the same device in a more consistent way.

The IDTA AAS specification site organizes the standard into parts such as the metamodel, application programming interfaces, IEC 61360 data specification, security, and AASX package file format. In practical embedded terms, that means a device is no longer only publishing raw registers or vendor-specific JSON. It can expose data through a more standardized shell.

In AAS_Dev, the README lists AAS Registry and Repository as service scope. A simple way to read that:

  • AAS Registry helps another system discover which AAS and submodels exist.
  • AAS Repository stores or serves AAS and submodel content.
  • AASX is a package/file format for exchanging AAS data.
  • Submodels group related information, such as operational data, configuration, or planned TinyML data.

Concept graphic explaining asset, AAS, submodel, registry, repository, and AASX terms Concept graphic: AAS terms explained for embedded Ethernet readers.

This is why the project is useful for Maker curation. Readers who know W5500 from MQTT or Modbus examples can see how the same wired Ethernet path becomes part of a digital-twin ready industrial gateway architecture.

MODLINK, MUFFIN, and MT11

The names in this repository can be confusing at first, so they are worth separating.

MODLINK is the industrial IoT controller/device family context. The repository README says the AAS work is for MODLINK, and the release notes mention MODLINK-T2, MODLINK-T3, MODLINK-L, MT10, and MT11 firmware versions. The SparkLabs company profile describes MODLINK as a modular controller product supplied by VITCON.

MUFFIN appears to be the firmware framework in this repository. It contains network services, JARVIS configuration, protocol modules, MQTT topic handling, OTA-related code, information model nodes, and the new IEC63278 AAS implementation. This should not be confused with a public communication standard. In this repo, MUFFIN is the software layer that ties the device features together.

MT11 is the build target where W5500 becomes especially relevant. boards/MT11.json identifies the MCU as ESP32-S3 and lists Ethernet as one of the supported connectivity options. platformio.ini defines the MT11_Rel and MT11_Debug environments with AAS-related build flags such as SM_ID_OPERATIONAL_DATA, SM_ID_CONFIGURATION, and CYCLICAL_TIMER.

The README shows a gradual product direction. AAS development starts in 2025, with a first-year scope tied to a smart manufacturing support project and a second-year target of product/service-level improvement as an AAS-ready device.

Public Development Timeline

The public history makes the repository more credible than a small sample upload. GitHub API metadata shows the public GosoGB/AAS_Dev repository was created on December 18, 2025, but the visible git history starts much earlier, on August 30, 2024. That suggests the repository was published or transferred later than the internal development timeline.

The release notes and commits show a clear progression:

  • November 2024: MUFFIN v1.0.0 included MQTT(S), HTTP(S), Modbus RTU, storage, JARVIS, information model nodes, and OTA foundations.
  • November 2024: MODLINK-T2 gained Ethernet interface work and Modbus TCP.
  • May to June 2025: MT11 and W5500 work became active, including W5500 socket handling, DHCP, SSL client, MQTT, HTTP client, and Ethernet configuration.
  • July 2025: the AAS project was configured and initial AAS metamodel classes were added.
  • August 2025: AASX loading, serialization, deserialization, server, and MUFFIN integration work appeared.
  • September 2025: W5500-based HTTP/TCP server work appeared in commits.
  • October 2025: AAS client logic was added, mapping information model nodes into AAS submodel data and MQTT messages.
  • December 2025: primitive type and metamodel type work continued with comments referencing AAS Metamodel v3.1.2.

Timeline of MUFFIN, W5500, MT11, and AAS development milestones visible in README and git history Timeline from README release notes and git log evidence.

Source nuance: The README still states AAS Metamodel/API 3.0 as the project scope, while later code comments and commits show AAS Metamodel v3.1.2 type work. The safest reading is that the project began around AAS 3.0 targets and later moved toward newer type definitions.

Architecture and Data Flow

At a high level, the repository points to a field-gateway architecture:

  • Field protocol modules collect or exchange industrial data through Modbus RTU/TCP, MELSEC, EtherNet/IP, information model nodes, and related task code.
  • MUFFIN starts the device framework, loads configuration, initializes networks, and manages protocol services.
  • For MT11, EthernetFactory.cpp selects W5500 as the embedded Ethernet interface.
  • The W5500 layer provides SPI Ethernet, DHCP/static IP support, socket handling, NTP, DNS, TCP/UDP, HTTP server/client, SSL client support, and paths used by MQTT or other application code.
  • The IEC63278/AAS layer models asset and submodel data, serializes/deserializes AAS content, and maps selected node values into AAS submodel MQTT messages.

Architecture diagram separating field data, MODLINK/MT11 firmware, W5500 Ethernet, and AAS services Technical diagram: source-backed system path separated by responsibility.

The src/main.cpp file shows the AAS client pattern clearly. MUFFIN starts first, then an AAS client singleton is obtained. The code maps node IDs such as n018 to AAS-style idShort names such as CurrentPositionMm, then starts the client. In Client.hpp, node values are converted into AAS properties and serialized into submodel element payloads. In Topic.cpp, the MQTT topics are built around paths such as submodels/{OperationalData}/submodel-elements/RealTimeMonitoring, JobProgress, and BasicConfiguration.

That is the core idea: field data becomes information model node data, node data becomes AAS submodel property data, and network transport carries the result outward.

Where the W5500 Is Used

The W5500 usage is source-backed. In lib/MUFFIN/src/Network/Ethernet/EthernetFactory.cpp, the factory returns LAN8720 for MT10/MB10, but returns new W5500(w5500::if_e::EMBEDDED) for the other supported Ethernet build path, which includes MT11. In W5500.h, the code documents W5500-specific constraints and capabilities: 8 simultaneous sockets, 32 KB send/receive buffer, SPI communication, 10/100 negotiation, and no IP fragmentation.

In W5500.cpp, initialization creates a mutex, resets the W5500, initializes SPI, and sets a MAC address. Configuration supports DHCP or static IPv4 data from the repository's JARVIS Ethernet configuration. DHCP uses socket 7. The network service initializer calls ethernet->Init(), Config(), Connect(), and then synchronizes NTP when Ethernet is the selected server network interface.

Code evidence panel summarizing EthernetFactory, W5500, Topic, and Client source paths Evidence panel: condensed from local source inspection of AAS_Dev.

The official WIZnet W5500 product page describes W5500 as a hardwired Internet controller with integrated TCP/IP stack, SPI connection up to 80 MHz, 10/100 Ethernet MAC and PHY, 8 sockets, and 32 KB internal memory. That maps well to what this firmware is trying to do: keep the embedded MCU focused on protocol, configuration, and AAS data handling while the Ethernet controller provides a stable wired network interface.

Careful claim: W5500 is the Ethernet controller path in the MT11 firmware, not the AAS engine. The AAS engine is the MUFFIN/IEC63278 code built around metamodel, container, serializer, server, client, and MQTT topic modules.

What Is Implemented and What Still Looks Experimental

This repository is technically rich, but it should be described accurately.

Strong implementation evidence:

  • IEC63278/Metamodel includes AAS model classes, primitive type aliases, references, qualifiers, data elements, properties, submodels, and environment structures.
  • IEC63278/Serializer includes AAS and submodel serializer/deserializer code.
  • IEC63278/Server includes routes for shell and submodel style requests.
  • IEC63278/Client maps information model nodes into AAS submodel element payloads.
  • Protocol/MQTT includes AAS-specific topic codes and topic strings.
  • Network/Ethernet/W5500 contains W5500 socket, DHCP, DNS, NTP, HTTP server, SSL client, and Ethernet client/server code.

Limits that should stay visible:

  • The repository has no repo-level LICENSE file, and GitHub reports no license.
  • The GitHub public metrics are modest as of July 9, 2026: 0 stars, 0 forks, 0 open issues, and no releases.
  • AASX loading currently uses a converted JSON header in code; AASXLoader.cpp contains non-debug comments saying microSD AASX JSON reading still needs implementation.
  • The README links to a Google Slides deck and a Monday item, but those may not be publicly accessible to every reader.
  • The local review environment did not have PlatformIO installed, so a firmware build test could not be completed.
  • A commit is labelled as a field demonstration completion, but the public repository does not include an external test report, so this post should not claim certified field validation.

Source limit: Treat this as a public firmware/reference snapshot for AAS-ready MODLINK development, not as a fully packaged open-source product release.

Why This Is Valuable for WIZnet Maker

Most W5500 maker posts are about connecting a microcontroller to MQTT, HTTP, Modbus TCP, or a dashboard. Those are useful, but AAS_Dev goes one level higher. It shows how a W5500 Ethernet path can sit inside an industrial gateway firmware that is moving toward standardized digital-twin interoperability.

That makes the WIZnet story more strategic:

  • W5500 is used as a practical wired network path for an ESP32-S3 industrial controller.
  • The firmware already includes common industrial protocol context, such as Modbus TCP, MELSEC, and EtherNet/IP.
  • AAS adds a higher semantic layer, so data can be explained as properties and submodels instead of only device-specific payloads.
  • MQTT and HTTP remain familiar transport/application mechanisms, but the payload meaning becomes closer to industrial digital-twin terminology.

For a WIZnet employee or partner, this is the kind of example that helps explain why wired Ethernet still matters in modern smart manufacturing. Wi-Fi may be convenient, but factory gateways often need predictable service interfaces, stable time synchronization, device configuration, and protocol bridges. W5500 gives that firmware a concrete Ethernet foundation.

Related WIZnet Maker Contents

VITCON MODLINK-T ETHERNET is the best product-family context to read alongside this post. That VAR content introduces the MODLINK-T Ethernet device line, while AAS_Dev shows a firmware-level effort to make MODLINK/MT11 behave more like an AAS-ready industrial gateway. One page is useful for product positioning, the other for understanding how the firmware stack may evolve.

STM32 + W5500 Modbus TCP Server is a good protocol-side neighbor. It focuses on a direct W5500 and Modbus TCP implementation, while AAS_Dev shows a broader industrial firmware stack where Modbus TCP is only one piece next to MQTT, HTTP, MELSEC, EtherNet/IP, and AAS submodel handling.

OEE Public: W5500 Industrial Telemetry is a practical application-side follow-up. It turns factory machine-state data into dashboard telemetry through ESP32, W5500, FastAPI, SQLite, and React. Read after AAS_Dev, it helps show how raw industrial data can move from device firmware toward dashboards, analytics, and eventually more standardized digital-twin representations.

Source-Backed Summary

AAS_Dev is a meaningful WIZnet Maker curation target because it places W5500 inside an industrial digital-twin transition story. The repository is not simply "ESP32 sends data over Ethernet." It is a MODLINK/MT11 firmware effort that adds AAS metamodel structures, AASX loading/serialization, AAS client/server code, and MQTT topic paths around MUFFIN. W5500 provides the wired Ethernet path that supports this firmware stack on MT11.

The strongest public evidence is code-level: EthernetFactory.cpp selects W5500, W5500 source implements the Ethernet controller path, MQTT topic code builds AAS submodel routes, and AAS client code maps information model node values into submodel element payloads. The strongest limitation is also public: no repo-level license, no public release package, no local build verification in this review environment, and no external validation report attached to the repository.

FAQ

Q. What is AAS_Dev? It is a public C++ firmware repository for implementing Asset Administration Shell service functions in the MUFFIN firmware used by MODLINK/MT11 industrial gateway development.

Q. What does W5500 do in this project? W5500 provides the wired Ethernet interface path for MT11. It supports the network layer used by HTTP, MQTT, TCP/UDP, DHCP, NTP, and other firmware services. The AAS model logic itself is implemented in MUFFIN/IEC63278 source code.

Q. Is this a finished commercial product page? No. It is better treated as a public firmware/reference repository related to MODLINK AAS-ready development. Existing MODLINK product-family context is available in separate product pages.

Q. Is AAS the same thing as MQTT or Modbus? No. MQTT and Modbus are communication mechanisms or protocols. AAS is a standardized way to describe and expose asset information. In this repo, MQTT can carry AAS-related submodel element payloads.

Q. Was the firmware build tested for this post? No. The local environment did not have pio or platformio installed, so the review used static source inspection, git history, README evidence, and public metadata.

한국어 (Korean)

개요

AAS_Dev는 MODLINK/MT11 산업용 게이트웨이 장치에 사용되는 MUFFIN 펌웨어에 AAS, 즉 Asset Administration Shell 서비스 기능을 넣기 위한 공개 C++ 펌웨어 저장소입니다. README는 목적을 “MODLINK에 AAS 서비스 기능 구현”이라고 직접 설명하며, 대상 장치를 MT11 또는 MT11 상위 기종으로 적고 있습니다. 초기 범위로는 AAS Metamodel 3.0과 AAS API 3.0이 제시되어 있습니다.

작성자와 제작사 맥락도 같이 봐야 합니다. 저장소 소유자는 GosoGB이지만, 공개 커밋 이력과 코드 헤더에서는 EdgeCross Inc. 기여자가 많이 보입니다. 특히 Lee Sang-jin, Kim Joo-sung의 작업량이 큽니다. SparkLabs의 공개 포트폴리오 페이지는 VITCON이 IoT 개발 기간을 줄이기 위한 조립식 컨트롤러인 MODLINK를 개발 공급한다고 설명하고, 위치를 Korea로 표시합니다. 저장소 안의 boards/MT11.json 역시 MT11을 ESP32-S3 기반 보드로 정의하고, vendor를 EdgeCross Inc.로 표시합니다.

WIZnet 관점에서 이 저장소가 흥미로운 이유는 단순 Ethernet 예제가 아니기 때문입니다. 이 프로젝트는 산업용 현장 프로토콜, W5500 기반 유선 Ethernet, AAS 기반 디지털 트윈 데이터 모델링을 한 펌웨어 안에서 연결하려고 합니다. W5500이 AAS 모델을 직접 만드는 것은 아닙니다. W5500은 MUFFIN이 AAS 관련 MQTT, HTTP, TCP, NTP, 설정 트래픽을 MT11의 유선 네트워크로 내보낼 수 있게 하는 Ethernet 경로입니다.

MODLINK, MUFFIN, W5500 Ethernet, AAS 서비스를 요약한 일러스트 일러스트: MODLINK/MT11, W5500 Ethernet, AAS-ready 데이터 경로.

WIZnet 역할: MT11 빌드 경로에서 `EthernetFactory.cpp`는 Ethernet 구현으로 W5500을 선택합니다. 반면 AAS 메타모델, 직렬화, 서브모델 매핑, MQTT 토픽 생성은 MUFFIN/IEC63278 소스가 담당합니다.

AAS를 먼저 이해해야 하는 이유

AAS는 Asset Administration Shell의 약자입니다. Industry 4.0 맥락에서는 설비, 장치, 센서, 컨트롤러, 생산 라인, 소프트웨어 컴포넌트 같은 자산을 표준화된 방식으로 표현하는 디지털 표현체에 가깝습니다. AAS는 자산의 식별자, 속성, 동작, 서브모델을 구조화해서 서로 다른 산업 시스템이 같은 장치를 더 일관되게 이해할 수 있게 합니다.

IDTA AAS specification site는 AAS 표준을 metamodel, API, IEC 61360 데이터 사양, security, AASX package file format 같은 부분으로 나눠 제공합니다. 임베디드 관점에서 보면 장치가 단순히 레지스터 값이나 제조사 고유 JSON만 내보내는 것이 아니라, 더 표준화된 shell 형태로 데이터를 설명할 수 있게 되는 것입니다.

AAS_Dev README에는 AAS Registry와 Repository가 서비스 범위로 적혀 있습니다. 쉽게 정리하면 다음과 같습니다.

  • AAS Registry는 어떤 AAS와 submodel이 있는지 다른 시스템이 찾을 수 있게 돕습니다.
  • AAS Repository는 AAS와 submodel 내용을 저장하거나 제공합니다.
  • AASX는 AAS 데이터를 교환하기 위한 package/file format입니다.
  • Submodel은 operational data, configuration, TinyML처럼 관련 정보를 묶는 구조입니다.

Asset, AAS, Submodel, Registry, Repository, AASX 용어를 설명하는 개념 그래픽 개념 그래픽: 임베디드 Ethernet 독자를 위한 AAS 용어 설명.

그래서 이 프로젝트는 Maker 큐레이션 가치가 있습니다. W5500을 MQTT나 Modbus 예제로만 알고 있던 독자도, 같은 유선 Ethernet 경로가 디지털 트윈 준비형 산업용 게이트웨이 구조 안에서 어떻게 쓰일 수 있는지 볼 수 있습니다.

MODLINK, MUFFIN, MT11 정리

이 저장소에서 나오는 이름들이 처음에는 헷갈릴 수 있으므로 분리해서 보는 것이 좋습니다.

MODLINK는 산업용 IoT 컨트롤러 또는 장치 제품군의 맥락입니다. README는 AAS 작업 대상이 MODLINK라고 설명하고, 릴리즈 노트에는 MODLINK-T2, MODLINK-T3, MODLINK-L, MT10, MT11 펌웨어 버전이 등장합니다. SparkLabs 회사 소개 페이지에서는 MODLINK를 VITCON이 공급하는 조립식 컨트롤러 제품으로 설명합니다.

MUFFIN은 이 저장소 안의 펌웨어 프레임워크로 보입니다. 네트워크 서비스, JARVIS 설정, 프로토콜 모듈, MQTT topic 처리, OTA 관련 코드, information model node, 새로 추가된 IEC63278 AAS 구현을 포함합니다. 공개 통신 표준 이름으로 보기보다는, 이 repo에서 장치 기능을 묶어주는 소프트웨어 계층으로 보는 것이 정확합니다.

MT11은 W5500과 가장 직접적으로 연결되는 빌드 대상입니다. boards/MT11.json은 MCU를 ESP32-S3로 정의하고, Ethernet을 지원 connectivity 중 하나로 나열합니다. platformio.iniMT11_Rel, MT11_Debug 환경에는 SM_ID_OPERATIONAL_DATA, SM_ID_CONFIGURATION, CYCLICAL_TIMER 같은 AAS 관련 build flag가 들어 있습니다.

README의 방향성도 분명합니다. AAS 개발은 2025년부터 시작되며, 1차년도는 스마트제조 지원사업 수행 범위, 2차년도는 AAS-ready device로 제품화 및 서비스화 가능한 수준의 고도화를 목표로 합니다.

공개 개발 흐름

공개 이력만 봐도 이 저장소는 단순 샘플 업로드보다 훨씬 풍부합니다. GitHub API 기준 public repository는 2025년 12월 18일에 생성되었지만, 실제 git history는 2024년 8월 30일부터 보입니다. 즉 내부 개발 이력이 먼저 있었고, 이후 공개 저장소로 올라온 형태로 보는 것이 자연스럽습니다.

릴리즈 노트와 커밋 흐름은 다음과 같습니다.

  • 2024년 11월: MUFFIN v1.0.0에 MQTT(S), HTTP(S), Modbus RTU, storage, JARVIS, information model node, OTA 기반이 포함됩니다.
  • 2024년 11월: MODLINK-T2에 Ethernet interface와 Modbus TCP가 추가됩니다.
  • 2025년 5월부터 6월: MT11과 W5500 작업이 본격화됩니다. W5500 socket, DHCP, SSL client, MQTT, HTTP client, Ethernet configuration 작업이 보입니다.
  • 2025년 7월: AAS project 설정과 초기 AAS metamodel class가 추가됩니다.
  • 2025년 8월: AASX loading, serialization, deserialization, server, MUFFIN integration 작업이 보입니다.
  • 2025년 9월: W5500 기반 HTTP/TCP server 작업이 커밋에 등장합니다.
  • 2025년 10월: AAS client logic이 추가되고, information model node 값을 AAS submodel MQTT message로 매핑합니다.
  • 2025년 12월: AAS Metamodel v3.1.2를 언급하는 primitive type과 metamodel type 작업이 이어집니다.

README와 git history에서 확인한 MUFFIN, W5500, MT11, AAS 개발 흐름 타임라인 타임라인: README 릴리즈 노트와 git log 근거를 바탕으로 정리.

자료 해석: README의 공식 범위는 AAS Metamodel/API 3.0입니다. 다만 이후 코드 주석과 커밋에는 AAS Metamodel v3.1.2 type 작업이 보입니다. 따라서 초기 목표는 AAS 3.0, 이후 타입 정의는 더 최신 버전을 반영하는 방향으로 보는 것이 안전합니다.

아키텍처와 데이터 흐름

전체적으로 보면 이 저장소는 현장 게이트웨이 구조에 가깝습니다.

  • Field protocol module은 Modbus RTU/TCP, MELSEC, EtherNet/IP, information model node와 관련 task code를 통해 산업용 데이터를 다룹니다.
  • MUFFIN은 장치 framework를 시작하고, 설정을 읽고, network와 protocol service를 초기화합니다.
  • MT11에서는 EthernetFactory.cpp가 embedded Ethernet interface로 W5500을 선택합니다.
  • W5500 계층은 SPI Ethernet, DHCP/static IP, socket handling, NTP, DNS, TCP/UDP, HTTP server/client, SSL client, MQTT 경로를 제공합니다.
  • IEC63278/AAS 계층은 asset/submodel 데이터를 모델링하고, AAS 내용을 serialize/deserialize하며, 선택된 node value를 AAS submodel MQTT message로 매핑합니다.

Field data, MODLINK/MT11 firmware, W5500 Ethernet, AAS services를 분리한 아키텍처 다이어그램 기술 다이어그램: 공개 소스 근거를 책임 영역별로 분리.

src/main.cpp에서는 AAS client 사용 패턴이 잘 드러납니다. 먼저 MUFFIN을 시작하고, AAS client singleton을 가져옵니다. 그 다음 n018 같은 node ID를 CurrentPositionMm 같은 AAS-style idShort 이름에 매핑한 후 client를 시작합니다. Client.hpp에서는 node value를 AAS property로 업데이트하고, submodel element payload로 직렬화합니다. Topic.cpp에서는 submodels/{OperationalData}/submodel-elements/RealTimeMonitoring, JobProgress, BasicConfiguration 같은 MQTT topic path를 생성합니다.

핵심은 이렇습니다. 현장 데이터가 information model node 데이터가 되고, node 데이터가 AAS submodel property 데이터가 되며, 그 결과가 네트워크 transport를 통해 외부로 전달됩니다.

W5500은 어디에 쓰였나

W5500 사용은 소스 코드에서 확인됩니다. lib/MUFFIN/src/Network/Ethernet/EthernetFactory.cpp에서 factory는 MT10/MB10에는 LAN8720을 반환하고, 그 외 지원 Ethernet build path에서는 new W5500(w5500::if_e::EMBEDDED)를 반환합니다. MT11이 여기에 해당합니다. W5500.h는 W5500의 특성으로 8개 동시 socket, 32 KB send/receive buffer, SPI communication, 10/100 negotiation, IP fragmentation 미지원 등을 주석으로 정리합니다.

W5500.cpp에서는 mutex 생성, W5500 reset, SPI 초기화, MAC address 설정이 이루어집니다. 설정은 JARVIS Ethernet config의 DHCP 또는 static IPv4 값을 사용합니다. DHCP는 socket 7을 사용합니다. Network service initializer는 ethernet->Init(), Config(), Connect()를 호출하고, Ethernet이 server network interface일 때 NTP 동기화까지 수행합니다.

EthernetFactory, W5500, Topic, Client 소스 경로를 요약한 코드 근거 이미지 코드 근거 패널: AAS_Dev 로컬 소스 검토 내용을 압축 정리.

공식 WIZnet W5500 product page는 W5500을 integrated TCP/IP stack을 가진 hardwired Internet controller로 설명하며, SPI 최대 80 MHz, 10/100 Ethernet MAC and PHY, 8 sockets, 32 KB internal memory를 언급합니다. 이 특성은 이 펌웨어의 방향과 잘 맞습니다. MCU는 산업용 프로토콜, 설정, AAS 데이터 처리를 담당하고, Ethernet controller는 안정적인 유선 네트워크 인터페이스를 제공합니다.

정확한 표현: W5500은 MT11 펌웨어의 Ethernet controller 경로입니다. AAS engine은 metamodel, container, serializer, server, client, MQTT topic module로 구성된 MUFFIN/IEC63278 코드가 담당합니다.

구현된 부분과 아직 실험적으로 보이는 부분

이 저장소는 기술적으로 풍부하지만, 과장 없이 설명해야 합니다.

구현 근거가 강한 부분:

  • IEC63278/Metamodel에는 AAS model class, primitive type alias, reference, qualifier, data element, property, submodel, environment 구조가 있습니다.
  • IEC63278/Serializer에는 AAS와 submodel serializer/deserializer 코드가 있습니다.
  • IEC63278/Server에는 shell과 submodel style request를 위한 route가 있습니다.
  • IEC63278/Client는 information model node를 AAS submodel element payload로 매핑합니다.
  • Protocol/MQTT에는 AAS-specific topic code와 topic string이 있습니다.
  • Network/Ethernet/W5500에는 W5500 socket, DHCP, DNS, NTP, HTTP server, SSL client, Ethernet client/server 코드가 있습니다.

명확히 남겨야 하는 한계:

  • repository-level LICENSE 파일이 없고, GitHub도 license를 null로 표시합니다.
  • 2026년 7월 9일 기준 public metric은 stars 0, forks 0, open issues 0, releases 없음입니다.
  • AASX loading은 현재 converted JSON header를 사용하는 형태이며, AASXLoader.cpp에는 non-debug 환경에서 microSD AASX JSON reading 구현이 필요하다는 주석이 있습니다.
  • README의 Google Slides와 Monday item 링크는 모든 독자가 접근할 수 없을 수 있습니다.
  • 로컬 검토 환경에는 PlatformIO가 설치되어 있지 않아 firmware build test는 진행하지 못했습니다.
  • “현장 실증 완료 버전”이라는 커밋은 있지만, 공개 저장소에 외부 검증 리포트가 붙어 있지는 않으므로 인증된 field validation으로 표현하면 안 됩니다.

자료 한계: 이 글에서는 이 저장소를 완성형 오픈소스 제품 릴리즈가 아니라, AAS-ready MODLINK 개발을 보여주는 공개 firmware/reference snapshot으로 보는 것이 적절합니다.

WIZnet Maker에서의 가치

대부분의 W5500 Maker 글은 MCU를 MQTT, HTTP, Modbus TCP, dashboard에 연결하는 사례입니다. 그런 사례도 중요하지만, AAS_Dev는 한 단계 위의 메시지를 줍니다. W5500 Ethernet 경로가 표준화된 디지털 트윈 상호운용성을 목표로 하는 산업용 게이트웨이 펌웨어 안에 들어갈 수 있다는 점입니다.

WIZnet 관점의 포인트는 다음과 같습니다.

  • W5500은 ESP32-S3 산업용 컨트롤러의 실용적인 유선 네트워크 경로로 쓰입니다.
  • 펌웨어에는 Modbus TCP, MELSEC, EtherNet/IP 같은 산업용 프로토콜 맥락이 이미 들어 있습니다.
  • AAS는 데이터를 단순 payload가 아니라 property와 submodel로 설명할 수 있게 하는 더 높은 semantic layer를 제공합니다.
  • MQTT와 HTTP는 익숙한 transport/application mechanism으로 남아 있지만, payload 의미는 산업용 digital-twin terminology에 가까워집니다.

WIZnet 직원이나 파트너가 이 글을 활용한다면, “왜 아직도 유선 Ethernet이 스마트 제조에서 중요한가”를 설명하기 좋습니다. Wi-Fi는 편리하지만, 공장 게이트웨이는 예측 가능한 service interface, 안정적인 시간 동기화, 장치 설정, protocol bridge가 필요합니다. W5500은 그 펌웨어에 구체적인 Ethernet 기반을 제공합니다.

함께 보면 좋은 WIZnet Maker 글

VITCON MODLINK-T ETHERNET은 이 글과 같이 보면 가장 좋은 제품군 맥락입니다. 해당 VAR 글은 MODLINK-T Ethernet 장치 라인을 소개하고, AAS_Dev는 MODLINK/MT11이 AAS-ready industrial gateway로 발전하기 위한 firmware-level 시도를 보여줍니다. 하나는 제품 포지셔닝에 유용하고, 다른 하나는 펌웨어 stack의 진화 방향을 이해하는 데 유용합니다.

STM32 + W5500 Modbus TCP Server는 protocol-side 이웃입니다. 이 글은 W5500과 Modbus TCP 구현을 직접적으로 다루고, AAS_Dev는 Modbus TCP가 MQTT, HTTP, MELSEC, EtherNet/IP, AAS submodel handling 옆에 놓이는 더 큰 산업용 firmware stack을 보여줍니다.

OEE Public: W5500 Industrial Telemetry는 application-side follow-up으로 적합합니다. ESP32, W5500, FastAPI, SQLite, React를 통해 공장 machine-state 데이터를 dashboard telemetry로 바꾸는 사례입니다. AAS_Dev 다음에 보면, raw industrial data가 device firmware에서 dashboard, analytics, 그리고 더 표준화된 digital-twin 표현으로 이어지는 흐름을 이해하기 좋습니다.

근거 기반 요약

AAS_Dev는 W5500을 산업용 digital-twin 전환 이야기 안에 넣어 보여준다는 점에서 WIZnet Maker에 의미가 있습니다. 이 저장소는 단순히 “ESP32가 Ethernet으로 데이터를 보낸다”가 아닙니다. MUFFIN 안에 AAS metamodel 구조, AASX loading/serialization, AAS client/server code, MQTT topic path를 추가하는 MODLINK/MT11 firmware effort입니다. W5500은 이 펌웨어 stack이 MT11에서 안정적인 유선 Ethernet 경로를 가질 수 있게 합니다.

가장 강한 공개 근거는 코드입니다. EthernetFactory.cpp는 W5500을 선택하고, W5500 source는 Ethernet controller path를 구현하며, MQTT topic code는 AAS submodel route를 만들고, AAS client code는 information model node value를 submodel element payload로 매핑합니다. 가장 큰 한계도 공개되어 있습니다. repo-level license가 없고, public release package가 없으며, 이번 검토 환경에서 build verification은 수행하지 못했고, 외부 validation report도 첨부되어 있지 않습니다.

FAQ

Q. AAS_Dev는 무엇인가요? MODLINK/MT11 산업용 게이트웨이 개발에 쓰이는 MUFFIN 펌웨어에 Asset Administration Shell 서비스 기능을 구현하기 위한 공개 C++ 펌웨어 저장소입니다.

Q. W5500은 이 프로젝트에서 무엇을 하나요? W5500은 MT11의 유선 Ethernet interface 경로를 제공합니다. HTTP, MQTT, TCP/UDP, DHCP, NTP 같은 firmware service의 네트워크 기반이 됩니다. AAS 모델 로직 자체는 MUFFIN/IEC63278 소스 코드가 담당합니다.

Q. 완성형 상용 제품 페이지인가요? 아닙니다. MODLINK AAS-ready 개발과 관련된 공개 firmware/reference repository로 보는 것이 더 정확합니다. MODLINK 제품군 맥락은 별도 제품 페이지에서 확인할 수 있습니다.

Q. AAS는 MQTT나 Modbus와 같은 것인가요? 아닙니다. MQTT와 Modbus는 통신 mechanism 또는 protocol에 가깝습니다. AAS는 asset information을 표준화해 설명하고 제공하는 구조입니다. 이 저장소에서는 MQTT가 AAS-related submodel element payload를 운반할 수 있습니다.

Q. 이 글을 작성하면서 firmware build test를 했나요? 아닙니다. 로컬 환경에 pio 또는 platformio가 설치되어 있지 않아 build test는 진행하지 못했습니다. 대신 정적 소스 검토, git history, README 근거, 공개 metadata를 기준으로 큐레이션했습니다.

Documents
  • AAS_Dev GitHub repository

    Original source repository for the MUFFIN, MODLINK/MT11, AAS, and W5500 firmware work.

  • AAS_Dev README

    Project purpose, target device, AAS scope, and MUFFIN release notes.

  • IDTA AAS specifications

    Official AAS specification index for metamodel, API, security, and AASX context.

  • WIZnet W5500 product page

    Official W5500 product page describing the hardwired TCP/IP controller, SPI interface, sockets, and Ethernet MAC/PHY.

  • SparkLabs EdgeCross profile

    Public company profile used for VITCON, MODLINK, and Korea context.

Comments Write