본문 바로가기
Arduino(아두이노) 키트 강좌

Step.28-Arduino Uno 로 ENC28J60 이더넷 모듈을 사용해 이더넷 접속 웹브라우저로 확인해 보기

by 오마이엔지니어 2016. 6. 11.
반응형

Arduino Uno 로 ENC28J60 이더넷 모듈을 사용해 이더넷 접속 여부를 웹브라우저로 확인해 보는 프로젝트 입니다
ENC28J60 이더넷 모듈은 ENC28J60 칩을 기반으로 한 이더넷 모듈로 RJ45 커넥터와 이더넷 연결에
필요한 회로로 인터페이스가 구성되어 있어 손쉽게 이더넷 연결이 가능합니다
SPI 통신 방식으로 아두이노와 같은 마이크로 컨트롤러와 통신하며 HTTP stack 을 활용하고 싶지만
이더넷 쉴드의 가격이 부담 스럽다면 ENC28J60 이더넷 모듈을 사용해서 테스트 해 볼수 있습니다

<ENC28J60 이더넷 모듈 이미지>

<ENC28J60 이더넷 모듈 사양 및 핀맵설명>

사용된 부품

Arduino Uno R3 (Italy)

ENC28J60 이더넷 모듈

점퍼케이블

 

사용된 키트

Arduino Starter kit (클릭)


구성 배선도 

 

 

 

구성 배선도-V2버전

 

사용된 예제소스 

EtherCard.txt


사용된 라이브러리

ethercard-master.zip


ENC28J60 이더넷 모듈을 테스트 하려면 라이브러리를 추가해 주어야 합니다
라이브러리 추가 방법은 Arduino IDE 설치하기 포스팅을 참조해 주세요


*ENC28J60 이더넷모듈 테스트 방법*

(첨부된 라이브러리를 내문서의 아두이노 라이브러리 폴더에 복사해서
라이브러리를 추가해 줍니다)

첨부된 예제 코드를 아두이노 IDE 에 복사해서 업로드해 줍니다
또는 아두이노 IDE 에서 파일 -> 예제 -> ethercard ->backSoon 을 클릭해서
스케치를 불러 내도 됩니다


위의 구성 배선도 이미지를 참조해서 배선을 한후 공유기를 통해
랜선을 ENC28J60 이더넷모듈에 연결 합니다


*예제 코드를 자신의 공유기 환경에 맞게 수정해 주어야 합니다*

-------------------------------------------------------------------------------
#define STATIC 0  // set to 1 to disable DHCP (adjust myip/gwip values below)
-------------------------------------------------------------------------------

STATIC 0 은 공유기 IP 환경에 맞게 0 이나 1로 설정합니다

0으로 설정하여 테스트 하였습니다

-------------------------------------
static byte gwip[] = { 192,168,0,1 };
-------------------------------------
은 공유기 IP 주소 입니다

--------------------------------------
static byte myip[] = { 192,168,0,10 };
--------------------------------------
아두이노 에 연결된 ENC28J60 이더넷모듈 IP 주소 입니다


(익스플로러에서 192,168,0,1 로 접속해 IPTIME 공유기 관리자에 접속해서 내부네트워크 를 검색하면
연결된 ENC28J60 이더넷모듈 IP 주소 를 확인할수 있습니다 Arduino-XX 이런식으로 검색되고 연결 됩니다 <하단 동영상 참조>

192,168,0,10 로 연결 되었기에 192,168,0,10 로 테스트 하였습니다)

주의! 만약 내부네트워크에서 ENC28J60 에 연결 된 아두이노 장치 검색 및 IP 주소 확인이 안된다면?
이 경우 아두이노에 일단 먼저 첨부파일의 EtherCard 예제코드를  IP주소 수정없이 스케치 업로드 해 줍니다
그리고 아두이노의 리셋 버튼을 눌러주고 IPTIME 관리자에서 내부네트워크에 Arduino 이더넷이 검색 되는지 다시한번 확인해 봅니다 


-------------------------------------------------------------------
const char page[] PROGMEM =
"HTTP/1.0 503 Service Unavailable\r\n"
"Content-Type: text/html\r\n"
"Retry-After: 600\r\n"
"\r\n"
"<html>"
  "<head><title>"
    "Hello from Arduino RJ Technology"
  "</title></head>"
  "<body>"
    "<h3>This is an Arduino answering-RJ Technology</h3>"
    "<p><em>"
      "Have fun finding out more fun things to do  with this!<br />"
      "Please try again and again."
    "</em></p>"
  "</body>"
"</html>"
;

---------------------------------------------------------------------
웹 페이지에 표시될 HTML 입니다

------------------------------------------------------
"<h3>This is an Arduino answering-RJ Technology</h3>"
------------------------------------------------------
이부분을 한번 자신이 원하는 대로 수정해 봅니다


익스플로러에서 192,168,0,10 주소를 입력하면

-------------------------------------------------------
This is an Arduino answering-RJ Technology

Have fun finding out more fun things to do  with this!
Please try again and again
--------------------------------------------------------

이렇게 화면에 출력이 됩니다

이상 ENC28J60 모듈 테스트 설명 입니다

 

 

프로젝트 동영상

 
example code.txt
0.0MB
 
ethercard-master.zip
0.1MB
 
EtherCard.txt
0.0MB
반응형

댓글