> For the complete documentation index, see [llms.txt](https://docs.sysout.co.kr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sysout.co.kr/base-language/arduino/arduino-network/ethernet-shield.md).

# 이더넷(Ethernet)

## 이더넷 쉴드(Ethernet shield)

이 문서에서는 이더넷 쉴드를 사용하여 아두이노를 웹과 연동하는 작업에 대해서 살펴본다.

### 이더넷 쉴드란

아두이노에서 쉴드(Shield)란 보드에 연결하여 성능을 확장시키기 위한 도구이다. 여러 종류의 쉴드들이 존재하며, 이더넷 쉴드는 아두이노 보드에 인터넷 통신이 가능하도록 확장해주는 보드이며, UTP 케이블을 연결할 수 있다.

![](https://4208234536-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_TNZwLuHV9ipYLbvRq%2F-Mf7-Z_DEzWucgFJaHpC%2F-Mf7-liW1bXDmpblKb-q%2Fimage.png?alt=media\&token=592165f7-13a9-4306-95c2-b1f8e2bb3957)

일반적으로 이더넷 쉴드라고 하면 `W5100` 모델을 의미한다.

### UNO 보드 결합

아두이노 UNO 보드와 결합한 사진은 다음과 같다.

![](https://4208234536-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_TNZwLuHV9ipYLbvRq%2F-Mf7-Z_DEzWucgFJaHpC%2F-Mf7-oxuQpaFCDVzhobe%2Fimage.png?alt=media\&token=d727cc20-56ef-4d72-af34-24f5bf15ec78)

쉴드에 장착된 핀에 연결하면 보드에 연결한 것과 동일하게 사용할 수 있으며, UTP 케이블을 연결하면 인터넷 연결을 할 수 있다.

### 라이브러리

이더넷 통신 코드들을 살펴보기 위해서는 `ArduinoJson` 라이브러리가 필요하다.\
툴 → 라이브러리 관리 에서 `ArduinoJson`을 검색하면 다운로드 받을 수 있다.

### 샘플 코드

* 주소 확인 : 예제 → Ethernet → DHCPAddressPrint
* 웹 서버 : 예제 → Ethernet → WebServer
* 웹 클라이언트
  * 예제 → Ethernet → WebClient
  * 예제 → Ethernet → WebClientRepeat

### 웹서버로 사용하는 경우

아두이노를 웹서버로 사용하는 경우는 다음과 같다.

* 지속적으로 실행되고 조회할 수 있어야 하는 경우(ex : 온도센서, 조도센서, ...)
* 원하는 시점에 상태를 변경할 수 있어야 하는 경우(ex : LED, 서보모터, ...)

### 웹클라이언트로 사용하는 경우

아두이노를 웹 클라이언트로 사용해야 하는 경우는 다음과 같다.

* 특정 시점에 서버로 신호를 보내야 하는 경우(ex : RFID, 가스감지, 초음파감지, ...)
