2014-06-19 3 views
1

직렬 포트 (RS232)를 통해 내장형 장치에서 iPhone으로 데이터를로드하는 방법을 찾고 있습니다. 앱은 앱 스토어에 있어야하며 우리 회사는 MFI 프로그램의 일부가 아닙니다.BTLE 4.0 - ConnectBlue 저에너지 직렬 포트 서비스

당신이 말하기 전에, 그것을 할 수 없다, 우리는 가능한 해결책으로 블루투스 Low Energy 4.0을 조사하고있다. ConnectBlue의 OBS421 모듈을 직렬 포트 어댑터로 전환 할 수있는 장치를 만들 수 있습니다 (속도 버스트 제한 포함). 그 결과, connectBlue는 자신의 protocol을 Serial Port Service라고 부릅니다. 그러나 매우 높은 수준에서만 문서화되어 있습니다.

  1. 누구나이 프로토콜을 사용해 본 경험이 있습니까? 그렇다면 이러한 방식으로 의사 소통을 설정하는 예제 (목적 C) 코드를 제공 할 수 있습니까?
  2. 누구든지 Apple에 MFI 규칙을 위반하여 거부하지 않고이 작업을 수행하는 앱을 제출 했습니까?

하나 더 질문 .. 내가 연결하려고하는 장치는 EZII 이스케이프 컴퓨터 명령 세트 표준 ("EZ2 2.0"이상의 PROG ID)에서만 직렬 명령을 지원합니다. 그들은 일반적인 ATT-Commands와 다르게 보입니다. 예 : <ESC>Gc100<EOT>. ConnectBlue의 LE-SPS를 통해 그러한 명령을 보낼 수 있다면 어떨까요?

귀하의 도움에 감사드립니다. 감사합니다.

+0

이 모듈을 작동시킬 수 있었습니까? – tl8

+0

제대로 작동하고 Appstore에서 승인되었습니다. 필요한 것은 직렬 스택이며 장치와 통신하기 위해 직렬 스택을 올바르게 구성해야합니다. 이상한 패리티를 지원하지 않기 때문에 문제가 발생했으며 손으로 패리티 검사 알고리즘을 수행해야했지만 작동합니다. – Fervus

답변

3

필자는이 프로토콜을 사용하지 않았지만 설명서에서는 매우 간단합니다. 핵심 - 블루투스 예 중 하나를 취하고이를 상당히 빠르게 적용 할 수 있어야합니다. 서비스를 제공하고있다

당신은 주변에 대한 볼 필요가

0x2456e1b926e28f83e744f34f01e9d701이 서비스는 두 가지 특징 노출

- "크레딧"만약의 직렬 포트

  • 0x2456e1b926e28f83e744f34f01e9d704에 & 쓰기를 읽을

    • 0x2456e1b926e28f83e744f34f01e9d703을 당신은 흐름 제어가 필요합니다. 본질적으로이 값은 장치에 보낼 수있는 바이트 수를 나타내며 장치에서 수신 할 준비가되어있는 바이트 수를 나타내는 값을 쓸 수 있습니다.

    장치는 전체 8 - 비트 데이터 경로, 그래서 나는 왜 직렬 명령을 보내는 데 문제가 있을지 모르겠다.

    블루투스 로우 에너지는 MFI 프로그램에서 specifically excluded, 그래서 당신은으로 거부되지 않습니다 -

    가 난 단지 블루투스 낮은 에너지를 사용하여 애플 장치 와 통신 액세서리를 개발하고자 . MFi 프로그램에 가입해야합니까? 아이폰 OS에 의해 만 지원 블루투스 낮은 에너지/BTLE/블루투스 4.0 표준 블루투스 프로파일을 사용하여 애플 장치에 연결

    번호 액세서리는 MFi가 프로그램의 일부가 아닙니다.

  • 0

    Bluetooth Low Energy에는 표준 프로토콜로 정의 된 SPP가 없습니다. GATT 서비스/특성을 사용하여 직접 프로그램해야합니다. 128 비트 UUID를 생성하면됩니다 (Google에서는 UUID 생성기가 많으며 Mac 또는 Linux에서도 명령 프롬프트에서 생성하기 쉽습니다)

    GATT는 데이터의 작은 덩어리를 보냅니다.이 덩어리는 상대방에서 연결해야합니다.

    BLE의 처리량은 Bluetooth Classic SPP에 비해 상당히 낮습니다. 아마 약 3kbytes/sec.

    +0

    그 처리량은 실제로 내 요구에 잘 맞습니다. 나는 실제로 직렬 RS232 포트와 통신 할 필요가 있고 그 중 하나는 최대 9600의 보오율을 가지고있다. 속도에 대한 걱정은 없다. – Fervus