[KETI-Mobius]제4회 KETI 모비우스 개발자 대회 개발일지 : 라즈베리파이에서 nCube-Thyme-Nodejs 구동하기

1 minute read

라즈베리파이에서 nCube-Thyme-Nodejs 구동하기

&Cube-Thyme for Nodejs 설치

&Cube-Thyme for Nodejs 다운로드 및 설치

라즈베리파이에서 터미널을 열고 다음과 같은 경로로 들어간다.

cd /nCube-Thyme-Nodejs-2.3.2 (다운받은 버전 확인!)

다음과 같은 명령어를 통해 구동을 위해서 필요한 라이브러리를 설치한다.

npm install



&Cube-Thyme for Nodejs 실행

다음과 같은 명령어를 통해 conf.js 파일 안에 있는 설정파일을 수정한다.

sudo nano conf.js

conf.js 파일에서 cse.host에 쓰인 ip 주소를 Mobius 서버 ip로 수정한다. 203.253.128.161로 수정했다. 맞겠지?
ae.name과 ae.appid를 Mobius 서버에 생성할 이름으로 수정한다. lovelace로 수정했다.
conf.js 수정을 마친 뒤 다음과 같은 명령어를 이용하여 nCube를 실행한다.

node thyme.js



&Cube-Thyme for Nodejs 구동준비

서보모터를 준비한다. 아두이노로 구동하지 않고 서보모터를 라즈베리파이에 직접 연결해서 사용할 것이다.
라즈베리파이와 터치스크린을 5핀케이블로 연결한 뒤, 서보모터의 전선을 라파이에 연결해준다.
다음과 같이 연결한다.
Alt Text
Alt Text

import RPi.GPIO as GPIO
import time
    
pin =18
    
GPIO.setmode(GPIO.BCM)
GPIO.setup(pin,GPIO.OUT)
p= GPIO.PWM(pin,50)  #PMW:펄스폭변조
p.start(0)
cnt = 0
try:
    while True:
        p.ChangeDutyCycle(1)
        print ('angle: 1' )
        time.sleep(1)
        p.ChangeDutyCycle(5)
        print ( 'angle: 5 ' )
        time.sleep(1)
        p.ChangeDutyCycle(8)
        print (' angle : 8 ' )
        time.sleep(1)
except KeybordInterrupt:
    p.stop()
GPIO.cleanup()

python3으로 실행시켜보면 모터가 잘 돌아간다.
+추가
2020.08.29 서보모터를 다시 동작시키니 돌아가지 않는다.
다음과 같은 오류가 발생했다.

pi@raspberrypi:~/py $ python servo.py
servo.py:5: RuntimeWarning: This channel is already in use, continuing anyway.                                                                                                                       Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(pin, GPIO.OUT)

다음과 같이 배선을 고쳤더니 해결됐다.
Alt Text