Ethernet Shield를 통해 유선랜을 Arduino에 달아보자.
▶ 이 가이드를 따라하면
- 유선랜을 Arduino에 적용할 수 있다.
▶ 먼저 읽으면 좋은 글
- Arduino 일반 : http://bbangpan.tistory.com/1
- WiFi Shield 강좌 : http://bbangpan.tistory.com/20
▶ 부품 설명 및 회로 구성
Arduino Ethernet Shield는 다양한 버전이 존재하는데, 반갑게도 국산인 Wiznet의 W5200, W5100칩셋을 쓴 이더넷 쉴드가 매우 보편적이다. W5100을 사용한 보드가 흔한데($ 6), 필자는 W5200칩셋을 사용한 쉴드를 샀다. (이 쉴드에는SD카드 모듈까지 같이 들어있어 간단히 저장도 할 수 있다.) SPI 방식을 써서 보드와 통신하므로 중간 6개짜리 핀도 연결하여 사용함을 알 수 있다. 일반인에게 두 칩셋의 차이는 없다고 봐도 무방하다고 알려져있고 Arduino의 공식 쉴드는 W5100이다. 따라서 W5100은 내장 Ethernet 라이브러리로 바로 지원된다.
그리고 이 이더넷 쉴드의 장점은 역시 가격($ 6~)이다. WiFi 쉴드($ 15~) 보다 절반이상 저렴하다. 역시 사진부터 보자.
<이더넷 쉴드/W5200기반 위에서 본 모습>
<Arduino 보드에 장착한 옆모습>
<정상 연결시 랜선 위 양옆 LED가 on되고 쉴드에서도 빨간색 LED가 켜진다. 옛날 PC 랜소켓과 같다?>
W5100칩셋과 달리 W5200의 경우는 라이브러리를 새로 다운로드 해주어야 한다. (이 버전 호환성에 주의하자) 정확히는 해당 라이브러리 안의 헤더를 살펴보면 어떤 버전을 지원하는지 알 수 있다.
<기본 Ethernet 라이브러리 폴더 안에 w5100용 헤더만 있는 것을 알 수 있다. w5200은 별도 라이브러리가 필요하다>
▶ 소스 코드 입력 및 구동
W5200의 경우 아래 라이브러리를 다운 받은 후 예제에서 해당 라이브러리 밑의 webclient를 실행하자. 간단히 특정 사이트에 접속하여 내용을 알아오는 예제이다. 이외에도 간단한 웹서버를 구현한다던가 여러가지 TCP/IP기반 통신 기능 구현이 가능하다.
http://www.seeedstudio.com/wiki/Ethernet_Shield_V2.0 에서 https://github.com/Seeed-Studio/Ethernet_Shield_W5200 의 라이브러리 사이트로 이동 가능하다. 오른쪽 아래 zip download를 눌러 Arduino설치 폴더의 libraries폴더 밑에 압축을 풀자. 압축을 푸는게 끝났으면, Arduino Sketch를 확실히 재시작해주어야 예제 소스에 보인다.
<예제/Ethernet_Shield_W5200-master/WebClient를 선택해서 실행하자. W5100은 그냥 Ethernet 라이브러리 아래 예제를 구동한다.>
공유기인 경우 DHCP로 주소를 잘 받아(DHCP가 아닌 고정 IP인 경우 해당 고정 IP를 예제 소스에 입력해두면 사용이 가능하다) 구글 페이지를 로딩하는 것을 알 수 있다.
<구글 사이트에 접속해서 오류 메시지긴 하나 받아서 찍은 것을 알 수 있다>
이 예제만으로도 특정 웹 사이트에 정보를 가져와서 끄집어내(parsing) 쓰거나, 정보를 보낼 수 있다. ex> http://test.com/call.jsp?param=test¶m2=test2 형태로 보내면 웹 어플리케이션과 통신할 수 있다.
저가의 쉴드지만 Ethernet으로 필요한 기능은 모두 구현 가능하고, 관련 다른 예제를 자세히 살펴보자.
▶ 구매 가이드
Arduino Ethernet shield : http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20151017103447&SearchText=arduino+ethernet+shield
▶ 강의 키워드
아두이노 이더넷 쉴드, Arduino Ethernet shield, 유선랜, wiznet w5100 w5200 wiz5100 wiz5200
'아두이노 통신' 카테고리의 다른 글
[통신모듈/HC-12] 저렴하고 긴 거리 통신이 가능한 HC-12 (4) | 2020.08.22 |
---|---|
[통신/GPS] 위도 경도 값을 불러와 활용하는 GPS(NEO-6M) 모듈을 구동해보자 (5) | 2015.06.15 |
[통신/근거리고속] 2.4Ghz 양방향 통신을 nRF24L01 모듈로 구현하자 (11) | 2015.05.22 |
[통신/중단거리] 중단거리 양방향 통신이 가능한 serial 기반의 손쉬운 네트워크 모듈 APC220 (4) | 2015.04.10 |
[통신/WiFi] WiFi 모든 것을 활용하는 Arduino WiFi Shield (CC3000) (17) | 2015.03.24 |
[통신/WiFi] 저가로 WiFi를 구현할 수 있는 모듈(ESP8266) (10) | 2015.03.22 |
[통신/BLE] BLE / iBeacon을 아두이노에서 구현하게 해주는 HM-10 (18) | 2015.03.13 |
[통신/블루투스] Bluetooth 2.0을 구현하는 HC-06모듈, 스마트폰과 아두이노 연동 (7) | 2015.02.16 |
[통신/근거리] 433/315Mhz 근거리 무선 송수신 통신을 아두이노(Arduino)에서 구현해보자 (8) | 2015.02.08 |