konashi를 SDK없이 사용

konashi는 친절하게도 문서로 서비스(Service)나 캐릭터리스틱(Characteristic)의 사양을 공개해 주기 때문에,
  • 처리 - 독면 ts

  • 공식적으로 제공되는 iOS SDK를 사용하지 않고도 Core Bluetooth에서 직접 연결 및 통신할 수 있습니다.

    konashi

    소리 posted with amazlet at 14.02.04

    스위치 과학 매출 랭킹: 17,884

    Amazon.co.jp에서 ​​자세히 보기


    konashi의 SDK는 Core Bluetooth의 얇은 래퍼이므로 전혀 SDK를 사용하여 불편함을 느끼지 않습니다. SDK없이 연결할 수 있음을 알 수 있다는 장점이 있을까 생각합니다.

    방법



    매우 간단합니다. 우선, 보통 2대의 iOS 디바이스간에 접속·통신할 수 있도록 Core Bluetooth로 만들어 두고, 나머지는

    중앙 (iOS 앱)에서 주변 장치 (konashi)를 찾을 때 서비스의 UUID로 "0xFF00"을 사용합니다.

    그냥.

    그러나 genuuid 명령에서 생성된 UUID와 같이 문자열에서 CBUUID 객체 생성은
    CBUUID *uuid = [CBUUID UUIDWithString:@"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx"];
    

    하지만,

    konashi와 같이 16진수 UUID에서 CBUUID 객체를 생성하는 경우 다음을 수행합니다.
    UInt16 temp = uuid16 << 8;
    temp |= (uuid16 >> 8);
    
    NSData *data = [[NSData alloc] initWithBytes:(char *)&temp length:2];
    CBUUID *uuid = [CBUUID UUIDWithData:data];
    

    그리고는, scanForPeripheralsWithServices:options: 하는 때에 이 서비스를 지정하는 것도 좋고, centralManager:didDiscoverPeripheral:advertisementData:RSSI: 가 불려 갔을 때에 이 서비스를 제공하고 있을지 어떨지를 판정하는 것도 좋습니다.

    konashi의 characteristic



    캐릭터리스틱은 konashi와 상호 작용하는 정보의 종류별로 정의됩니다.
    // PIO
    #define KONASHI_PIO_SETTING_UUID                                0x3000
    #define KONASHI_PIO_PULLUP_UUID                                 0x3001
    #define KONASHI_PIO_OUTPUT_UUID                                 0x3002
    #define KONASHI_PIO_INPUT_NOTIFICATION_UUID                     0x3003
    #define KONASHI_PIO_INPUT_NOTIFICATION_READ_LEN                 1
    
    // PWM
    #define KONASHI_PWM_CONFIG_UUID                                 0x3004
    #define KONASHI_PWM_PARAM_UUID                                  0x3005
    #define KONASHI_PWM_DUTY_UUID                                   0x3006
    
    // Analog
    #define KONASHI_ANALOG_DRIVE_UUID                               0x3007
    #define KONASHI_ANALOG_READ0_UUID                               0x3008
    #define KONASHI_ANALOG_READ1_UUID                               0x3009
    #define KONASHI_ANALOG_READ2_UUID                               0x300A
    #define KONASHI_ANALOG_READ_LEN                                 2
    
    // I2C
    #define KONASHI_I2C_CONFIG_UUID                                 0x300B
    #define KONASHI_I2C_START_STOP_UUID                             0x300C
    #define KONASHI_I2C_WRITE_UUID                                  0x300D
    #define KONASHI_I2C_READ_PARAM_UIUD                             0x300E
    #define KONASHI_I2C_READ_UUID                                   0x300F
    
    // UART
    #define KONASHI_UART_CONFIG_UUID                                0x3010
    #define KONASHI_UART_BAUDRATE_UUID                              0x3011
    #define KONASHI_UART_TX_UUID                                    0x3012
    #define KONASHI_UART_RX_NOTIFICATION_UUID                       0x3013
    #define KONASHI_UART_RX_NOTIFICATION_READ_LEN                   1
    
    // Hardware
    #define KONASHI_HARDWARE_RESET_UUID                             0x3014
    #define KONASHI_HARDWARE_LOW_BAT_NOTIFICATION_UUID              0x3015
    #define KONASHI_HARDWARE_LOW_BAT_NOTIFICATION_READ_LEN          1
    

    예를 들어 iOS 앱과 konashi를 연결한 상태에서 konashi의 스위치를 누르면,
    KONASHI_PIO_INPUT_NOTIFICATION_UUID 0x3003
    

    라고 정의되고 있는 캐릭터리스틱이 peripheral:didUpdateValueForCharacteristic:error: 로 관측됩니다.

    참고 정보



    konashi iOS SDK는 소스가 완전히 공개되어 있으므로 직접 구현하는 경우에 유용합니다.
  • 유카이 / 코나이 - 이오 sdk

  • ※iOS와 연계하는 디바이스의 SDK는 대체로 빌드된 정적 라이브러리 밖에 제공되지 않는 경우가 많다

    konashi는 무엇입니까? 라고 하는 분, 혹은konashi의 iOS SDK를 사용한 제휴 방법을 알고 싶은 분은 아래 기사를 참조해 주세요.
  • 제1회 「konashi」와 iOS 어플리를 연계시킨다: iOS 어플리와 제휴시켜 사용할 수 있는 디바이스들|gihyo.jp

  • 서비스나 캐릭터리스틱이란 무엇인가? 라는 분은 이쪽을.
  • Core Bluetooth 프로필에 대해 알아본 내용 요약

  • konashi는 최근 아마존에서도 구입할 수있는 것 같습니다.

    konashi

    소리 posted with amazlet at 14.02.04

    스위치 과학 매출 랭킹: 17,884

    Amazon.co.jp에서 ​​자세히 보기


    기타, BLE 관련 기사


  • iOS Core Bluetooth/BLE 통신 속도
  • Bluetooth 4.0 및 Bluetooth Low Energy(BLE)에 대한 기술 정보 요약
  • Bluetooth Low Energy (BLE) 서비스/캐릭터릭스 구성 예 목록
  • Core Bluetooth/BLE로 음성 데이터 교환
  • 좋은 웹페이지 즐겨찾기