Skip to content

기본적인 하드웨어 등록 절차 및 방법

JY Kim edited this page Apr 5, 2016 · 6 revisions

엔트리 하드웨어 추가 순서

  1. 엔트리에 문의하여 하드웨어 ID발급 받기
  2. 엔트리 하드웨어 프로그램에 해당 하드웨어 모듈 추가하기
  3. 엔트리 서비스에 해당 블록 만들기
  4. 실행하여 테스트 하기

간략한 과정

  1. 엔트리 하드웨어 연결프로그램에 하드웨어 추가
  1. 엔트리 서비스에 블록추가(상세방법)
  • Git Fork(https://github.com/entrylabs/entryjs)
  • System Dependencies 추가
    • bower.json 확인
    • package.json 확인
  • Entryjs의 기본적인 정보는 README.md 참고
  • workspace확인 (디버깅)
    • (your path)/example/example.html 확인 및 실행
    • 로컬로 간단히 확인가능하나 Cross Domain 문제로 일부 기능이 정상작동하지 않습니다.
      • 하드웨어 연결 테스트는 문제 없습니다.
    • 모든 기능을 확인하고 싶으시면 간단한 웹서버로 띄워서 확인하시기 바랍니다.(권장)
      • 간단한 웹서버로는 locally가 있고, apache나 nginx와 같은 통상적 웹서버도 관계없습니다.
      • locally를 이용한 웹서버 테스트 항목은 하단의 다. 항목을 참고 해주시기 바랍니다.
  • block javascript 추가
    • (your path)/src/blocks 에 자바스크립트 추가(빌드시 자동 반영됨)
    • 해당 소스들 참고
    • Blocky.Blocks과 Entry.block 1:1 매칭 되도록 블록 추가
      • 해당 블록들은 아래의 static.js에 추가되어 있어야 합니다.
      • Blocky.Blocks은 사용자에게 보여지는 블록 모양을 정의 합니다.
      • Entry.block은 해당 블록의 동작을 정의 합니다.
    • 블록에 사용되는 언어는 일반적으로 Lang이라는 다국어로 관리합니다.
      • Lang.Blocks 으로 시작되는 부분으로 테스트시에는 하드코딩으로 확인가능합니다.
  • block 매칭 작업
    • (your path)/src/hw.js 확인
    • this.hwInfo 부분에 해당 기기 추가 (30 Lines)
    • 왼쪽의 숫자 (ex. ’11')
      • 엔트리 하드웨어 추가 할때의 하드웨어ID
      • ‘010201’ 으로 설정했을 경우 앞의 4개를 확인하여 ’12’가 됩니다.
      • 마찬 가지로 ’61’ 과 같은 경우를 만들고 싶은경우 하드웨어 연결프로그램에서 JSON생성이 060101과 같은 형식으로 만듭니다.
    • 오른쪽 오브젝트 (ex. Entry.Arduino)
      • block javascript에서 추가했던 오브젝트를 넣습니다.
  • static.js 블럭모양 추가
    • (your path)/extern/util.static.js
    • EntryStatic.getAllBlocks 의 category가 arduino 인 요소에 해당 블록명 추가
    • EntryStatic.blockInfo 에 블록명에 해당하는 실제 블록 모양추가
      • xml = 실제 블럭모양
      • isNotFor = 블록 Alias
      • usage = 하드웨어의 경우 arduino 고정
      • class = 블록타입 설정(엔트리 화면에서 블록구분선을 만들때 사용.)
  • 언어추가
    • (your path)/extern/util/ 확인
    • ko, en, vn, code 4개의 js파일 로 구성됩니다.
    • example.html의 기본 요소는 ko.js 로 설정되어 있습니다.
      • 언어 변경시 해당언어로 변환 됩니다.
      • example.html에는 해당 기능 구현되어 있지 않습니다.
    • 해당 파일에 원하는 값을 추가하면 전역변수 Lang에 언어 데이터 들어감.
  • 빌드하기
    • grunt 실행
    • 빌드 output은 dist폴더에 있습니다.
  1. locally로 서비스 실행하기
  • locally설치
  • locally 실행
    • 원하는 위치에서 locally수행하시면 해당 path가 root가 되는 간단한 웹서버가 구동됩니다.
    • Entry를 init과정에서 entryjs가 prefix된 경로가 들어가니 locally를 수행해 주실때 꼭 entryjs의 폴더내가 아닌 상위폴더에서 실행하시기 바랍니다.
  • example.html 소스 수정.
    • 구성하신 상황에 따라 javascript path의 구성이 바뀔수 있습니다. 
    • ko.js / static.js / entry.min.js / entry.css 의 4가지 요소에 대해 path를 변경하시면 됩니다.