레이블이 설치인 게시물을 표시합니다. 모든 게시물 표시
레이블이 설치인 게시물을 표시합니다. 모든 게시물 표시

2018년 3월 21일 수요일

linux에 realsense 설치하기

realsense로 SR300을 사용

<참조: https://pypi.python.org/pypi/pyrealsense/2.0>
<참조: https://pypi.org/project/pyrealsense/>

환경: ubuntu 16.04, SR300

1. windows에 realsense를 누른 후, Firmware update함.

2. 설치
* 현재 python wrapper는 pyrealsense 2.x를 지원하지 않음. pyrealsense 1.x만 지원함.
혹시 2.x가 설치되었다면 아래를 참고하여 삭제할 것.
2.1. 설치 (realsense 2.x)
<참조: https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md>
만약 compile을 통한 설치를 원한다면 다음을 참조.
https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md

echo 'deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial main' | sudo tee /etc/apt/sources.list.d/realsense-public.list

sudo apt-key adv --keyserver keys.gnupg.net --recv-key 6F3EFCDE

sudo apt-get update

sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils

sudo apt-get install librealsense2-dev
sudo apt-get install librealsense2-dbg

# g++ -std=c++11 filename.cpp -lrealsense2

modinfo uvcvideo | grep "version:"
입력시 realsense가 보이면 설치 성공

*. 삭제를 원한다면
dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge

2.1. 설치 (librealsense 1.x)
https://github.com/IntelRealSense/librealsense/tree/v1.12.1
https://github.com/IntelRealSense/librealsense/blob/v1.12.1/doc/installation.mdsudo 
에서 download zip파일(우상단 다운로드 클릭)

관련 library설치
apt-get update && sudo apt-get upgrade
sudo apt-get install libusb-1.0-0-dev pkg-config
sudo apt-get install libglfw3-dev

if 망가진 의존성이 뜬다면(쓰지말 것, 의존성 회복시키면서 기존 것 망가뜨림)
sudo apt-get install aptitude
sudo aptitude -f install

librealsense 설치
cd librealsense-1.12.1
mkdir build
cd build
cmake ..
make && sudo make install

cd ..
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger
./scripts/patch-uvcvideo-16.04.simple.sh

sudo modprobe uvcvideo

sudo dmesg | tail -n 50
을 통해서 새 usbcore: registered ~~~인지 확인

2.2. 설치 (pycparser, cython, numpy)
sudo apt-get update
sudo apt-get install python-pycparser
sudo apt-get install cython
sudo apt-get install python-numpy

sudo pip install pyrealsense

설치실패시 아래 사이트 참조.
https://github.com/toinsson/pyrealsense/issues/66 참조
pyrealsense는 librealsense2를 지원못함.
순서1을 통해 v1을 설치후 실행하면 됨.

3. 소스코드 사용
import pyrealsense as pyrs

serv = pyrs.Service()
serv.start()

'''pyrc.stream.color.depth.cad (color aligned on depth).dac (depth aligned on color)'''
cam = serv.Device(device_id=0, streams=[pyrs.stream.ColorStream(fps=60),
                                        pyrs.stream.DepthStream(fps=60)
                                        # pyrs.stream.CADStream(fps=60),                                        # pyrs.stream.DACStream(fps=60)                                        ])
scale = cam.depth_scale * 1000
while (True):
    cam.wait_for_frames()
    # print(cam.color)    current_color = cam.color[:, :, ::-1]
    current_depth = cam.depth * scale
    # current_cad = cam.cad[:, :, ::-1]    # current_dac = cam.dac * scale
    cv2.imshow('color', current_color)
    cv2.imshow('depth', current_depth / 1000)
    # cv2.imshow('CAD', current_cad)    # cv2.imshow('DAC', current_dac / 1000)
    cv2.waitKey(10)

2017년 3월 23일 목요일

linux ubuntu 새 하드디스크 설치하기

문제: linux ubuntu에 새 하드디스크를 설치하자.

해결:
<참고: http://reachlab-kr.github.io/linux/2015/10/03/Ubuntu-fstab.html>
<참고: http://www.thegeekstuff.com/2012/08/2tb-gtp-parted>

1. 하드디스크를 직접 컴퓨터에 연결한다.

2. 연결된 하드디스크를 확인한다.
ctrl+alt+t로 터미널 창 열기
sudo fdisk -l
이렇게하면 현재 물리적으로 연결된 HDD/SSD(+RAM,...)들이 쭉 보임.

Disk /dev/ram#: ~~ <- RAM임.
Disk /dev/sda: AAA GiB, ~~~ bytes, ~~~ sectors <-- 이렇게 /dev다음 /sd#로 시작하면 하드디스크임. sda, sdb, sdc, sdd, ... 순서대로.

새로 설치한 디스크를 확인할 것.
- 용량이 다르다면 용량으로.
cat /etc/fstab와 위 결과를 비교.
- 새 하드디스크는 Disk, Units, Sector size, I/O size까지만 있으나 쓰던 하드디스크는 Disklabel type, Disk identifier, Device, Boot, Start등을 표시하는 테이블까지 있음.
ex) /dev/sdb <- 내가 설치한 것.
- 만약 위의 것으로 구분이 안된다면(다른 PC에서 포맷하거나 사용한 적이 있다면 구분안됨), 리눅스 폴더의 왼쪽 장치를 보면 새볼륨으로 연결된 장치가 있음. 그냥 클릭 후, 연결하면 됨.

df -h
If your new hdd is empty, check using this command.

* 만약 연결하려는 HDD에 data가 있고 그대로 사용하려는 경우는 5번으로 Go.
3. 파티션 생성
3.1. cfdisk활용 (2TB이하면)
sudo cfdisk /dev/sdb
방향키(위아래)로 disk선택, 방향키(좌우)로 행동선택
지우고 싶은 [Delete]선택해서 지우고,
Free space에서 [New]로 할당 -> 사이즈 입력(기본은 최대) -> primary -> [Write]현재까지 결과 저장하여 partition table생성 -> [Quit].

3.2. 2TB이상인 경우: Parted mklabel활용
sudo parted /dev/sdb
At (parted), 아래를 입력.
print(HDD정보 보여줌) -> mklabel gpt(파티션 테이블 gpt로 만듬)
-> mkpart primary 0GB 6001GB(print시 나오는 hdd max값)(파티션 생성) -> ctrl+c 종료

4. 포맷
sudo mkfs -t ext4 /dev/sdb1
ext4가 최신 유행 파일시스템.

5. 마운트
보통 자동으로 됨.
만약 안된다면
gnome-disks -> 해당 disk > 기어모양에서 옵션으로 설정가능.
여기서 마운트지점을 바꾸면 이름도 바꿀 수 있음.
자동 마운트 옵션: 끔 (부팅시 자동으로 마운트 됨)
시작할 때 마운트: 켬
사용자 인터페이스에서 보이기: 켬
마운트 지점: 원하는 것 입력.
종료 후, 재생버튼(삼각형) 노름.

b. 영구적 마운트
(/etc/fstab파일 편집해야 함)
b.0 mount point생성 (여기서는 /mnt/extHDD)
mkdir /mnt/extHDD
chmod 777 /mnt/extHDD

b.1 uuid 확인
sudo blkid
/dev/sda1: UUID="철수" TYPE="ext4"
위에서 /dev/sda1의 UUID를 기억해둔다.

만약 sda1이 어떤HDD인지 모르겠다면 df -h와 연결하여 확인한다.

b.2 fstab파일 편집
sudo gedit /etc/fstab

파일 맨 아래 기존 UUID=영희 ~~~ 아래에
위의 정보추가

UUID=철수 /data(mount point/나중에 여기로 접근) ext4(filesystem) defaults 1 2

위에서 defaults는 마운트옵션
1은 dump(백업)여부, 0(불가), 1(가능)
2는 무결성 검사 우선순위, 0(안함), 1(우선함/주로 루트), 2(나중함/주로 저장HDD)

b.3 mount 다시 확인
sudo mount -a
df -h


6. 마운트 결과 확인
cat /proc/mounts | grep /dev*
하면 /dev/sda~~ 와 연결된 정보들이 나타남.

7. 권한 수정
sudo chown -R [username] /media/sda1/
sudo chmod +w /media/sda1/

2016년 7월 20일 수요일

python library / module 설치하기 (pip vs apt-get)

python을 실행했는데 No moudle named 'ABC' 이면 ABC라는 라이브러리가 없다는 의미이다.

In linux

리눅스에서는 아래와 같이 하면 된다.
<참조: https://docs.python.org/3.6/installing/index.html>
일반적인 경우,
ctrl + art + t -> terminal open

sudo apt-get install python-pip python-dev

sudo pip install SomePackage
or
sudo apt-get install SomePackage

참고: pip vs apt-get
pip은 PyPI(Pyhon Package index - pyhon module reposiory)로부터 바로 다운로드 및 설치하는 방법, Python Software Foundation이 관리.
apt-get은 Ubunu repository에서 다운로드 및 설치하는 방법. Canonical(?)이 관리.
pip이 apt-get보다 제공하는 모듈이 더 많음.
pip을 이용하면 과거버전도 다운받을 수 있음.
pip을 이용하면 virtualenv에 설치가능. apt-get은 불가능하여 모든 환경에 설치됨.

버전 제한을 두는 경우,
sudo pip install SomePackage==1.0.4    # specific version
sudo pip install "SomePackage>=1.0.4"  # minimum version

업그레이드를 하는 경우,
sudo pip install --upgrade SomePackage

혹시 안되면 sudo 대신 python -m을 써볼 것.

In windows

윈도우에서는 아래와 같이 하면 된다.
<참조: http://stackoverflow.com/questions/1449494/how-do-i-install-python-packages-on-windows>

1. curl을 다운받고 설치한다.
https://curl.haxx.se/download.html (임시)
http://winampplugins.co.uk/curl/ (here)

2. setuptools를 설치한다.(curl이 설치된 폴더에서 해야됨, 혹은 경로설정 후).
curl https://bootstrap.pypa.io/ez_setup.py | python

3. pip를 설치한다.
curl https://bootstrap.pypa.io/get-pip.py | python

4. 리눅스와 같은 방식으로 다운받는다. 혹은 5번 방법을 이용한다.

5. 참고로 windows에서 64bit os의 경우, 지원하지 않는 라이브러리들이 있다. 이 경우, 다음에서 비공식버전을 찾을 수 있다.
<http://www.lfd.uci.edu/~gohlke/pythonlibs/>
5.1. 먼저 위 사이트에서 원하는 lib를 다운받는다(확장자가 whl임).
5.2. 다운받은 파일의 위치로 가서 python -m pip install [파일명.whl]을 입력한다. 그럼 설치가 됨.