블루투스 시리얼 프로그래밍 질문입니다.

knumis의 이미지

안녕하세요~

블루투스 모듈간 시리얼 통신프로그램을 작성하고자 합니다.
자료는 간혹 있는데, 그대로 해봐도 잘 실행이 안되네요. ㅠ_ㅠ

스펙에 따르면,
통신해야 되는 타겟 디바이스는 Access Point와 통신하기 위해
SDP프로토콜과 SPP 서비스를 만족하며,
통신을 초기화하는 마스터로 동작합니다.

제가 구현해야 하는 부분은 슬레이브로 동작하는 단말입니다.
시리얼 포트를 오픈하듯이 디바이스를 오픈하고,
타겟디바이스로부터 데이터를 수신하려고 하는데,
어떻게 설정을 해야할지 모르겠습니다.
(open 호출시 디바이스명으로 어떤 인자를 주어야 할지 등등..)

BlueZ를 활용하면, 에뮬레이트된 시리얼포트 연결을 만들고 사용할 수 있다는데,
그 절차나, 사용되는 라이브러리 인터페이스 혹은 명령행 유틸리티 등을
알고 계신 분이 있다면 답변 좀 부탁드리겠습니다.

고수님들 도와주세요~

라키시스의 이미지

API 등은 자세히 모릅니다만,
일반적인 블루투스 통신을 위해서 밟아야 하는 절차에 관해서는 말씀드릴 수 있습니다. (도움이 될지 모르겠습니다만...)

slave가 SDP를 이용하여 master가 특정 프로파일을 가지고 있는지 조회합니다.
시리얼 통신을 사용하실 것이라면, Serial Profile이 되겠지요. (이걸 SPP라고 줄여 부르던가요.. 기억이 희미하네요. 앞으로 SPP라고 지칭하겠습니다)
만약 master가 SPP를 가지고 있다면, positive 응답이 올 것입니다.
그러면, SDP를 이용하여 master가 SPP를 서비스하고 있는 Rfcomm channel number(용어가 정확한지 모르겠습니다. port number라고 하던가요?)를 얻어옵니다.
그리고, 얻어온 Rfcomm port number로 Rfcomm 접속을 시도합니다.
접속 후 생성된 채널을 통해서 데이터를 read/write하시면 됩니다.

대략 위와 같은 시나리오(?)를 염두에 두시고 라이브러리가 제공해 주는 API를 호출해서 사용하시면 될 겁니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.