close
  • 홈
  • :
  • 위치로그
  • :
  • 태그
  • :
  • 방명록
  • :
  • 관리자
  • :
  • 새글쓰기
블로그 이미지

이슬나라 [isulnara.com]
프로그램 관련 문의...
전체 (208)
자작 프로그램 (24)
EzIP (3)
IEPageSetup (3)
iSysInfoX (2)
메신저 알림이 (1)
ezSVC (1)
WebFTP (2)
iDebugX (1)
기타 (10)
버그 신고 (1)
이것저것.. (55)
WebFTP 게시판 (0)
팁 모음 (77)
linux (21)
프로그래밍 (36)
윈도우 (5)
네크워크 (7)
기타 (7)
윈도우 숨은.. (4)
터미널 서비스.. (1)
공개 웹하드 (1)
관리자 (0)
PC 원격제어.. (1)
NAS (43)
«   2012/05   »
일 월 화 수 목 금 토
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
pid 웹디스크 맥어드레스 쉘스크립트 알콘 iso mantis MAC Address 태터툴즈 bin Prototype 알림이 openSUSE11.3 MD5 ShrinkToFit zotac 메신저 atom dsm 3.2 HistoryRecord Pixels max_allowed_packet xbmc dspack arm sqlite serial 부팅 이미지 SIP rsync
[ezLink] 동시 접속수...
ezLink 1.2.1.2 정식... (5)
MD5 CRC 체크섬.
Apache, Subversion...
CentOS에 MongoDB 설치.
안녕하세요.. 알려주신...
isul / 05/15
너무 좋은 프로그램 잘...
김진수 / 05/12
직접 해결하셨네요.. 다...
isul / 05/01
var winOpen = window.op...
Mulgom / 04/30
이슬님 덕에 무난하게 출...
Mulgom / 04/30
black hat software.
black hat software / 04/25
일반 어플리케이션을 서...
ㅇㅇ/ / 2009
사이코웨어 : nProtect,...
√ MIRiyA's AstraLog / 2008
웹페이지에서 인쇄시 머...
醉生夢死™ / 2006
웹페이지에서 MAC Addres...
날자~!! 날어~!! / 2005
 최근글 목록
 2011/11 [2]
 2011/10 [3]
 2011/09 [1]
 2011/07 [3]
 2011/06 [1]
넷하드 - NAS 카페
무료 원격제어 프로그램
블로그가 뭥미?
솔라리스 테크넷
스티브 맥코넬
시놀로지 NAS 카페
하얀나무 - 캠핑 전문 쇼핑몰
하얀나무's Story
Total of
482283 visitors
Today 117
Yesterday 196
 
글검색결과[시리얼통신] : 1
2010/07/29  안드로이드(Android) 에뮬레이터(emulator)에서 시리얼 통신하기 (10)
     
 팁 모음/프로그래밍 
안드로이드(Android) 에뮬레이터(emulator)에서 시리얼 통신하기
Posted on 2010/07/29 18:30
 
 
 
 
에뮬레이터 실행
C:\android\tools\emulator.exe -avd Android.2.0.1 -verbose -qemu -serial COM4

안드로이드 에뮬레이터에 쉘 접속
c:\adb kill-server
c:\adb devices
C:\adb shell

안드로이드 에뮬레이터 쉘에서 명령 실행
#cd /data/bin
# ./busybox microcom -s 300 /dev/ttyS2
./busybox microcom -s 300 /dev/ttyS2
connected to '/dev/ttyS2' (300 bps), exit with ctrl-X...
*0100P3
*000114.2696
*0100P3
*000114.2695

시리얼 통신용 프로그램을 만들어서 테스트
# ./seriald
./seriald
 ttyS0 ttyS1 ttyS2
recv: *000114.2712
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
android, emulator, serial, 시리얼통신, 안드로이드, 에뮬레이터
Trackback [0] : Comment [10]
TrackbackAddress
http://isulnara.com/tt/trackback/223
소바 수정/삭제 답변하기
2010/09/08 11:10
안드로이드 기반에서 시리얼 통신에 관한 정보를 찾다 글을 보고 왔습니다만
잘 이해가 안되서 글 올립니다.
현재까지 수집한 정보로 안드로이드에서는 시리얼 통신이 안된다고 알고 있었는데 사용할수 있는 방법이 있으면
정보를 얻고 싶습니다.
무례한 부탁일지도 모릅니다만 안드로이드에서 시리얼 통신을 할수 있는 방법이 있으면 자세히좀 알고 싶습니다.

sobakr@gmail.com
BlogIcon isul 수정/삭제
2010/09/08 12:36
안드로이드에서도 시리얼 통신이 됩니다.

자바로 앱을 만드는 경우와 C나 Pascal 같은 언어로 개발하는 방법 등이 있습니다.
먼저 C나 Pascal 같은 언어로 개발하는 경우에는 일반적으로 PC에서 시리얼 통신 프로그램을 개발하는 것과 동일하며, 크로스 컴파일만 하면 됩니다. 에뮬레이터에서 테스트하기 위해서 장치만 /dev/ttyS2로 설정했습니다.
전 프리 파스칼로 개발했습니다.

자바로 앱을 만들 경우는 조금 복잡합니다. 기본 API에 시리얼통신 관련된 것이 없습니다. 그래서 NDK를 이용하여 C로 시리얼통신을 하는 라이브러리(*.so)를 만들고, 자바에서 JNI를 이용하여 그 라이브러리를 불러다 사용해야 됩니다.
저는 NDK를 이용하여 시리얼 포트를 제어하는 함수를 만들고 그 함수를 JNI를 이용하여 자바로 만든 앱에서 호출했습니다.(회사에서 안드로이드 기반 하드웨어를 개발하고 있는 중이라서 에뮬레이터에서만 동작됨을 확인했습니다)
구글에서 배포하는 NDK 예제 소스가 있으니 참고하시면 됩니다.

NDK나 JNI를 이용하지 않는 방법으로는 C나 Pascal 같은 언어로 시리얼 통신용 프로그램(데몬)을 만들고, TCP Server를 띄우고, 자바로 만든 앱에서 localhost TCP Server에 접속하여 데이터를 요청하면 C로 만든 프로그램(데몬)에서 시리얼포트를 통하여 데이터를 받고, 다시 앱으로 넘겨주는 방법도 있습니다.
수정/삭제 답변하기
2011/09/21 10:57
관리자만 볼 수 있는 댓글입니다.
BlogIcon isul 수정/삭제
2011/09/21 22:16
안녕하세요.
아래 사이트에 들어가시면 NDK 받을 수 있고, 그 안에 예제 소스가 많이 들어가 있습니다. c로된 라이브러리와 안드로이드 앱에서 불러오는 예제 모두 있습니다.
http://developer.android.com/sdk/ndk/index.html
수정/삭제 답변하기
2011/09/29 10:12
관리자만 볼 수 있는 댓글입니다.
BlogIcon BongGyun 수정/삭제 답변하기
2011/11/02 17:38
안녕하세요.
안드로이드 기반 장치에서 시리얼 통신 관련 정보를 검색하다보니 이글에 오게되었네요.

에뮬레이터에서 실행하는 것을 따라해보고있는데
시리얼포트를 열때 실패하게되네요;

혹시라도 저와 같은 에러 겪으신적있는지,,

에러는 아래와 같습니다.
Failed CreateFile (2)
ko:qemu: could not open serial device 'COMxx'
BlogIcon isul 수정/삭제
2011/11/04 11:06
C:\android\tools\emulator.exe -avd Android.2.0.1 -verbose -qemu -serial COM4
에러가 위 명령에서 발생하는지요?
먼저 하이퍼터미널 같은 프로그램으로 해당 COM 포트가 오픈되는지 먼저 확인해보세요..
위 명령을 내리기 전에 해당 포트를 오픈하고 있는 다른 프로그램이 있어서는 안되며, -avd 다음에 나오는 Android.2.0.1은 생성하신 Android Virtual Device 명으로 설정해야 됩니다.
BlogIcon BongGyun 수정/삭제 답변하기
2011/11/04 15:43
답변감사합니다.
해당 명령에서 에러가 발생하는것이 맞고, avd의 명칭도 제가 생성한 것으로 잘 작성하엿는데 에러가 납니다...
C#을 이용하여 간단히 시리얼포트 프로그램을 작성하여 테스트를 해보니, 잘 작동합니다.

안드로이드로 시리얼 통신을 해야하는데,, 정말 갈길이 멀고 막막하네요
BlogIcon isul 수정/삭제
2011/11/08 00:28
저도 왜 에러가 발생되는지 모르겠네요..
Win이라면 관리자 권한으로 실행되었는지도 확인해보시고, 시리얼 포트도 한 번 변경해보세요.
그리고, 제가 블로그에 게시한 시리얼 통신 방법은 단독으로 동작되는 실행 프로그램 형식입니다.
혹시나 앱에서 시리얼 통신을 해야 된다면 위와 같은 방법으로 하는 것보다는 JNI를 이용하는 방법이 좋을 것입니다.
BlogIcon BongGyun 수정/삭제 답변하기
2011/11/08 11:00
일단 에러는 해결하였습니다!
COM포트가 13에 잡혀있었는데 1로 변경하니 성공했네요;;

감사합니다
SecretComment
  1