Serial to Ethernet(S2E) ?

우선 Serial to Ethernet 이라고 하는 것은, Serial 데이터를 Ethernet 프로토콜을 통해 패킷을 만들어 외부로 보내는 기능을 일컫습니다.

즉, Serial로 보내거나 받은 데이터를 Ethernet데이터로 변환하여 Ethernet 네트워크를 사용하여 관리/제어하기 위함이며 그 역도 성립합니다.

가끔, 아두이노에서 시리얼 데이터를 받아서 이더넷으로 전송하려고 하는 분들이 있습니다. 이러한 경우때문에 오늘 포스팅을 진행하게 되었는데요.

사실 Ethernet 실드를 사용하거나 Ethernet 모듈을 붙여서 사용하면 됩니다. 하지만, 무언가 다른 이유가 있는 것이라고 생각합니다.

단적인 예로는... 아두이노에서 Ethernet관련 내용까지 업로드하게 되면 메모리를 많이 차지하겠죠. 다른 내용들로 메모리 활용을 하고 싶은 상황에서는 이러한 방식을 쓸수도 있다고 생각되었습니다.

우선 WIZnet 제품 자체가 메모리가 제한적인 임베디드 시스템에서 이더넷사용에 대한 부담을 덜어주는 것에 가장 큰 장점이 있기 때문에 이런 수요가 있는 것 같습니다. 

레퍼런스 차원에서 간단히 구현을 할 것인데, 보시면 너무 간단해서 당황하실 수도 있습니다. 제목이 거창해서 들어왔는데, 아두이노 소스는 실상 별거 없는 것이죠.

결론부터 말씀드리면, 아두이노 소스는 "Serial to Serial" 즉, 이미 있는 예제에서 원하는 보레이트 맞춰주기만 했습니다.
아두이노가 할 것은 이게 전부입니다 :)

 

준비물

먼저 준비물은 아래와 같습니다.

1. Arduino Uno  (구현은 이것으로 했지만 어떠한 보드에서도 다 가능합니다)
2. WIZ550S2E (Hardwired TCP/IP + PHY , Serial to Ethernet 모듈)
3. 점퍼 케이블
4. Arduino USB케이블, 랜케이블

준비할 것도 없죠?
어차피 내용도 별거 없으니 준비물이 없으시더라도, "아 이런 제품을 사용하면 이렇게 사용할 수 있구나"만 느끼셔도 될 것 같습니다.

https://www.wiznet.io/product-item/wiz550s2e/

 

WIZ550S2E | WIZnet Co., Ltd.

 

www.wiznet.io

 

결선

별거 없죠? 사실 일반적으로 Uno를 많이 사용하셔서 이렇게 했지만,
더 작은 보드를 활용해서 얼마든지 작게 만들 수 있습니다.

정확한 결선도를 원하시는 분들을 위해 아래와 같이 첨부합니다.

이 것은 핀맵입니다.

 

아두이노 코드

https://create.arduino.cc/editor/OpusK/adcd103c-9847-40c0-92e0-d19093896020/preview
위 링크로 가면 코드를 보실 수 있습니다.

코드를 보면, 지나치게 단순하죠?
이래서 굳이 별도의 모듈을 사서 쓰는겁니다.
참고로, WIZ550S2E에서 사용된 W5500의 경우 [Arduino Ethernet Shield 2]에서 사용합니다.
다만 차이점은 이 Serial to Ethernet을 위한 여러가지 네트워크 설정과 처리방식에 따른 소스코드가 포함되어야 하기때문에 아두이노 메모리를 많이 사용하게 되겠죠. 아마 기능에 따라서는 Uno 메모리가 부족할 것입니다.

 

WIZ550S2E 사용하기

이러한 모듈들을 쉽게 사용하기 위해 ConfigTool이 제공됩니다.

ConfigTool은 http://wizwiki.net/wiki/doku.php?id=products:wiz550s2e:wiz550s2e_download&#configtool 에서 다운받을 수 있습니다.
실행가이드라던지 다른 내용들도 있으니 관심 있으신 분들은 참조하세요.

PC에서 Ethernet 데이터를 확인하기 위해 네트워크 설정을 수정해 준 뒤,
아래와 같이 터미널 프로그램을 통해 테스트하면! 

Arduino로 입력한 Serial 데이터를 Ethernet을 통해 PC에서 받아볼 수 있습니다.

참 쉽죠?
혹시나 헷갈리실 분들을 위해 원리를 설명하면 아래와 같습니다.

활용방안

일단 아두이노는 매우 쉽습니다. 레퍼런스도 많죠.
그리고, 제어와 센싱에 특화되어 있습니다 (임베디드가 대부분 그렇죠)
따라서 여기서는 단순히 Serial 데이터를 넘겨주었지만, 센서 데이터를 Ethernet으로 보내 인터넷 클라우드에서 관리할 수도 있겠고, 반대로 클라우드를 통해, 혹은 별도의 서버나 App을 통해 아두이노로 만든 장치를 제어할 수 도 있겠죠?

무엇이든 활용하기 나름입니다.

다시 말씀드리지만, 이러한 형태로 쓰려고 하는 분들은 
Ethernet통신이라는 부담스러운 코드를 WIZnet chip을 사용함으로써 부담도 덜고 그만큼 다른 효율을 내고자 하는 경우가 있겠습니다.
물론 아닐 수도 있지만요 :)

출처 : https://blog.naver.com/opusk/220984669420

 

[Tutorial] Arduino Uno와 WIZ550S2E를 사용한 Serial to Ethernet

Serial to Ethernet(S2E) ?우선 Serial to Ethernet 이라고 하는 것은, Serial 데이터를 Ethernet ...

blog.naver.com

 

+ Recent posts