2017-09-27 9 views
0

학생 프로젝트의 경우, 우리는 블루투스 LE 장치 (전송 및 수신)를 iPhone 또는 iPad에 연결하여 데이터를 읽고 사용자에게 표시하기 위해 노력하고 있습니다 실시간. 우리는 이것이 장치를 만든 회사에 의해 행해질 수 있다는 증거가 있습니다. 우리는 실제로 연결을하고 데이터를 얻습니다. 그러나 5-10 초마다 ping을 수행하고 최소한의 변경으로 숫자의 임의의 부분 집합 인 것으로 보입니다. 우리를 아무 것도 지혜롭게하지 못하는 장치에서 뭔가를 바꾼 후에.'활성화'블루투스 LE 에너지 데이터 스트림

이제 우리는 장치와 응용 프로그램을 만든 회사에 갔었는데 우리는 하드웨어 사용에 대한 승인을 받았지만 함께 사용할 수있는 SDK/API를 얻을 수 없었습니다. 응용 프로그램. 그래서, 우리의 계획은 그것을 통해 우리 자신의 길을 만들고 우리가 필요로하는 것을 발견하는 것입니다.

이것이 우리가 붙어있는 곳입니다. 우리는 다음과 같습니다

  • 연결 이름 또는 Bluetooth 장치 주소를 기반으로합니다 (CoreBluetooth 문서에 기술 된대로 서비스가 그 안에 서비스가 경우와 계단식 스캔)
  • 스캔 서비스
  • 말했다의 특성을 읽기 서비스.
  • 값을 8 비트로 암호 해독하여 UInt가 실제 읽을 수있는 데이터를 얻습니다.

이이 들어 오면 우리가 여전히 값을 가지고 무엇의 예입니다.

Service: 0x1c0476440, is Primary = yes. UUID: 058d0001-ca72-4c8b-8084-25e049936b31 
value <53636da1 7a616c74 73616c74 73616c74 73616c27> 

자,이 모든보고, 나는 여기에 서비스가 체재 '의 일종 추정 alive 'ping을 실행하면 장치의 현재 상태에 대한 몇 가지 보조 정보가 제공됩니다.

우리가 다음이 문제는이 아래로 비등 :

우리가 어떻게 더 장치를 '탐험'할 수 있습니까? 중 16 진수의 값이

{058d0001-ca72-4c8b-8084-25e049936b31}[6] 

: 우리는 그러나 우리는이 (예)처럼 히트의 몇 가지를 얻을 창에서 장치 관리자에서 찾고 이것을 제외하고 추가 출력을 받고있는 것으로 보이지 않는다 값, 명확한 식별자가없는 부울 또는 datetime. Swift를 사용하여 uuid의 값을 변경하기 위해 기기에 메시지를 보내는 방법이 있습니까? 아니면 불가능합니다.

+0

관심있는 특성을 인쇄 할 수 있습니까? 서비스는 "살아 남는다"고해서는 안되며, 변경 사항에 대한 구독 가능성 ('setNotify :()')과 같은 특성이있을 수 있습니다. 그리고 아마도 모드를 변경하기 위해 글을 쓸 곳이있을 것입니다. – Larme

+0

App Store의 LightBlue 앱을 사용하여 주변 서비스 및 특성을 탐색 할 수 있습니다. – Paulw11

+0

@Larme 답장을 보내 주셔서 감사합니다.지난 한 달 동안 그것에 더 깊이 들어가면 그것이 살아 있다고 말하는 신호 일뿐입니다. 또한 내부적으로 소금으로 암호화되어 있습니다. 조금을 위해 근무하는 데, 우리는 다음 않았다 : 모든 특성 로그인 블루투스 트래픽 및 지금까지 그것을 을 분석 모든 서비스 인쇄를 인쇄를, 우리는 '에서'아직 아니지만 우리는에 있어요 그것이 우리에게 유용하다는 것을 지적하십시오. – Veraduxxz

답변

0

지금 해결되었지만 답변으로 인정하지 않습니다. 내 해결책? 시도해보십시오. 멍청한 '바늘에 바늘'물건.

나는 058d0001-ca72-4c8b-8084-25e049936b31 2 -ca72-4c8b - 8084-25e049936b31

봐라 058d000까지 UUID를 변경했습니다. 나는 더 많은 것을 할 수 있었다. 나는 3 번, 또 다시 새로운 결과와 작업 데이터 스트림을 시도했다 ...

@ Paulw11의 의견은 우리가 알아 낸이 문제를 해결하는 좋은 방법이다.