Skip to content

SilentHID

SilentHID

SilentHID

Components

Hardware components

Project description

 


Image generated by ChatGPT (OpenAI)
Image generated by ChatGPT (OpenAI)

๐Ÿ“Œ Overview

SilentHID is an embedded solution that enables remote control of a PCโ€™s keyboard and mouse over a network. It is implemented using the WIZnet W55RP20-EVB-Pico board and, according to the GitHub README, is designed to control PCs without physical interaction in use cases such as robotics and test automation systems.

The device is recognized by the PC as a USB HID device, so no additional drivers are required. It receives commands via secure WebSocket connections and emulates keyboard and mouse inputs accordingly.

๐Ÿ“Œ Developer

SilentHID, ๐Ÿ“Œ Developer

Philippe J. Bourcier is a French technology entrepreneur and maker who works primarily in the fields of robotics, AI, embedded systems, and networking. According to his X (formerly Twitter) profile, he identifies as a business angel, startup CTO, and maker, and he is also known as one of the founders of FRnOG (French Network Operators Group), an open technology community in France.

https://www.frnog.org/

๐Ÿ“Œ Features

1. Secure WebSocketโ€“Based Remote Command Reception

  • Receives HID commands over the network using TLS 1.2 encryption (via BearSSL)
  • Transmits keyboard and mouse control commands securely over the network

BearSSL?

BearSSL is a lightweight TLS/SSL library designed specifically for highly resource-constrained environments.
Its primary use is to implement secure TLS communication at minimal cost in embedded systems and MCU-based IoT devices.

 BearSSLmbedTLS
DesignMinimal code and memory footprint, with a concise and secure implementationGeneral-purpose design with flexible features and APIs
Primary TargetResource-constrained embedded systems and IoT devicesBroad applicability, from embedded systems to servers
Code SizeVery smallRelatively large
Memory UsageLowSomewhat high
Supported ProtocolsTLS 1.0 to 1.3 (optional)TLS 1.0 to 1.3 (wide support)

This project uses arduino-pico as its main core, which officially adopts BearSSL as its TLS backend. BearSSL was chosen because it is effectively the only practical option for implementing stable TLS (WSS) in the Arduino environment with minimal resources and minimal configuration.

2. Standard USB HID Emulation

  • Recognized by the PC as a standard USB keyboard and mouse
  • No driver installation required (OS-independent)

3. Built-in Web Server for Testing

  • Provides a device-side test UI
  • Supports both local and remote testing

4. Use of Official WIZnet Development Environment

  • References the W55RP20 Arduino Tutorial on the WIZnet Maker site
  • Implemented based on vendor-provided official resources

๐Ÿ“Œ System Architecture

Image generated by ChatGPT (OpenAI)
Image generated by ChatGPT (OpenAI)

Data Flow:

  1. A remote client sends HID commands via a Secure WebSocket (WSS)
  2. The W55RP20 device receives the commands over Ethernet and performs TLS decryption
  3. The firmware converts the commands into USB HID protocol messages
  4. The PC recognizes the device as a USB HID device and processes the input accordingly

Key Components:

  • MCU: RP2040 (Dual Cortex-M0+)
  • Networking: W5500 hardware TCP/IP stack
  • Protocols: HTTPS / TLS 1.2, WebSocket
  • Interface: USB HID (Keyboard / Mouse)

Websocket Protocol

๐Ÿ“Œ System Architecture

๐Ÿ“Œ Role and Application of the WIZnet's Chip

Chip Used: W55RP20

It is an integrated chip that combines an RP2040 MCU with the W5500 hardware TCP/IP stack.

Role in the Project

  • Handles TCP/IP communication using the hardware network stack
  • Manages HTTPS / TLS sessions
  • Receives remote control commands
  • Provides a USB HID interface (keyboard/mouse emulation)

Chip Features

  • Hardware TCP/IP offloading (TOE architecture)
  • Integrated RP2040 + Ethernet, simplifying the BOM
  • Arduino development environment support
  • Low-power design based on Cortex-M0+ cores

๐Ÿ“Œ Market & Application Value

๐Ÿ“Œ Market & Application Value
  • PC control for robotic systems
  • Test automation
  • Remote management systems

๐Ÿ“Œ External Indicators

X (https://x.com/irukanji_invest/status/2004480964433768788)

๐Ÿ“Œ External Indicators
๐Ÿ“Œ External Indicators

The developer of the SilentHID project explained on X (formerly Twitter) that this project represents the first step of a software suite designed to allow humanoid robots or remote systems to control a PC without physical keyboard or mouse interaction. The device is recognized by the PC as a standard USB HID, while the actual control commands are delivered over a TLS-secured WebSocket, a structure the developer explicitly emphasized.

In the post, the developer used an example of entering data into an Excel spreadsheet to illustrate how robots can directly replace routine office and administrative tasks traditionally performed by humans. A key advantage highlighted is that this approach enables automation of existing PC-based workflows without requiring complex API integrations with ERP or QA systems.

Through this concept, SilentHID is presented as a practical, plug-and-play tool that allows robotics startups to deploy humanoid robots in factory environments with minimal additional development, enabling them to perform both physical tasks and PC input operations simultaneously.

๐Ÿ“Œ QnA

Q1. Why is using the W55RP20 (W5500) a good choice for SilentHID?
The W55RP20 integrates the W5500 hardware TCP/IP engine, which significantly reduces the network processing load on the MCU. This is well suited for handling frequent, short HID commands reliably. Compared to software stacks like LwIP, it offers more predictable latency, resulting in higher reliability in industrial environments.

Q2. How does SilentHID connect to an industrial network?
It connects directly to a wired network via the Ethernet port on the W55RP20-EVB-Pico. IP address, port, and authentication settings can be configured in config.h, with support for either static IP or DHCP. Control commands are then received over HTTPS and Secure WebSocket connections.

Q3. What is the core role of the W5500 in this project?
The W5500 handles TCP/IP processing in hardware, ensuring stable WebSocket communication. This allows the RP2040 to focus on USB HID processing, enabling a reliable commandโ€“response (OK/ERR) structure without interruptions.

Q4. Can beginners implement this project using the W55RP20-EVB-Pico?
Yes, it is feasible for users with Arduino IDE experience. The most challenging part is generating TLS certificates and handling self-signed certificates. USB HID and Ethernet configuration themselves are relatively straightforward by following the README instructions.

Q5. How does W5500-based hardware TCP/IP differ from software stacks like LwIP?
LwIP is flexible but consumes significant MCU RAM and CPU resources. In contrast, the W5500 processes TCP/IP in hardware, reducing code complexity and providing predictable communication timing. This difference is especially important in OT environments such as factory automation or remote HMI control.

๐Ÿ“Œ WIZnet Strategic Value

WIZnet ecosystem perspective

  • Development based on the W55RP20 Arduino Tutorial (direct README link)
๐Ÿ“Œ WIZnet Strategic Value

โ†’ Naturally connected to the official development guide
โ†’ Provides reproducibility for makers and beginner developers

  • WIZnet official development resource utilization case
    • A real implementation example of W55RP20 + Ethernet + secure communication (using BearSSL)
    • A case extended beyond a simple tutorial to an application-level UCC
  • Expandability to SPE in W55RP20-based Ethernet input control
    • If WIZnet provides an SPE Ethernet controller or related solution, projects like SilentHID could evolve into direct-connected input control devices between robots and PCs. This could lead to a structure where robots can be controlled near each PC without separate switches or complex network infrastructure, moving toward reducing both wiring costs and installation complexity in factory, logistics, and field automation environments.
๐Ÿ“Œ WIZnet Strategic Value

Maker ecosystem perspective

This project is a case that integrates TLS (WSS), Ethernet, and USB HID into a single device based on the W55RP20 platform.

In other words, W55RP20 proves that it is not just a simple MCU + Ethernet chip, but a platform capable of implementing an โ€œactuation-capable network device.โ€

๐Ÿ“Œ Summary

SilentHID is an embedded project based on the WIZnet W55RP20-EVB-Pico that converts remote commands delivered over the network into USB keyboard and mouse inputs. On the PC side, it is recognized as a standard USB HID device without requiring any additional drivers, allowing it to be used without modifying the existing environment.

By receiving remote control commands via TLS-secured WebSocket (WSS) communication and converting them into actual input events, it provides a network-to-USB input bridge that enables robots or automation systems to operate a PC on behalf of a human.

 


 

Image generated by ChatGPT (OpenAI)
Image generated by ChatGPT (OpenAI)

๐Ÿ“Œ Overview

SilentHID๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด PC์˜ ํ‚ค๋ณด๋“œ์™€ ๋งˆ์šฐ์Šค๋ฅผ ์›๊ฒฉ์œผ๋กœ ์ œ์–ดํ•˜๋Š” ์ž„๋ฒ ๋””๋“œ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. WIZnet W55RP20-EVB-Pico ๋ณด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋˜์—ˆ์œผ๋ฉฐ, GitHub README์— ๋”ฐ๋ฅด๋ฉด ๋กœ๋ด‡, ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ์‹œ์Šคํ…œ ๋“ฑ์—์„œ ๋ฌผ๋ฆฌ์  ์ ‘์ด‰ ์—†์ด PC๋ฅผ ์ œ์–ดํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

USB HID ์žฅ์น˜๋กœ PC์— ์ธ์‹๋˜์–ด ๋ณ„๋„์˜ ๋“œ๋ผ์ด๋ฒ„ ์„ค์น˜๊ฐ€ ๋ถˆํ•„์š”ํ•˜๋ฉฐ, Secure WebSocket ๊ธฐ๋ฐ˜์œผ๋กœ ๋ช…๋ น์„ ์ „๋‹ฌ๋ฐ›์•„ ํ‚ค๋ณด๋“œ/๋งˆ์šฐ์Šค ์ž…๋ ฅ์„ ์—๋ฎฌ๋ ˆ์ด์…˜ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ Developer

SilentHID, ๐Ÿ“Œ Developer

Philippe J. Bourcier๋Š” ํ”„๋ž‘์Šค์˜ ๊ธฐ์ˆ  ์ฐฝ์—…๊ฐ€์ด์ž ๋ฉ”์ด์ปค๋กœ, ๋กœ๋ด‡ยทAIยท์ž„๋ฒ ๋””๋“œยท๋„คํŠธ์›Œํฌ ๋ถ„์•ผ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ™œ๋™ํ•˜๊ณ  ์žˆ๋‹ค. X(๊ตฌ Twitter) ํ”„๋กœํ•„ ๊ธฐ์ค€์œผ๋กœ Business Angel, ์Šคํƒ€ํŠธ์—… CTO, Maker๋กœ ์†Œ๊ฐœ๋˜์–ด ์žˆ์œผ๋ฉฐ, ํ”„๋ž‘์Šค์˜ ์˜คํ”ˆ ๊ธฐ์ˆ  ์ปค๋ฎค๋‹ˆํ‹ฐ FRnOG(French Network Operators Group) ์„ค๋ฆฝ์ž ์ค‘ ํ•œ ๋ช…์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ๋‹ค.

https://www.frnog.org/

๐Ÿ“Œ Features

1. Secure WebSocket ๊ธฐ๋ฐ˜ ์›๊ฒฉ ๋ช…๋ น ์ˆ˜์‹ 

  • TLS 1.2 ์•”ํ˜ธํ™”๋ฅผ ํ†ตํ•œ HID ๋ช…๋ น ์ˆ˜์‹  (BearSSL ์‚ฌ์šฉ)
  • ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ํ‚ค๋ณด๋“œ/๋งˆ์šฐ์Šค ์ œ์–ด ๋ช…๋ น ์ „์†ก

BearSSL?

BearSSL์€ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋งค์šฐ ์ œํ•œ๋œ ํ™˜๊ฒฝ์„ ๋ชฉํ‘œ๋กœ ์„ค๊ณ„๋œ ๊ฒฝ๋Ÿ‰ TLS/SSL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
์ฃผ ์šฉ๋„๋Š” ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ, MCU ๊ธฐ๋ฐ˜ IoT ๋””๋ฐ”์ด์Šค์—์„œ ์•ˆ์ „ํ•œ TLS ํ†ต์‹ ์„ ์ตœ์†Œ ๋น„์šฉ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 BearSSLmbedTLS
์„ค๊ณ„์ตœ์†Œ ์ฝ”๋“œ/๋ฉ”๋ชจ๋ฆฌ, ๊ฐ„๊ฒฐํ•˜๊ณ  ์•ˆ์ „ํ•œ ๊ตฌํ˜„๋ฒ”์šฉ, ์œ ์—ฐํ•œ ๊ธฐ๋Šฅ๊ณผ API ์ œ๊ณต
์ฃผ ์‚ฌ์šฉ ๋Œ€์ƒ๋ฆฌ์†Œ์Šค ์ œํ•œ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ, IoT์ž„๋ฒ ๋””๋“œ๋ถ€ํ„ฐ ์„œ๋ฒ„๊นŒ์ง€ ํญ๋„“์€ ์ ์šฉ
์ฝ”๋“œ ํฌ๊ธฐ๋งค์šฐ ์ž‘์Œ์ƒ๋Œ€์ ์œผ๋กœ ํผ
๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๋‚ฎ์Œ๋‹ค์†Œ ๋†’์Œ
์ง€์› ํ”„๋กœํ† ์ฝœTLS 1.0~1.3 (์„ ํƒ์ )TLS 1.0~1.3 (๊ด‘๋ฒ”์œ„)

์ด ํ”„๋กœ์ ํŠธ๋Š” ๋ฉ”์ธ ์ฝ”์–ด๋กœ ์‚ฌ์šฉํ•˜๋Š” arduino-pico๊ฐ€ TLS ๋ฐฑ์—”๋“œ๋กœ BearSSL์„ ๊ณต์‹ ์ฑ„ํƒํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, Arduino ํ™˜๊ฒฝ์—์„œ ์ตœ์†Œ ๋ฆฌ์†Œ์Šคยท์ตœ์†Œ ์„ค์ •์œผ๋กœ ์•ˆ์ •์ ์ธ TLS(WSS)๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ํ˜„์‹ค์  ์„ ํƒ์ด๊ธฐ ๋•Œ๋ฌธ์— BearSSL์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

2. ํ‘œ์ค€ USB HID ์—๋ฎฌ๋ ˆ์ด์…˜

  • PC์—์„œ ์ผ๋ฐ˜ USB ํ‚ค๋ณด๋“œ/๋งˆ์šฐ์Šค๋กœ ์ธ์‹
  • ๋“œ๋ผ์ด๋ฒ„ ์„ค์น˜ ๋ถˆํ•„์š” (OS ๋…๋ฆฝ์ )

3. ๋‚ด์žฅ ์›น์„œ๋ฒ„๋ฅผ ํ†ตํ•œ ํ…Œ์ŠคํŠธ ์ธํ„ฐํŽ˜์ด์Šค

  • ๋””๋ฐ”์ด์Šค ์ž์ฒด ํ…Œ์ŠคํŠธ UI ์ œ๊ณต
  • ๋กœ์ปฌ/์›๊ฒฉ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ

4. WIZnet ๊ณต์‹ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ํ™œ์šฉ

  • WIZnet Maker ์‚ฌ์ดํŠธ์˜ W55RP20 Arduino Tutorial ์ฐธ์กฐ
  • ๋ฒค๋” ๊ณต์‹ ๋ฆฌ์†Œ์Šค ๊ธฐ๋ฐ˜ ๊ตฌํ˜„

๐Ÿ“Œ System Architecture

Image generated by ChatGPT (OpenAI)
Image generated by ChatGPT (OpenAI)

๋ฐ์ดํ„ฐ ํ๋ฆ„:

  1. ์›๊ฒฉ ํด๋ผ์ด์–ธํŠธ๊ฐ€ Secure WebSocket์„ ํ†ตํ•ด HID ๋ช…๋ น ์ „์†ก
  2. W55RP20 ๋””๋ฐ”์ด์Šค๊ฐ€ ์ด๋”๋„ท์œผ๋กœ ๋ช…๋ น ์ˆ˜์‹  ๋ฐ TLS ๋ณตํ˜ธํ™”
  3. ํŽŒ์›จ์–ด๊ฐ€ ๋ช…๋ น์„ USB HID ํ”„๋กœํ† ์ฝœ๋กœ ๋ณ€ํ™˜
  4. PC๊ฐ€ USB HID ์žฅ์น˜๋กœ ์ธ์‹ํ•˜์—ฌ ์ž…๋ ฅ ์ฒ˜๋ฆฌ

์ฃผ์š” ๊ตฌ์„ฑ:

  • MCU: RP2040 (Dual Cortex-M0+)
  • ๋„คํŠธ์›Œํฌ: W5500 ํ•˜๋“œ์›จ์–ด TCP/IP ์Šคํƒ
  • ํ”„๋กœํ† ์ฝœ: HTTPS/TLS 1.2, WebSocket
  • ์ธํ„ฐํŽ˜์ด์Šค: USB HID (Keyboard/Mouse)

์›น์†Œ์ผ“ ํ”„๋กœํ† ์ฝœ

๐Ÿ“Œ System Architecture

๐Ÿ“Œ Role and Application of the WIZnet's Chip

์‚ฌ์šฉ ์นฉ: W55RP20

RP2040 MCU์™€ W5500 ํ•˜๋“œ์›จ์–ด TCP/IP ์Šคํƒ์ด ํ†ตํ•ฉ๋œ ์นฉ์ด๋‹ค.

ํ”„๋กœ์ ํŠธ์—์„œ์˜ ์—ญํ• 

  • TCP/IP ํ†ต์‹  ์ฒ˜๋ฆฌ (ํ•˜๋“œ์›จ์–ด ์Šคํƒ ์‚ฌ์šฉ)
  • HTTPS/TLS ์„ธ์…˜ ๊ด€๋ฆฌ
  • ์›๊ฒฉ ๋ช…๋ น ์ˆ˜์‹ 
  • USB HID ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต

์นฉ ํŠน์ง•

  • ํ•˜๋“œ์›จ์–ด TCP/IP ์˜คํ”„๋กœ๋“œ (TOE ๋ฐฉ์‹)
  • RP2040 + Ethernet ํ†ตํ•ฉ์œผ๋กœ BOM ๋‹จ์ˆœํ™”
  • Arduino ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ง€์›
  • Cortex-M0+ ๊ธฐ๋ฐ˜ ์ €์ „๋ ฅ ์„ค๊ณ„

๐Ÿ“Œ Market & Application Value

๐Ÿ“Œ Market & Application Value
  • ๋กœ๋ด‡ ์ œ์–ด ์‹œ์Šคํ…œ์˜ PC ์กฐ์ž‘
  • ํ…Œ์ŠคํŠธ ์ž๋™ํ™”
  • ์›๊ฒฉ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

๐Ÿ“Œ External Indicators

X (https://x.com/irukanji_invest/status/2004480964433768788)

๐Ÿ“Œ External Indicators
๐Ÿ“Œ External Indicators

SilentHID ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์ž๋Š” X(๊ตฌ Twitter)๋ฅผ ํ†ตํ•ด ๋ณธ ํ”„๋กœ์ ํŠธ๋ฅผ ํœด๋จธ๋…ธ์ด๋“œ ๋กœ๋ด‡์ด๋‚˜ ์›๊ฒฉ ์‹œ์Šคํ…œ์ด ๋ฌผ๋ฆฌ์ ์ธ ํ‚ค๋ณด๋“œยท๋งˆ์šฐ์Šค ์กฐ์ž‘ ์—†์ด PC๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์Šค์œ„ํŠธ์˜ ์ฒซ ๋‹จ๊ณ„๋ผ๊ณ  ์„ค๋ช…ํ–ˆ๋‹ค. ๋””๋ฐ”์ด์Šค๋Š” PC์— ํ‘œ์ค€ USB HID๋กœ ์ธ์‹๋˜๋ฉฐ, ์‹ค์ œ ์ œ์–ด ๋ช…๋ น์€ TLS๊ฐ€ ์ ์šฉ๋œ WebSocket์„ ํ†ตํ•ด ์ „๋‹ฌ๋˜๋Š” ๊ตฌ์กฐ์ž„์„ ๊ฐ•์กฐํ–ˆ๋‹ค.

๊ฒŒ์‹œ๊ธ€์—์„œ๋Š” ์—‘์…€ ์‹œํŠธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด, ์‚ฌ๋žŒ์ด ์ˆ˜ํ–‰ํ•˜๋˜ ์‚ฌ๋ฌดยท๊ด€๋ฆฌ ์ž‘์—…์„ ๋กœ๋ด‡์ด ๊ทธ๋Œ€๋กœ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Œ์„ ์„ค๋ช…ํ–ˆ๋‹ค. ํŠนํžˆ ERP๋‚˜ QA ์‹œ์Šคํ…œ๊ณผ์˜ ๋ณต์žกํ•œ API ์—ฐ๋™ ์—†์ด, ๊ธฐ์กด PC ๊ธฐ๋ฐ˜ ์—…๋ฌด๋ฅผ ๊ทธ๋Œ€๋กœ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ํ•ต์‹ฌ ์žฅ์ ์œผ๋กœ ์–ธ๊ธ‰ํ–ˆ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด SilentHID๋Š” ๋กœ๋ด‡ ์Šคํƒ€ํŠธ์—…์ด ์ถ”๊ฐ€ ๊ฐœ๋ฐœ ์—†์ด(Plug & Play) ํœด๋จธ๋…ธ์ด๋“œ ๋กœ๋ด‡์„ ๊ณต์žฅ ํ™˜๊ฒฝ์— ๋ฐฐ์น˜ํ•˜๊ณ , ๋ฌผ๋ฆฌ ์ž‘์—…๊ณผ PC ์ž…๋ ฅ ์ž‘์—…์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ์‹ค์šฉ์  ๋„๊ตฌ๋กœ ์†Œ๊ฐœ๋˜๊ณ  ์žˆ๋‹ค.

๐Ÿ“Œ QnA

Q1. ์™œ SilentHID์— W55RP20(W5500)์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€๊ฐ€์š”?

W55RP20์€ ํ•˜๋“œ์›จ์–ด TCP/IP๋ฅผ ์ œ๊ณตํ•˜๋Š” W5500์„ ๋‚ด์žฅํ•ด MCU์˜ ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜๋ฅผ ํฌ๊ฒŒ ์ค„์ธ๋‹ค. ์ด๋Š” HID ์ž…๋ ฅ์ฒ˜๋Ÿผ ๋นˆ๋ฒˆํ•˜๊ณ  ์งง์€ ๋ช…๋ น์„ ์•ˆ์ •์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์œ ๋ฆฌํ•˜๋ฉฐ, ์†Œํ”„ํŠธ์›จ์–ด ์Šคํƒ(LwIP) ๋Œ€๋น„ ์ง€์—ฐ ๋ณ€๋™์ด ์ ์–ด ์‚ฐ์—… ํ™˜๊ฒฝ์—์„œ ์‹ ๋ขฐ์„ฑ์ด ๋†’๋‹ค.

Q2. SilentHID๋Š” ์‚ฐ์—…์šฉ ๋„คํŠธ์›Œํฌ์— ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐ๋˜๋‚˜์š”?

W55RP20-EVB-Pico์˜ Ethernet ํฌํŠธ๋ฅผ ํ†ตํ•ด ์œ ์„  ๋„คํŠธ์›Œํฌ์— ์ง์ ‘ ์—ฐ๊ฒฐํ•œ๋‹ค. config.h์—์„œ IP, ํฌํŠธ, ์ธ์ฆ ์ •๋ณด๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Static IP ๋˜๋Š” DHCP๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ดํ›„ HTTPS ๋ฐ Secure WebSocket์œผ๋กœ ์ œ์–ด ๋ช…๋ น์„ ์ˆ˜์‹ ํ•œ๋‹ค.

Q3. ์ด ํ”„๋กœ์ ํŠธ์—์„œ W5500์˜ ํ•ต์‹ฌ ์—ญํ• ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

W5500์€ TCP/IP ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋“œ์›จ์–ด์—์„œ ์ˆ˜ํ–‰ํ•ด WebSocket ํ†ต์‹ ์„ ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€ํ•œ๋‹ค. ๋•๋ถ„์— RP2040์€ USB HID ์ฒ˜๋ฆฌ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ช…๋ น-์‘๋‹ต(OK/ERR) ๊ตฌ์กฐ๊ฐ€ ๋Š๊น€ ์—†์ด ๋™์ž‘ํ•œ๋‹ค.

Q4. ์ดˆ๋ณด์ž๋„ W55RP20-EVB-Pico๋กœ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

Arduino IDE ๊ฒฝํ—˜์ด ์žˆ๋‹ค๋ฉด ์ถฉ๋ถ„ํžˆ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ฐ€์žฅ ์–ด๋ ค์šด ๋ถ€๋ถ„์€ TLS ์ธ์ฆ์„œ ์ƒ์„ฑ๊ณผ self-signed ์ธ์ฆ์„œ ์ฒ˜๋ฆฌ๋‹ค. USB HID์™€ Ethernet ์„ค์ • ์ž์ฒด๋Š” README ์ง€์นจ์„ ๋”ฐ๋ฅด๋ฉด ๋น„๊ต์  straightforwardํ•˜๋‹ค.

Q5. W5500 ๊ธฐ๋ฐ˜ ํ•˜๋“œ์›จ์–ด TCP/IP๋Š” LwIP ๊ฐ™์€ ์†Œํ”„ํŠธ์›จ์–ด ์Šคํƒ๊ณผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ๊ฐ€์š”?

LwIP๋Š” ์œ ์—ฐํ•˜์ง€๋งŒ MCU RAM๊ณผ CPU๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค. ๋ฐ˜๋ฉด W5500์€ TCP/IP๋ฅผ ํ•˜๋“œ์›จ์–ด๋กœ ์ฒ˜๋ฆฌํ•ด ์ฝ”๋“œ ๋ณต์žก๋„๋ฅผ ์ค„์ด๊ณ , ํ†ต์‹  ํƒ€์ด๋ฐ์„ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค. ์ด๋Š” ๊ณต์žฅ ์ž๋™ํ™”๋‚˜ ์›๊ฒฉ HMI ์ œ์–ด ๊ฐ™์€ OT ํ™˜๊ฒฝ์—์„œ ์ค‘์š”ํ•œ ์ฐจ์ด๋‹ค.

๐Ÿ“Œ WIZnet Strategic Value

WIZnet ์ƒํƒœ๊ณ„ ๊ด€์ 

  • W55RP20 Arduino Tutorial ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ (README ์ง์ ‘ ๋งํฌ)
๐Ÿ“Œ WIZnet Strategic Value

โ†’ ๊ณต์‹ ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ์™€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์—ฐ๊ฒฐ๋จ
โ†’ Maker ๋ฐ ์ž…๋ฌธ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์žฌํ˜„ ๊ฐ€๋Šฅ์„ฑ ์ œ๊ณต

  • WIZnet ๊ณต์‹ ๊ฐœ๋ฐœ ๋ฆฌ์†Œ์Šค ํ™œ์šฉ ์‚ฌ๋ก€
    • W55RP20 + Ethernet + ๋ณด์•ˆ ํ†ต์‹ (BearSSL์‚ฌ์šฉ)์˜ ์‹ค์ œ ๊ตฌํ˜„ ์˜ˆ
    • ๋‹จ์ˆœ ํŠœํ† ๋ฆฌ์–ผ์„ ๋„˜์–ด ์‘์šฉ ๋ ˆ๋ฒจ UCC๋กœ ํ™•์žฅ๋œ ์‚ฌ๋ก€
  • W55RP20 ๊ธฐ๋ฐ˜ ์ด๋”๋„ท ์ž…๋ ฅ ์ œ์–ด์—์„œ SPE๋กœ ํ™•์žฅ ๊ฐ€๋Šฅ์„ฑ
    • ๋งŒ์•ฝ WIZnet์—์„œ SPE ์ด๋”๋„ท ์ปจํŠธ๋กค๋Ÿฌ ๋˜๋Š” ๊ด€๋ จ ์†”๋ฃจ์…˜์ด ์ œ๊ณต๋œ๋‹ค๋ฉด, SilentHID์™€ ๊ฐ™์€ ํ”„๋กœ์ ํŠธ๋Š” ๋กœ๋ด‡โ€“PC ๊ฐ„ ์ง์ ‘ ์—ฐ๊ฒฐํ˜• ์ž…๋ ฅ ์ œ์–ด ์žฅ์น˜๋กœ ์ง„ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ๋กœ๋ด‡์ด ๊ฐ PC ๊ทผ์ฒ˜์—์„œ ๋ณ„๋„์˜ ์Šค์œ„์น˜๋‚˜ ๋ณต์žกํ•œ ๋„คํŠธ์›Œํฌ ์ธํ”„๋ผ ์—†์ด๋„ ์ œ์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ตฌ์กฐ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ณต์žฅยท๋ฌผ๋ฅ˜ยทํ˜„์žฅ ์ž๋™ํ™” ํ™˜๊ฒฝ์—์„œ ๋ฐฐ์„  ๋น„์šฉ๊ณผ ์„ค์น˜ ๋ณต์žก๋„๋ฅผ ๋™์‹œ์— ๋‚ฎ์ถ”๋Š” ๋ฐฉํ–ฅ์ด๋‹ค.
๐Ÿ“Œ WIZnet Strategic Value

Maker ์ƒํƒœ๊ณ„ ๊ด€์ 

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” W55RP20 ๋‹จ์ผ ํ”Œ๋žซํผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ TLS(WSS) ยท Ethernet ยท USB HID๋ฅผ ํ•˜๋‚˜์˜ ๋””๋ฐ”์ด์Šค์— ํ†ตํ•ฉํ•œ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค.

์ฆ‰, W55RP20์€ ๋‹จ์ˆœ MCU + Ethernet ์นฉ์ด ์•„๋‹ˆ๋ผ โ€œํ–‰๋™ํ˜• ๋„คํŠธ์›Œํฌ ๋””๋ฐ”์ด์Šค (Actuation-capable Network Device)โ€๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋žซํผ์ž„์„ ์ฆ๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ Summary

SilentHID๋Š” WIZnet W55RP20-EVB-Pico๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ, ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋œ ์›๊ฒฉ ๋ช…๋ น์„ USB ํ‚ค๋ณด๋“œยท๋งˆ์šฐ์Šค ์ž…๋ ฅ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž„๋ฒ ๋””๋“œ ํ”„๋กœ์ ํŠธ๋‹ค. PC์—์„œ๋Š” ๋ณ„๋„์˜ ๋“œ๋ผ์ด๋ฒ„ ์—†์ด ํ‘œ์ค€ USB HID ์žฅ์น˜๋กœ ์ธ์‹๋˜์–ด ๊ธฐ์กด ํ™˜๊ฒฝ์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

TLS๊ฐ€ ์ ์šฉ๋œ WebSocket(WSS) ํ†ต์‹ ์œผ๋กœ ์›๊ฒฉ ์ œ์–ด ๋ช…๋ น์„ ์ˆ˜์‹ ํ•˜๊ณ  ์ด๋ฅผ ์‹ค์ œ ์ž…๋ ฅ ์ด๋ฒคํŠธ๋กœ ๋ณ€ํ™˜ํ•จ์œผ๋กœ์จ, ๋กœ๋ด‡์ด๋‚˜ ์ž๋™ํ™” ์‹œ์Šคํ…œ์ด ์‚ฌ๋žŒ์„ ๋Œ€์‹ ํ•ด PC๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋„คํŠธ์›Œํฌโ€“USB ์ž…๋ ฅ ๋ธŒ๋ฆฌ์ง€๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

 

Comments

Comments