아래의 사진에 있는 WIZNet의 WIZ810MJ을 사용해서 Arduino를 이더넷에 연결시켜 보았다.

이 모듈에 사용된 WIZNet의 이더넷 컨트롤러 Arduino Ethernet libaray에서 기본 지원하기 때문에 매우 손쉽게 사용할 수 있다. 한국에서는 제조사의 온라인샵인 http://www.ewiznet.co.kr/ 에서 22,866원(그냥 23000원으로 하지 끝에가 866원은 뭔지 모르겠다.)에 구입할 수 있다.

다만 단점은 3.3V전원을 사용한다는 것과 커넥터가 일반적으로 사용하는 2.54mm 피치가 아니고 2mm를 사용하기 때문에 PCB를 뜨지 않으면 일반적으로 구할 수 있는 만능기판에 들어가지가 않는다는 것이다.

이 모듈은 MCU data interface와 SPI인터페이스를 지원해 준다.

SPI인터페이스를 사용하는 경우는 저 핀들중에 아주 일부만 사용하면 되기 때문에 매우 편리하다.

아래의 그림이 핀 배치도인데 저 중에 빨간색으로 표시된 신호만 사용하면 된다. 특히 그 중에 SPI_EN은 SPI 모드를 사용할것이기 때문에 Vcc에 연결해 버리면 되고 리셋만 제외하면 나머지 필요한 신호를 모두 한쪽의 커넥터(JP1)에서 얻을 수 있다. 리셋은 전원이 인가될 때 자동리셋이 되기 때문에 없어도 되긴 하지만 혹시 몰라 조그마한 푸쉬버튼을 연결해 모듈에 접착시켜 버렸다.

그 덕에 집에 가지고 있던 2mm 피치의 14핀 커넥터를 사용해 JP1의 앞쪽만 연결해서 별도의 추가 비용 없이 손쉽게 연결할 수 있었다.

 Arduino WIZ810MJ
 D13 SCLK (7)
 D12 MISO (12)
 D11 MOSI (9)
 D10 SCS (10)

매우 손쉽게 인터넷을 사용할 수 있는데 단점은 DHCP를 기본적으로 지원하지 않기 때문에 IP address를 수동으로 지정해 줘야 하는 것이다.

일단 arduino의 samples중에 ethernet에 속해있는 아무거나 선택해서 다운로드 하고 컴퓨터에서 ping을 날려 보았다.


일단 ip address만 할당되고 나면 arduino에 어떤 프로그램이 실행되는가 관계 없이 모듈이 ping에 대한 응답을 해 준다.


예제중에 WebServer를 실행하고 컴퓨터의 웹 브라우져에서 접속한 화면이다. 이 예제는 arduino의 아날로그 입력을 브라우져에서 볼 수 있게 해 준다.

모듈은 기본적으로 3.3V에서 동작하게 되어 있지만 5V I/O tolerant 하다. 그래서 이번에는 전원도 5V를 넣고 실험을 해 봤는데 별 문제는 없었지만 모듈이 조금 많이 뜨거워 진 것 같아서 3.3V 레귤레이터를 사용해 줘야겠다.

Posted by nautes

댓글을 달아 주세요

  1. 2009.05.13 17:05 신고

    좋은 정보 이군요~ !!

  2. 2009.05.13 20:50

    I/O TTL(5V) tolerant는 IO핀들이 5V를 견딜 수 있다는 것으로 모듈에는 3.3V를 넣어 주셔야 되요! :)
    아두이노 이더넷 라이브러리가 메모리를 얼마나 사용하는지 혹시 알 수 있을까요?

    • 2009.05.14 05:33 신고

      예..그건 알고 있긴 한데 당장 테스트하려고 할 때 regulator를 구할데가 없어서 그냥 해 봤죠. ^^;

      Arduino에서 라이브러리만 따로 컴파일하는건 방법을 모르겠고 chatserver(그냥 echo해주는 제일 간단한 예제) 돌리면 4442 byte 나오는걸로 봐서 대략 순수하게 라이브러리만이면 한 4K정도 될거 같습니다.

무선랜을 사용하는데 거리가 멀어지면 수신감도가 급격하게 떨어져 버린다. 그래서 신호강도가 어느 이하로 떨어지면 연결 자체가 유지되지 못하고 붙었다 끊어졌다를 반복하게 된다.

현재 위치에서의 무선 상태는 D-link DWL-G122를 사용하면 공유기가 아예 안보이고 macbook pro의 에어포트를 사용하는 경우 안테나 방향(즉 액정화면이 어느쪽을 보고 있는가), 기온, 외부의 전파 잡음등에 따라 연결이 되다 말다 하는 정도라 안정적으로 인터넷에 연결할수가 없었다.

예전부터 가지고 있던 외부 안테나와 외부안테나 커넥터가 있는 Orinoco PCMCIA 무선랜카드는 맥에는 expresscard 34슬롯밖에 없어서 사용할 방법이 없었다. 2.4GHz 외부안테나를 몇개 가지고 있지만 다들 RP-SMA female 타입의 커넥터를 가지고 있고 RP-SMA male to MMCX male cable로 Orinoco에 연결을 하게 되어 있다.

그래서 일단 USB무선랜(DWL-G122)에 외장 안테나를 붙여보기로 마음을 먹었다. 인터넷을 뒤져본 다음 케이스를 열어보니 안테나 부분은 다음과 같았다.

사용자 삽입 이미지

사진의 가운데가 외부 안테나를 연결할 수 있는 커넥터이고 오른쪽의 가운데에 파란색 선이 그어져 있는 부품이 칩 안테나이다. 다만 문제는 U.FL female타입의 커넥터라 현재 가지고 있는 MMCX 커넥터를 사용할 수 없었다. 다른 방법으로는 패턴의 녹색부분을 긁어내고 직접 케이블을 납땜하면 되는데 그것 보다는 그냥 ebay에서 U.FL male to RP-SMA male cable을 주문하기로 했다. 이 케이블이 배달되면 위의 회로에서 칩 안테나만 뗘 내고 케이블을 커넥터에 꼽아주기만 하면 된다.

사용자 삽입 이미지

일단 주문한 케이블이 오려면 약 2주정도 기다려야 할 거 같아 집에서 구할 수 있는 재료만으로 간단하게 무선신호 감도를 높일 수 있는 반사판을 만들었다.



재료는 적당한 크기의 골판지 박스, USB확장 케이블, 테입, 알미늄 호일만 있으면 된다.
먼저 골판지를 적당히 자르고 가운데 USB 확장케이블을 꼽아 줄 수 있는 구멍을 내고 그 구멍 뒤쪽을 타원형으로 잘라준다. 그 타원형 부분에 종이를 둘러주고 종이의 뒷면에 알미늄 호일을 붙여주면 된다.
말로 설명하는 것 보다 만들어 놓은 사진을 보면 쉽게 이해가 될 것이다.

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

순전히 집에 있는 재료만으로 만들어서 별도의 재료비는 하나도 들지 않았다.
컴퓨터에 연결해서 확인해 본 결과는 놀랄만큼 좋았다. 무선 신호 계측기가 없어서 수치적으로 비교할수는 없었지만 Macbook pro에서 잡히지 않던 무선랜이 안정적으로 연결되었고 연결이 끊어지는 현상도 나타나지 않고 있다.
원래 omni-directional(특별히 방향성 없는) antenna의 뒤쪽에 일종의 반사판을 붙여 directionl antenna로 바꿔준 것이기 때문에 상자의 방향을 돌려가며 가장 신호 감도가 좋게 나오는쪽으로 놓고 사용하면 된다.

지금 현재만으로도 꽤 만족할만한 결과가 나와서 주문한 커넥터 케이블이 도착한 다음 외부 신호증폭 안테나를 사용하고 뒤쪽에 반사판을 붙였을 경우의 성능향상이 크게 기대된다.
추후 그 결과에 대해서도 여기에 업데이트 할 예정이다.

* Mac 사용자의 경우 D-link는 DWL-G122용 맥 디바이스 드라이버를 지원하지 않는다. 대신 Ralink에서 2500시리즈용 mac os x 드라이버를 설치하면 된다. 다운 받아보면 10.3/10.4용 드라이버만 있는데 10.4를 설치해도 10.5에서도 잘 동작한다. 현재 os x 10.5.3을 사용하고 있는데 별다른 문제는 없었다.
Posted by nautes

댓글을 달아 주세요

  1. 2008.10.03 07:22

    잘 보고 갑니다.
    이런 방법이 있었군요.
    근데 ebay에서 주문한 U.FL male to RP-SMA male cable이 아직 안 왔나 봅니다.
    설치되어 있는 모습도 보고 싶습니다.^^
    감도도 얼마나 늘었는지 궁금하고요,
    혹시 시간되시면 댓글이라도 좀 달아주십시요.ㅋㅋ
    초면에 이거 여러가지 부탁드려서 죄송합니다.^^;;;

  2. 2008.10.07 10:33

    멋진 방법이네요.. 항상 하고는 싶었느데 이런방법이 있다니.. 저도 오늘 꼭 해봐야 겠네요.. ^^ 다음버전이 기대 됩니다.

이전버튼 1 이전버튼