Home Reference Source
      import { Connection } from 'buildthing-ble-sdk'
    
public class | source

Connection

Extends:

EventEmitter → Connection

Static Method Summary

Static Public Methods
public static

현재 사용중인 Ble 라이브러리를 반환한다.

public static

기기 연결시 미 응답에 대한 Timeout 값을 반환한다.(단위 : ms)

public static

setBLELibrary(coreBle: BLE)

기기 연결에 사용할 라이브러리를 설정한다.

public static

setTimeout(timeout: number)

기기 연결시 미 응답에 대한 Timeout 값을 설정한다.(단위 : ms)

Constructor Summary

Public Constructor
public

constructor(device: Device, password: string)

전달받은 기기와 패스워드로 새로운 커넥션을 초기화한다.

Member Summary

Public Members
public

기기 타입

public

커넥션 할 기기

public

연결 상태

public

Method Summary

Public Methods
public

changeAdvertisingInterval(interval: number): function(device: Device, data: Object): Device, data

(Async)비콘의 Advertising 주기를 변경한다.(1byte) 단위는 100ms로 1~102의 값을 입력 가능하다.

public
public
public

changeHttpGETUrl(url: *): *

public

changeHttpUrl(type: *, url: *): *

public

changeIOOutput(moduleType: number, value: Array): function(device: Device, data: Object): Device, data

(Async)비콘의 IO Module의 Output 값을 변경한다.(2byte)

public

changeInstanceID(instanceId: string): function(device: Device, data: Object): Device, data

(Async)Eddystone-UID 비콘 모드의 Instance ID 값을 변경한다.(6byte)

public

changeMajor(major: number): function(device: Device, data: Object): Device, data

(Async)비콘의 Major 값을 변경한다.(2byte) 0~65535의 값을 입력 가능하다.

public

changeMinor(minor: number): function(device: Device, data: Object): Device, data

(Async)비콘의 Minor 값을 변경한다.(2byte) 0~65535의 값을 입력 가능하다.

public

changeMode(mode: number): function(device: Device, data: Object): Device, data

(Async)비콘 모드를 변경한다.

public

changeMqttBrokerId(id: *): *

public

changeMqttBrokerPassword(password: *): *

public
public

changeMqttBrokerTopic(type: *, topic: *): *

public

changeName(name: string): function(device: Device, data: Object): Device, data

(Async)기기 이름을 변경한다.(8byte) 비콘 - 새로운 이름은 8바이트 이하로 입력한다.

public

changeNameSpaceID(namespaceId: string): function(device: Device, data: Object): Device, data

(Async)Eddystone-UID 비콘 모드의 Namespace ID 값을 변경한다.(10byte)

public

changeNetworkPeriod(period: number): function(device: Device, data: Object): Device, data

(Async)게이트웨이의 네트워크 통신 주기를 변경한다.(2byte) 1 ~ 1440의 값을 입력 가능하다.

public

changePassword(password: string): function(device: Device, data: Object): Device, data

(Async)기기 연결 패스워드를 변경한다.(6byte) 반드시 6자리로 입력해야 한다.

public

changeProtocolType(protocolType: number): function(device: Device, data: Object): Device, data

(Async)게이트웨이의 프로토콜 타입을 변경한다.(1byte) 0 : MQTT 1 : HTTP 2 : HTTPS

public

changeScanTime(scanType: number): function(device: Device, data: Object): Device, data

(Async)게이트웨이의 스캔 시간을 변경한다.(1byte)

public

changeScanType(scanType: number): function(device: Device, data: Object): Device, data

(Async)게이트웨이의 스캔 타입을 변경한다.(1byte) 0 : Beacon 1 : IAQ 2 : Jack Support 3 : OtherBeacon

public

changeSchemePrefix(scheme: string): function(device: Device, data: Object): Device, data

(Async)Eddystone-URL 비콘 모드의 Scheme Prefix 값을 변경한다.(2byte)

public

changeSensorInterval(interval: number): function(device: Device, data: Object): Device, data

(Async)비콘의 센서 갱신 주기를 변경한다.(1byte) 2~255의 값을 입력 가능하다.

public

changeServerId(id: *): *

public

changeServerIp(ipAddress: *): *

public

changeServerPassword(password: *): *

public

changeServerPort(port: *): *

public

changeTemperatureUnit(unit: *): *

public

changeTlsCert(cert: *): *

public

changeToken(token: *): *

public

changeTxPower(txPower: number): function(device: Device, data: Object): Device, data

(Async)비콘의 Tx Power 값을 변경한다.(1byte) 1 : -20dBm 2 : -16dBm 3 : -12dBm 4 : -8dBm 5 : -4dBm 6 : 0dBm 7 : 4dBm

public

changeUrl(url: string): function(device: Device, data: Object): Device, data

(Async)Eddystone-URL 비콘 모드의 URL 값을 변경한다.(17byte)

public

changeUseLongRange(usage: *): *

public

changeWifiPassword(password: *): *

public

changeWifiSsid(ssid: *): *

public

connect(isIgnoreGetCurrentWifiSSID: *)

기기에 커넥션을 시도한다.

public

기기에 커넥션을 해제한다.

public

현재 기기의 연결 상태를 반환한다.

public

isValidPassword(password: string): function(device: Device, data: Object): Device, data

(Async)기기 연결 패스워드를 확인한다.

public

read(characteristicUUID: string)

기기의 특정 Characteristic Service에서 값을 읽는 함수

public
public
public
public
public

readHttpUrl(type: *): *

public
public
public

readMqttBrokerTopic(type: *): *

public
public
public
public
public

rebootBeacon(): function(device: Device, data: Object): Device, data

(Async)비콘을 Reboot 한다.

public
public

setPassword(password: string)

커넥션시 사용할 패스워드를 설정한다.

public

타입별로 커넥션 시 발생하는 콜백을 연결한다.

public

wrapRWCallback(characteristics: Characteristic[])

커넥션 후 read, write, notify, stopNotify 콜백을 등록한다.

public

write(data: Buffer, isWithoutResponse: boolean)

현재 연결된 기기의 Write Characteristic을 통해 데이터를 입력한다.

Inherited Summary

From class EventEmitter
public

등록된 이벤트 Set 을 저장 할 객체

public

emit(eventName: string, args: Object)

이벤트를 발생시켜 해당 이벤트에 등록된 이벤트 콜백 함수를 호출 하는 함수

public

off(eventName: string, fn: function)

전달받은 이벤트 명 과 이벤트 콜백함수 통해서 이벤트 Set 에서 이벤트 콜백 함수를 제거하는 함수

public

on(eventName: string, fn: function)

전달받은 이벤트 명으로, 전달받은 이벤트 콜백 함수를 등록하는 함수

public

once(eventName: string, fn: function)

이벤트가 발생한 경우 한번만 호출되는 이벤트 콜백 함수를 등록 하는 함수

Static Public Methods

public static getBLELibrary(): BLE source

현재 사용중인 Ble 라이브러리를 반환한다.

Return:

BLE

public static getTimeout(): number source

기기 연결시 미 응답에 대한 Timeout 값을 반환한다.(단위 : ms)

Return:

number

public static setBLELibrary(coreBle: BLE) source

기기 연결에 사용할 라이브러리를 설정한다.

Params:

NameTypeAttributeDescription
coreBle BLE

Ble 라이브러리

public static setTimeout(timeout: number) source

기기 연결시 미 응답에 대한 Timeout 값을 설정한다.(단위 : ms)

Params:

NameTypeAttributeDescription
timeout number

Public Constructors

public constructor(device: Device, password: string) source

전달받은 기기와 패스워드로 새로운 커넥션을 초기화한다.

Override:

EventEmitter#constructor

Params:

NameTypeAttributeDescription
device Device

커넥션을 생성 할 디바이스 객체

password string
  • optional
  • default: "000000"

커넥션 후 데이터 교환에 필요한 패스워드

Public Members

public devType: string source

기기 타입

public device: Device source

커넥션 할 기기

public isConnected: boolean source

연결 상태

public isTimeout: boolean source

Public Methods

public changeAdvertisingInterval(interval: number): function(device: Device, data: Object): Device, data source

(Async)비콘의 Advertising 주기를 변경한다.(1byte) 단위는 100ms로 1~102의 값을 입력 가능하다. 최솟값보다 작은 값을 입력할 경우 1, 최댓값보다 큰 값을 입력할 경우 102로 적용된다.

Params:

NameTypeAttributeDescription
interval number

변경할 Advertising 주기(100ms)

Return:

function(device: Device, data: Object): Device, data

public changeBuildThingCloudMode(usage: *): * source

Params:

NameTypeAttributeDescription
usage *

Return:

*

public changeCertificationType(value: *): * source

Params:

NameTypeAttributeDescription
value *

Return:

*

public changeHttpGETUrl(url: *): * source

Params:

NameTypeAttributeDescription
url *

Return:

*

public changeHttpUrl(type: *, url: *): * source

Params:

NameTypeAttributeDescription
type *
url *

Return:

*

public changeIOOutput(moduleType: number, value: Array): function(device: Device, data: Object): Device, data source

(Async)비콘의 IO Module의 Output 값을 변경한다.(2byte)

Params:

NameTypeAttributeDescription
moduleType number

변경할 비콘의 모듈 타입. 0 또는 1 만 허용된다.

value Array

Output 값 배열. 배열의 각 인덱스와 port 번호가 일치해야 한다. 상태는 0 또는 1로 받는다.

Return:

function(device: Device, data: Object): Device, data

public changeInstanceID(instanceId: string): function(device: Device, data: Object): Device, data source

(Async)Eddystone-UID 비콘 모드의 Instance ID 값을 변경한다.(6byte)

Params:

NameTypeAttributeDescription
instanceId string

변경할 Eddystone-UID 비콘 모드의 instanceId값

Return:

function(device: Device, data: Object): Device, data

public changeMajor(major: number): function(device: Device, data: Object): Device, data source

(Async)비콘의 Major 값을 변경한다.(2byte) 0~65535의 값을 입력 가능하다.

Params:

NameTypeAttributeDescription
major number

변경할 비콘의 major값

Return:

function(device: Device, data: Object): Device, data

public changeMinor(minor: number): function(device: Device, data: Object): Device, data source

(Async)비콘의 Minor 값을 변경한다.(2byte) 0~65535의 값을 입력 가능하다.

Params:

NameTypeAttributeDescription
minor number

변경할 비콘의 minor값

Return:

function(device: Device, data: Object): Device, data

public changeMode(mode: number): function(device: Device, data: Object): Device, data source

(Async)비콘 모드를 변경한다. 센서를 부착중인 경우 센서 제거시 변경된 모드로 표시된다.(1byte) 0 : BuildThing 1 : iBeacon 2 : Eddystone-UID 3 : Eddystone-URL 4 : Eddystone-TLM

Params:

NameTypeAttributeDescription
mode number

비콘의 새로운 모드

Return:

function(device: Device, data: Object): Device, data

public changeMqttBrokerId(id: *): * source

Params:

NameTypeAttributeDescription
id *

Return:

*

public changeMqttBrokerPassword(password: *): * source

Params:

NameTypeAttributeDescription
password *

Return:

*

public changeMqttBrokerSubscribeTopic(url: *): * source

Params:

NameTypeAttributeDescription
url *

Return:

*

public changeMqttBrokerTopic(type: *, topic: *): * source

Params:

NameTypeAttributeDescription
type *
topic *

Return:

*

public changeName(name: string): function(device: Device, data: Object): Device, data source

(Async)기기 이름을 변경한다.(8byte) 비콘 - 새로운 이름은 8바이트 이하로 입력한다. 9바이트 이상 입력할 경우 9번째 이후의 바이트는 무시된다. 게이트웨이 - 새로운 이름은 10바이트 이하로 입력한다. 11바이트 이상 입력할 경우 11번째 이후의 바이트는 무시된다. 공통 - 31바이트 초과시 NO 응답

Params:

NameTypeAttributeDescription
name string

기기의 새로운 이름

Return:

function(device: Device, data: Object): Device, data

public changeNameSpaceID(namespaceId: string): function(device: Device, data: Object): Device, data source

(Async)Eddystone-UID 비콘 모드의 Namespace ID 값을 변경한다.(10byte)

Params:

NameTypeAttributeDescription
namespaceId string

변경할 Eddystone-UID 비콘 모드의 namespaceId값

Return:

function(device: Device, data: Object): Device, data

public changeNetworkPeriod(period: number): function(device: Device, data: Object): Device, data source

(Async)게이트웨이의 네트워크 통신 주기를 변경한다.(2byte) 1 ~ 1440의 값을 입력 가능하다.

Params:

NameTypeAttributeDescription
period number

변경할 네트워크 통신 주기(100ms)

Return:

function(device: Device, data: Object): Device, data

public changePassword(password: string): function(device: Device, data: Object): Device, data source

(Async)기기 연결 패스워드를 변경한다.(6byte) 반드시 6자리로 입력해야 한다. 다를 경우 NO 응답

Params:

NameTypeAttributeDescription
password string

변경할 패스워드

Return:

function(device: Device, data: Object): Device, data

public changeProtocolType(protocolType: number): function(device: Device, data: Object): Device, data source

(Async)게이트웨이의 프로토콜 타입을 변경한다.(1byte) 0 : MQTT 1 : HTTP 2 : HTTPS

Params:

NameTypeAttributeDescription
protocolType number

변경할 게이트웨이의 protocolType index값

Return:

function(device: Device, data: Object): Device, data

public changeScanTime(scanType: number): function(device: Device, data: Object): Device, data source

(Async)게이트웨이의 스캔 시간을 변경한다.(1byte)

Params:

NameTypeAttributeDescription
scanType number

변경할 게이트웨이의 scanType index값

Return:

function(device: Device, data: Object): Device, data

public changeScanType(scanType: number): function(device: Device, data: Object): Device, data source

(Async)게이트웨이의 스캔 타입을 변경한다.(1byte) 0 : Beacon 1 : IAQ 2 : Jack Support 3 : OtherBeacon

Params:

NameTypeAttributeDescription
scanType number

변경할 게이트웨이의 scanType index값

Return:

function(device: Device, data: Object): Device, data

public changeSchemePrefix(scheme: string): function(device: Device, data: Object): Device, data source

(Async)Eddystone-URL 비콘 모드의 Scheme Prefix 값을 변경한다.(2byte)

Params:

NameTypeAttributeDescription
scheme string

변경할 Eddystone-URL 비콘 모드의 scheme값

Return:

function(device: Device, data: Object): Device, data

public changeSensorInterval(interval: number): function(device: Device, data: Object): Device, data source

(Async)비콘의 센서 갱신 주기를 변경한다.(1byte) 2~255의 값을 입력 가능하다. Advertising 주기의 배수로 적용을 권장한다.

Params:

NameTypeAttributeDescription
interval number

변경할 센서 갱신 주기(100ms)

Return:

function(device: Device, data: Object): Device, data

public changeServerId(id: *): * source

Params:

NameTypeAttributeDescription
id *

Return:

*

public changeServerIp(ipAddress: *): * source

Params:

NameTypeAttributeDescription
ipAddress *

Return:

*

public changeServerPassword(password: *): * source

Params:

NameTypeAttributeDescription
password *

Return:

*

public changeServerPort(port: *): * source

Params:

NameTypeAttributeDescription
port *

Return:

*

public changeTemperatureUnit(unit: *): * source

Params:

NameTypeAttributeDescription
unit *

Return:

*

public changeTlsCert(cert: *): * source

Params:

NameTypeAttributeDescription
cert *

Return:

*

public changeToken(token: *): * source

Params:

NameTypeAttributeDescription
token *

Return:

*

public changeTxPower(txPower: number): function(device: Device, data: Object): Device, data source

(Async)비콘의 Tx Power 값을 변경한다.(1byte) 1 : -20dBm 2 : -16dBm 3 : -12dBm 4 : -8dBm 5 : -4dBm 6 : 0dBm 7 : 4dBm

Params:

NameTypeAttributeDescription
txPower number

변경할 비콘의 txPower index값

Return:

function(device: Device, data: Object): Device, data

public changeUrl(url: string): function(device: Device, data: Object): Device, data source

(Async)Eddystone-URL 비콘 모드의 URL 값을 변경한다.(17byte)

Params:

NameTypeAttributeDescription
url string

변경할 Eddystone-URL 비콘 모드의 url값

Return:

function(device: Device, data: Object): Device, data

public changeUseLongRange(usage: *): * source

Params:

NameTypeAttributeDescription
usage *

Return:

*

public changeWifiPassword(password: *): * source

Params:

NameTypeAttributeDescription
password *

Return:

*

public changeWifiSsid(ssid: *): * source

Params:

NameTypeAttributeDescription
ssid *

Return:

*

public connect(isIgnoreGetCurrentWifiSSID: *) source

기기에 커넥션을 시도한다.

Params:

NameTypeAttributeDescription
isIgnoreGetCurrentWifiSSID *

Emit:

connect

커넥션 성공시 콜백

Example:

 var connection = new Connection(device)
 connection.on('connect', (...args) => {
   console.log('connected!')
 })
 connection.connect()

public disconnect() source

기기에 커넥션을 해제한다.

Example:

 connection.on('disconnect', (...args) => {
   console.log('disconnected!')
 })
 connection.disconnect()

public isConnectedBeacon(): boolean source

현재 기기의 연결 상태를 반환한다.

Return:

boolean

public isValidPassword(password: string): function(device: Device, data: Object): Device, data source

(Async)기기 연결 패스워드를 확인한다.

Params:

NameTypeAttributeDescription
password string

확인할 패스워드

Return:

function(device: Device, data: Object): Device, data

public read(characteristicUUID: string) source

기기의 특정 Characteristic Service에서 값을 읽는 함수

Params:

NameTypeAttributeDescription
characteristicUUID string

데이터를 읽어올 Characteristic Service UUID

public readCertificationType(): * source

Return:

*

public readCurrentWifi(): * source

Return:

*

public readGatewayInfo(): * source

Return:

*

public readHttpGETUrl(): * source

Return:

*

public readHttpUrl(type: *): * source

Params:

NameTypeAttributeDescription
type *

Return:

*

public readMqttBrokerId(): * source

Return:

*

public readMqttBrokerSubscribeTopic(): * source

Return:

*

public readMqttBrokerTopic(type: *): * source

Params:

NameTypeAttributeDescription
type *

Return:

*

public readServerId(): * source

Return:

*

public readServerIp(): * source

Return:

*

public readServerPort(): * source

Return:

*

public readWifiSsid(): * source

Return:

*

public rebootBeacon(): function(device: Device, data: Object): Device, data source

(Async)비콘을 Reboot 한다.

Return:

function(device: Device, data: Object): Device, data

public requestWifiConnect(): * source

Return:

*

public setPassword(password: string) source

커넥션시 사용할 패스워드를 설정한다.

Params:

NameTypeAttributeDescription
password string

변경 할 패스워드

public wrapConnectionCallback() source

타입별로 커넥션 시 발생하는 콜백을 연결한다. 현재는 Cordova만 연결, Noble은 Peripheral에서 커넥션 콜백을 직접 관리한다.

public wrapRWCallback(characteristics: Characteristic[]) source

커넥션 후 read, write, notify, stopNotify 콜백을 등록한다. 현재는 Cordova에서만 콜백을 등록한다.

Params:

NameTypeAttributeDescription
characteristics Characteristic[]

콜백을 등록할 기기의 Characteristic 객체

public write(data: Buffer, isWithoutResponse: boolean) source

현재 연결된 기기의 Write Characteristic을 통해 데이터를 입력한다.

Params:

NameTypeAttributeDescription
data Buffer

입력할 데이터 버퍼

isWithoutResponse boolean
  • optional
  • default: false

Response 호출 여부