[Proramming]/Android2011. 10. 3. 13:30

[Android] 이더넷 WiFi모듈을 이용한 서보모터 제어

[Android] 이더넷 WiFi모듈을 이용한 서보모터 제어


Android를 이용한 하드웨어 제어를 위한 두번째 방법으로 이더넷(WiFi) 가 가능하다. Android Phone은 기본적으로 WiFi가 가능하므로 TCP/IP 소켓 프로그래밍을 이용하면 네트웍으로 연결되 장치를 제어 할 수 있다.

Android 에서 TCP/IP을 이용하여 우선 간단하게 테스트 할 수 있는 보드로 WiFi t(Wiz600) 모듈을 이용한다. WiFi AP기능을 하기 때문에 Android에서 접속 해서 무선으로 제어 가능하다.


WiFi to Serial 모듈을 USB2UART 커넥터에 연결하고 Servo Motor를 연결한다.



Android Phone에서 WiFi를 검색하면 WLANAP를 찾을 수 있고 접속할 수 있다.





Android TCP/TP Socket 통신 프로그램 작성




Andoid TC/IP 테스트 동영상

Posted by nexp

댓글을 달아 주세요

  1. 안녕하세요

    서버모터. 혹은 제가 작동하고 싶을때 모터를 움직이고 싶은데요. 제가 서버모터 나 뭐든 잘 모르겠습니다.
    질문이 몇개 있습니다.
    1. 버튼 누를떄마다 잉잉거리는 것이 서버 모터인가요? 아니면 저 메인보드 를 서버모터라고하나요??

    2. 저 제품을 제가 얻고 싶은데 안드로이드용 앱과 서버모터 둘다 어디서 구할 수 있나요?>

    2011.11.22 22:40 [ ADDR : EDIT/ DEL : REPLY ]
    • 위 예제는 RC ServoMotor 입니다.
      출력 펄스의 폭에 따라 모터의 각도가 제어되는 모터 입니다.

      판매용 제품은 아니구요. 테스트용으로 제작해 본 보드 입니다.
      좀더 자세한 사항은 메일 주세요

      2012.07.24 22:52 신고 [ ADDR : EDIT/ DEL ]
  2. 비밀댓글입니다

    2012.07.23 18:54 [ ADDR : EDIT/ DEL : REPLY ]
    • http://nexp.tistory.com/1448 를 보시면 Android에서 TCP통신에 관련된 주의 사항과 예제 소스를 찾을 수 있습니다. 참고 하세요

      2012.07.24 22:49 신고 [ ADDR : EDIT/ DEL ]
  3. ^^

    관리자의 승인을 기다리고 있는 댓글입니다

    2012.08.27 02:04 [ ADDR : EDIT/ DEL : REPLY ]

[MCU]/CANTUS2011. 9. 3. 08:14

[CANTUS EVM] WiFi 모듈 테스트 - 무선랜을 이용한 DAQ (24bit ADC) 테스트

[CANTUS EVM] WiFi 모듈 테스트 - 무선랜을 이용한 DAQ (24bit ADC) 테스트


Serial to WiFi Module (WIZ6100wi)을 이용하여 무선 데이터 수집 장치를 만들어 보았다.
무선랜을 간편하게 사용할 수 있는 WiFi모듈을 이용하면 고속의 데이터를 인터넷으로 손쉽게 수집할 수 있다.

MCU는 저렴하고 RAM이 풍부한 ADChip사의 CANTUS를 이용하고 USB2Serial 커넥터에 WiFi모듈을 연결 하였다.


데이터 수집은 SPI인터페이스의 24비트 ADC모듈을 이용하고 펑션으로 사인파를 입력 하여 테스트 했다.



무선랜 접속
WIZ610은 AP기능이 있어 PC에서 클라이언트 형태로 접속 가능하다. 자세한 환경 설정은 . [WiFi to Serial 모듈 설정]  부분을 참고 한다.

WiFi모듈의 기본 IP는 192.168.1.254 로 접속해서 TCP/IP통신을 하면 MCU쪽에서는 시리얼 형태로 데이터를 수신 할 수 있다. 최대 전소 속도는 1Mbps까지 가능하다.


PC프로그램 작성
무선랜 모듈에 접속하기 위해 TCP/IP프로그램을 작성하면 되는데... 여러 형태로 작성 가능하지만 우선 간단하고 UI 를 쉽게 작성할 수 있는 C#을 이용하였다.


테스트를 위해 간단히 CANTUS EVM의 LED를 On/Off하고 수집한 24bit ADC값을 그래프로 표시하도록 했다.



펌웨어 작성
MCU(CANTUS EVM)쪽 펌웨어는 WiFi모듈을 시리얼로 인식하기 때문에 간단하게 작성할 수 있다.
시리얼 포트로 특정 커멘드를 받으면 동작하도록  처리한다.

  if(U0_IsGetByte())
  {
   switch(U0_GetByte())
   {
    case '2':
     DebugPrint("Led1 Off\r\n");
     Led1Off();
     break;

    case '3':
     DebugPrint("Led1 On\r\n");     
     Led1On();
    break;
    
    case '4':
     DebugPrint("Led2 Off\r\n");
     Led2Off();
     break;

    case '5':
     DebugPrint("Led2 On\r\n");
     Led2On();
    break;
        
    case '6':
     //ADC값 전송 시작
     adc_send_flag ^= 1;
    break; 


ADC값은 타이머 인터럽트를 이용하여 시리얼 포트로 보내면 WiFi로 전송이 된다. 아주 간단하게 WiFi 통신이 가능하다.
  if(adc_send_flag)
  {
   //ADC값 전송
   if(gTimeTick1_1ms>10)
   {
    DebugPrint("ADC=%d\r\n", GetAdc24(0));
    gTimeTick1_1ms = 0;
   }
  }


CANTUS WiFi 테스트 동영상
WiFi를 이용하여 네트웍으로 LED제어하고 24bit ADC데이터 수집 테스트

Posted by nexp

댓글을 달아 주세요

[INTERFACE]/WiFi2011. 8. 5. 10:30

Serial to WiFi모듈 환경 설정 - TCP서버 모드

Serial to WiFi모듈 환경 설정 - TCP서버 모드



무선 네트워그 연결에서 검색하면 "WLANAP"가 검색된다.



연결해서 192.168.1.254에 접속하면 화경 설정이 가능하다.
이때 로그인 아이디와 암호는 admin이다.



시리얼 환경에서 TCP 설정을 할 수 있다. TCP 서버, 클라이언트, UDP로 설정 가능하다.



테스트 하기 위해 하이퍼 터미널의 TCP로 연결하고 서버측은 시리얼로 연결하면 쉽게 테스트 할 수 있다.




CANTUS WiFi 테스트 동영상

Posted by nexp
TAG WIFI, WIZ610

댓글을 달아 주세요

[INTERFACE]/WiFi2011. 7. 25. 18:06

WIZ6100 to Serial 변환 보드 제작

WIZ6100 to Serial 변환 보드 제작



WIZ6100wi 는 Serial to WiFi  모듈로 간단히 WiFi를 구성할 수 있다. 하지만 커넥터가 1.27mm 피치라 기존 MCU에 연결하기가 불편하다. 기존 MCU모듈의 USB to Sreial 모듈 커넥터에 쉽게 연결할 수 있는 변환 보드를 제작 해 보았다.





기존 제작 했던 EVM모듈에 쉽게 연결 가능하다.






2.54mm 간격이라 쉽게 빵빤에 연결 가능하다.



회로도




Posted by nexp

댓글을 달아 주세요

  1. 비밀댓글입니다

    2011.11.15 21:51 [ ADDR : EDIT/ DEL : REPLY ]

[INTERFACE]/WiFi2010. 8. 18. 17:00

[WiFi] OBD2WiFi 보드 테스트

[WiFi] OBD2WiFi 보드 테스트



차량 진단용 OBD스케너를 WiFi 모듈을 이용하여 제작하여 OBD2WiFi 보드를 테스트 했다. Main MCU는 CAN통신도 가능하고 저렴하면서 성능좋는 STM32를 이용하였다.

OBD제작 정리
OBD 데이터를 얻기 위해 CAN통신으로 쿼리를 보내고 그에 대한 응답을 받으면 된다.
1) Host의 CAN ID를  11bit ID 0x7DF 로 설정한다.
2) CAN데이터를 PID리스트에 따라 만들어서 전송한다.
 ex) 차량 엔진온도 : 02 01 05 00 | 00 00 00 00 (데이터바이트:Show:엔진온도 PID)
3)정상적으로 전달되면 0x7E8(ECU)에서 응답이 온다.
 ex)[ID 7E8(0):00:08] : 03 41 05 41 | aa aa aa aa
 - 응답 코드에서 03은 의미있는 데이터수 이고 41은 01(mode) + 40(request) 를 의미 한다. 05는 PID값으로 엔진온도 이고, 마지막 41이 온도값을 나타낸다.


OBD 쿼리 데이터 형식



OBD 응답 형식



OBD2WiFi 테스트 결과
OBD스케너를 이용하여 차량의 속도를 연속적으로 출력 하는 예제 테스트 결과
AutoMode:
[ID 7E9(0):00:08] : 03 41 0d 00 | aa aa aa aa
[ID 7E9(0):00:08] : 03 41 0d 00 | aa aa aa aa
[ID 7E9(0):00:08] : 03 41 0d 00 | aa aa aa aa
[ID 7E9(0):00:08] : 03 41 0d 00 | aa aa aa aa
[ID 7E9(0):00:08] : 03 41 0d 00 | aa aa aa aa
[ID 7E9(0):00:08] : 03 41 0d 00 | aa aa aa aa
[ID 7E9(0):00:08] : 03 41 0d 00 | aa aa aa aa
Posted by nexp
TAG OBD, WIFI, WIZ610

댓글을 달아 주세요

  1. 질문

    관리자의 승인을 기다리고 있는 댓글입니다

    2011.03.25 14:21 [ ADDR : EDIT/ DEL : REPLY ]
  2. 비밀댓글입니다

    2011.04.16 17:43 [ ADDR : EDIT/ DEL : REPLY ]