본문 바로가기

Python

Untitled-4.png

현재 Finch는 Python을 두 가지 방법으로 지원합니다. 네이티브 Python 라이브러리와 함께 Python의 이형으로, Java 라이브러리에 쉽게 액세스 및 불러오기를 할 수 있게 해주는 Jython을 통해 Finch의 Java 라이브러리에 액세스할 수 있습니다.

 

Python

Python은 인기 있는 프로그래밍 언어로서, C로 작성되었습니다. Python의 문법은 프로그래머가 더 적은 코드로 많은 일을 하게 해줄 뿐 아니라, 신규 프로그래머에게도 쉽습니다.
  Python 라이브러리는 Jay Jin, Justas Sadzevicius 및 그 외 인물들의 노력으로 만들어졌습니다.

중요 사항

 

Mac의 경우, 64 비트 Python을 설치하십시오. Windows에는 32 비트 Python (Windows 버전이 64 비트인 경우에도 동일)을 설치하십시오.

 

다운로드

FinchPython Windows Mac OSX Linux
FinchPython 다운로드 다운로드 다운로드

 

문서

Python API 문서는 Python API Documentation에서 받아보실 수 있습니다.
Finch Python 패키지를 다운로드 후, 프로그램 컴파일링 및 실행 지침을 따르십시오.

 

중요 파일 및 폴더

다음 파일 및 폴더는 모든 Python 다운로드에 공통적으로 포함되어 있습니다.

finch.py

Finch API 소스 파일입니다.

finchconnection.py

finch.py에서 USB로 데이터를 송수신하기 위해 사용됩니다.

hidapi32/64.dll (Windows), libhidapi.dylib (Mac), libhidapi32/64.so (Linux)

HIDAPI 라이브러리가 포함되어 있습니다.

예제 파일

musicexample.py 

노래 세곡을 포함된 목록에서 재생합니다.

racedriver.py

정사각형을 따라 돌아다닙니다.

lapswimmer.py

장애물이 감지될 때까지 로봇이 앞으로 이동하다, 장애물을 만나면 뒤로 후진합니다.

alarm.py

Finch가 꼬리로 설 때까지 알람이 울립니다.

testfinchfunctions.py

Finch의 모든 센서 및 출력을 테스트합니다.

Finch Python API Description.pdf

Finch API 문서의 로컬 사본입니다.

버전 정보

현재 Finch Python 패키지의 1.10 버전을 사용할 수 있으며, Windows XP 32비트, Windows 7/8 64비트, Mac OS 10.6 및 Ubuntu 12.04에서 Python 3.3.1 및 Python 2.7.5의 테스트를 성공적으로 마쳤습니다. 

알려진 문제

Mac용 32비트 지원은 포함시키지 않았습니다.
해당 지원이 필요하신 경우, 연락해 주시기 바랍니다.
Windows용으로는 Python 32비트만을 지원하지만, Python 32비트 버전이 설치되어 있다면, Windows의 64비트 버전에서 라이브러리를 사용할 수 있습니다.
Mac에서는 libhidapi64.dylib 및 libhidapi32.dylib 라이브러리를 찾아 Mac의 /usr/local/lib 디렉토리에 복사해 넣으십시오. 이 디렉토리를 찾으려면 파인더의 Go/Go to Folder를 사용하십시오. 이 디렉토리가 존재하지 않는 경우, 터미널에서 sudo mkdir /usr/local/lib 명령을 사용하여 만들 수 있습니다.

 

Python 프로그램 컴파일링

step 01 OS에 맞는 Python Source를 다운로드 받으십시오.

 

step 02 Python이 설치되어 있지 않다면, 여기를 클릭하여 다운로드 받으십시오.

Windows의 경우, MinGW 사용을 권장합니다.

 

step 03 IDLE을 사용하여 Python 실행

Python 설치 후 컴퓨터에 설치되어 있어야 하는 IDLE (Python GUI)을 여십시오.
File을 클릭한 뒤 Open을 클릭하십시오.
실행하고자 하는 Python을 찾아 여십시오.
파일이 열리면, Run을 선택하여 드롭다운 메뉴에서 Run Module을 클릭하십시오.

 

step 03 (대안) Python 실행을 위해 Terminal/Command Line 사용

Windows

Python 파일이 저장된 곳을 찾아 확장자(.py)와 함께 찾고자 하는 프로그램의 이름을 입력하십시오.

Mac

Python 파일이 저장된 곳을 찾아 확장자(.py)와 함께 찾고자 하는 프로그램의 이름을 입력하십시오.

Linux

Python 파일이 저장된 곳을 찾아 확장자(.py)와 함께 찾고자 하는 프로그램의 이름을 입력하십시오.

 

step 03 (다른 대안) 인터랙티브 모드를 사용하여 Finch에 명령을 전송하십시오.

Terminal/Command Prompt를 열고, pyfinch.py의 위치를 찾은 뒤, python을 입력하십시오.
Python 3.3.0 (v3.3.0, Sep 29 2012, 10:55:48) [MSC v.1600 32 bit (Intel)] on win32
자세한 사항을 알고 싶으시면 "help", "copyright", "credits" 또는 "license" 등을 입력하십시오.
팝업 창이 나올때 "'python' is not recognized as an internal or external command, operable program or batch file."이라는 문장이 표시되는 경우, 여기에 나온 지침에 따라 PATH를 수정하십시오.
다음 명령을 입력하십시오.(Finch를 불러옵니다.)
finch = Finch()
이제 API에 있는 각종 기능에 액세스하려면 finch.functionName()을 입력하면 됩니다.

LINUX 사용자 전용

libusb-1.0을 설치해야 합니다. 터미널 창에서 sudo apt-get install libusb-1.0-0-dev를 실행하십시오.

Finch를 처음 실행하기 전에 이 스크립트를 다운로드 받으십시오. chmod +x Configure를 입력한 뒤, 다운로드 최상위 디렉토리에 있는 sudo ./Configure를 실행하십시오.

 

Jython

다운로드

소프트웨어 패키지 Windows Mac OSX Linux
Generic/Eclipse 다운로드 다운로드 다운로드
Netbeans 다운로드 다운로드 다운로드
JES 다운로드 다운로드 다운로드

 

문서

Jython Finch 프로그램은 Finch Java 라이브러리를 간단하게 불러올 수 있기 때문에 Finch Javadocs에 설명된 방법을 Jython에서 이용하실 수 있습니다. 이 문서에는 Finch제어하기, Finch 센서 데이터를 읽기, RSS 피드에서 데이터를 읽기, 웹캠에서 이미지 데이터를 가져오기, 컴퓨터 스피커 제어하기 방법이 포함되어 있습니다.
  또한, 몇 가지 다른 IDE에서 Finch용 프로그램을 컴파일, 생성 및 실행하는 방법에 대한 튜토리얼도 제공됩니다.

예제 파일

Jython에서 Finch의 기능성을 보여주는 세 가지 예제입니다.
이들 예제는 특히 Finch의 바퀴, 버저 및 LED를 제어하는 방법, 장애물 센서 데이터를 읽는 방법 및 RSS 피드에서 데이터를 사용하는 방법이 나와 있습니다.
좀 더 완벽한 예제 세트는 Java 소프트웨어 패키지에 나와 있습니다

소프트웨어 패키지 구조

소프트웨어 패키지 폴더에는 세 가지 폴더가 있습니다.

SourceFiles

finch.jar 라이브러리, 예제("Code" 하위 폴더 내) 및 웹캠 지원용 라이브러리 위치

Javadocs

문서 위치

Licenses

특정 IDE 패키지를 다운로드를 할 경우, IDE 프로젝트 파일용 데이터가 포함된 추가 폴더가 존재할 수 있습니다.

 

알려진 문제

웹캠에서 이미지 데이터를 가져 오는 데 사용되는 서드파티 라이브러리인 LTI-Civil은 64비트 OS와 호환되지 않습니다.  
 
Mac에서는 libhidapi64.dylib 및 libhidapi32.dylib 라이브러리를 찾아 Mac의 /usr/local/lib 디렉토리에 복사해 넣으십시오. 
이 디렉토리를 찾으려면 파인더에서 Go/Go to Folder를 찾으십시오. 
이 디렉토리가 존재하지 않는 경우, sudo mkdir /usr/local/lib 명령을 사용하여 터미널에서 만들 수 있습니다.

 

Finch Python 패키지 설명

파일 설명

finch.py

Finch 제어를 위한 Finch API 기능 포함

finchconnection.py

finch.py를 사용하여 USB를 통해 데이터 송수신을 위한 저수준 함수 포함

hidapi32/64.dll, libhidapi.dylib, libhidapi32/64.so, libhidapipi.so

C언어로 컴파일 된 라이브러리 입니다. USB 장치(Finch)를 스캔하고 연결하는데 사용됩니다. Dll은 윈도우 용이고, dylib은 OSX, so는 리눅스 용 입니다.

alarm.py, lapswimmer.py, musicexample.py, racedriver.py, testfinchfunctions.py

Python 예제 프로그램으로서, 각 파일에 대한 정보를 보시려면 파일을 여십시오.

notes.py

Finch 버저가 다양한 음계를 재생하도록 간소화 한 musicexample.py를 사용한 도움말 클래스입니다.

Finch API

일반

close - Finch 연결을 해제합니다.

사용법: Finch 연결을 깔끔하게 종료하기 위해 프로그램을 나갈 때 사용합니다.
이 명령은 모터를 중단한 뒤 Finch에게 idle 모드(색상 변경)로 돌아가도록 합니다.

halt - Finch LED 및 Finch 모터를 중단하기 위한 편리한 기능입니다.

사용법: 한 번의 작동으로 Finch의 움직임을 중단하고, LED를 끄고 싶을 때 사용합니다.
버저는 꺼지지 않습니다.

출력

led – Finch의 부리 색상을 제어합니다.

사용법: 세 개의 스트링: finch.led(‘#0000FF’) 또는 0-255 RGB values: finch.
led(0, 0, 255). 첫 번째 값은 적색, 두 번째는 녹색, 세 번째는 청색의 강도를 나타냅니다.

wheels – 왼쪽과 오른쪽 바퀴에 보내는 전원을 제어합니다.

사용법: 값은 각 바퀴마다 -1.0부터 1.0입니다. 중단하려면 left=right=0.0을 사용하십시오.
예:
finch.wheels(1.0, 1.0) # 전면 전진
finch.wheels(-1.0, -1.0) # 전면 후진
finch.wheels(0.7, -0.3) # 왼쪽 바퀴는 70%로 전진, 오른쪽 바퀴는 30%로 후진

맨위로