1.0.0 • Published 7 years ago

slow-library v1.0.0

Weekly downloads
1
License
ISC
Repository
-
Last release
7 years ago

#SLoW-sketch

  • SLoW-sketch는 SLoW IoT platform을 사용할 수 있도록 만든 라이브러리다.

  • JavaScript를 통해 작성할 수 있고 예시는 다음과 같다.
const slow = require('slow')

const myGroup = new slow.Group({
  authKey: 'rnzesdvaxcdfetfr',
  hubId: 8,
  devices: new Map([
    ['aduino-0x53', 16]
  ])
})

slow.loop(main, 3000)

function main() {
  myGroup.watchAllDevices()
    .then(action)
    .catch(error)
}

function action() {
  console.log('aduino-0x53, getAddition: ', myGroup.getAddition('aduino-0x53'))
  console.log('aduino-0x53, getSupplement: ', myGroup.getSupplement('aduino-0x53'))
  console.log('aduino-0x53, getDigitalIn: ', myGroup.getDigitalIn('aduino-0x53'))
  console.log('aduino-0x53, getDigitalOut: ', myGroup.getDigitalOut('aduino-0x53'))

  myGroup.setAddition('aduino-0x53', '131231')
  myGroup.setSupplement('aduino-0x53', '000011110000')
  myGroup.setDigital('aduino-0x53', 'xxxx0101')
  myGroup.setAnalog('aduino-0x53', 0, 50)

  myGroup.shoot()
}

function error(err) {
  console.error(err)
}

  • module은 다음과 같이 불러올 수 있다.
const slow = require('slow')

  • UI 화면을 통해 제공하는 인증키와 hub, device 정보를 입력한다.
const myGroup = new slow.Group({
  authKey: 'rnzesdvaxcdfetfr',
  hubId: 8,
  devices: new Map([
    ['aduino-0x53', 16]
  ])
})

  • loop의 시간 설정을 한다.
slow.loop(main, 3000)

  • TCP Server로부터 받은 응답에 따라 사용자가 입력한 것에 대한 action을 할지 error를 표시할지 결정한다.
function main() {
  myGroup.watchAllDevices()
    .then(action)
    .catch(error)
}

  • SLoW-sketch에서 제공하는 함수들을 사용하여 코딩을 한다.
function action() {
  console.log('aduino-0x53, getAddition: ', myGroup.getAddition('aduino-0x53'))
  console.log('aduino-0x53, getSupplement: ', myGroup.getSupplement('aduino-0x53'))
  console.log('aduino-0x53, getDigitalIn: ', myGroup.getDigitalIn('aduino-0x53'))
  console.log('aduino-0x53, getDigitalOut: ', myGroup.getDigitalOut('aduino-0x53'))

  myGroup.setAddition('aduino-0x53', '131231')
  myGroup.setSupplement('aduino-0x53', '000011110000')
  myGroup.setDigital('aduino-0x53', 'xxxx0101')
  myGroup.setAnalog('aduino-0x53', 0, 50)

  myGroup.shoot()
}

  • error가 있을 경우 error 메시지를 출력한다.
function main() {
  myGroup.watchAllDevices()
    .then(action)
    .catch(error)
}