arduino 코딩-87: 아두이노 이더넷(Ethernet) 쉴드 웹서버 코딩

in kr •  5 months ago

아두이노 호환 보드 NodeMCU/WeMos 보드를 사용하는 무선 와이파이 코딩과는 대조적으로 이더넷 쉴드에 의한 유선 방식으로 네트워킹을 해보도록 하자. 아두이노에서 쉴드라 함은 아두이노 보드의 핀 구조와 일치하는 PCB 형태의 응용 보드로서 그대로 끼운 후 배선 와이어링은 아두이노 보드와 동일한 커넥터 구조를 갖는 PCB 쉴드상의 커넥터에서 하도록 한다.

아래 사진에서 가변 저항은 이더넷 쉴드 보드상의 5V, GND 및 A0핀에 배선하였다.

noname01.png

아두이노 우노 보드에서 이더넷 쉴드를 처음으로 설치하고 예제에 포함된 WebServer 데모 코드를 실행하기 위한 기본적인 무선 공유기 설치 구조 이다. 가상ip를 설정해서 사용해야 하므로 비록 유선 이더넷 코딩이라 해도 반드시 무선 공유기를 설치하도록 하자. 무선 공유기가 설치되면 아두이노 이더넷에 할당할 수 있는 RJ45핀이 반드시 하나 있기 마련이다.

아두이노 편집기 예제를 보면 Ethernet 이 있음을 볼 수 있다. 비록 유선 인터넷이긴 하지만 그 내용에 있어서 무선 와이파이와 거의 흡사하다.

noname02.png

WeServer 코드를 불러와서 몇가지 주의할 점을 알아보자. 쉬울 것 같지만 디지털의 세계는 간단한 사실 하나만 달라져도 거의 안된다고 보면 될 것이며 독자 여러분들이 더 잘 알 것이다.

이미 무선 와이파이로 필요한 작업을 거의 다 해보았지만 필자도 사물인터넷 시작해보려고 2017년 1월에 이더넷 쉴드 보드 처음에 구매하여 안돼서 무려 1년 반 묵혔다가 오늘에서야 성공하여 블로그 작업을 하게 되었다. 물론 유선이라 불편한 점이 있을 수 있겠지만 그 보다 중요한 것은 재미있다는 점이다. 앞으로 기회가 되면 무선 와이파이와 이더넷과의 차이점을 체크해 볼 계획이다.

WeServer 코드 전반부에서 보묜 가상 ip 와 mac 어드레스가 있다. 가상 ip 값은 192.168.1.117 로 주어져 있으나 이 가상ip를 그대로 사용하면 실패한다. 왜? 인터넷 url에 그 주소 입력해서 request 보내봐야 아무런 출력이 나오지 않으니까.

noname03.png

여기가 가장 중요한 급소이다. 가상 ip 값을 설정해 주는데 자신이 사용했던 무선 와이파이 보드에서 흔히 사용하던 값을 사용해 보도록 하자. 예를 들면 192.168.0.3 이다. 이 부분이 가장 중요한 듯하다.

mac 어드레스는 그냥 그대로 두어도 WebServer 코드 실행에 아무런 문제가 없었다. 헤더 영역에서 SPI.h 라이브러리는 쉴드 보드를 끼움에 있어 아두이노 우노 보드 중간으 6핀 커넥터 부분이 있는데 그 핀들을 사용하는 인터페이스로서 I2C 인터페이스 보다 훨씬 고속 인터페이스이다.

그밖에 WebServer 코드와 위 사진의 배선과 비교에서 주의할 점은 6개의 아날로그 핀 입력을 읽어 들이도록 코딩 되어 있으나 실제 배선은 A0 핀 하나만 되어 있다는 점이다. 코드를 실행해 보면 나머지 핀들에서의 값은 임의의 값이 출력되는데 변동 되지 않는다는 점에 유의하자.

가상ip 입력 설정이 되었으면 그대로 컴파일 업로딩한다. 업로딩이 완료되면 시리얼 모니터를 켜도록 하여 입력한 가상 ip가 출력되는지 확인하자.

noname05.png

다음 단계는 인터넷 url 에 상기의 가상ip를 입력하여 request를 보내어 반응을 보도록 하자.
가변 저항을 돌려 보면 0∼1023까지의 범위를 가짐을 알 수 있다.

noname06.png

다음 동영상에서 이더넷 쉴드의 request 에 따른 시리얼 모니터 반응을 살펴보자.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

(jjangjjangman 태그 사용시 댓글을 남깁니다.)
[제 0회 짱짱맨배 42일장] 1주차 보상글을 발표합니다.(계속 리스팅 할 예정)
https://steemit.com/kr/@virus707/3vcp7h-0-42-1
현재 1주차보상글이 6개가 리스팅되었네요^^
호출에 감사드립니다! 즐거운 스티밋하세요!

pairplay 가 kr-dev 컨텐츠를 응원합니다! :)