본문 바로가기

Others

라즈베리파이 - python3 환경 구축

728x90
반응형

라즈베리파이는 python2를 내장하고있는데, python3를 이용하기위해서는 독특한 환경구축이 필요합니다.

 

(선택) 필수는 아니지만, 기본적으로 라즈베리파이는 한글폰트가 깨지는데 terminal에서 다음 명령구를 입력하고 enter를 누르면 됩니다.

$ sudo apt-get install fonts-unfonts-core

(필수) 먼저 라즈베리파이를 최신 상태로 만들어야합니다.

$ sudo apt-get update 
$ sudo apt-get upgrade
$ sudo apt-get install build-essential checkinstall 
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev \    libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

사실 upgrade이후에 코드는 다른 여러 사이트에서 다른 것을 추천하니 기호에 맞게 설치하시면 됩니다.

 

(필수) python3를 설치해야합니다.

이때 버전은 항시 달라지므로

https://www.python.org/ftp/python/ 에서 스크롤 가장 아래에 숫자로되어 있는 3.8.0과 같은 링크를 클릭하고 Python-3.8.0.tgz 과 같이 tgz로 되어있는 링크를 클릭하여 다운받거나 다음의 명령어를 순차적으로 입력합니다.

$ sudo wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
$ sudo tar xzf Python-3.8.0.tgz 
$ cd Python-3.8.0 
$ sudo ./configure --enable-optimizations 
$ make -j 4
$ sudo make install

으로 python3를 설치할 수 있습니다.

$ python3 -V 

을 입력하였을때 Python 3.8.0 과같은 문구가 나와야합니다.

 

(필수) 이제 중요한것은 python3 의 라이브러리 설치인데요.

예를들어 matplotlib를 설치한다고 할때 기본적인 코드는

pip3 install matplotlib

이거이나 잘 설치가 안될때도 있습니다.(경로가 python2에 저장이 될 때가 있기때문입니다.)

 

따라서 이럴경우 해당 라이브러리 설치파일을 사이트에서 직접 다운받고 아래 코드처럼 설치하는 수밖에 없습니다.

git clone https://github.com/matplotlib/matplotlib
cd matplotlib
python3 setup.py build
sudo python3 setup.py install

(선택) 또한 라즈베리파이에서 생성한 데이터파일을 자동으로 cloud에 올리고싶으시다면

https://github.com/pageauc/rclone4pi 의 rclone을 설치하여 이용하면 좋습니다.

 

$ curl -L https://raw.github.com/pageauc/rclone4pi/master/rclone-install.sh | bash

으로 설치하신뒤에

$ rclone config

으로 하나하나 따라가시면 됩니다. (참조 : https://blog.lukael.kr/rajeuberipaireul-iyonghaeseo-google-drivewa-synchagi/)

 

또 즐겨 쓰는 기능으로 square wave를 만들어낼 수 있는데, 바로 앞서 언급한 방법으로 pigpio를 설치하고 

terminal에 sudo pigpio을 입력한 뒤

import time

import pigpio

GPIO=4

square = []

#                          ON       OFF    MICROS
square.append(pigpio.pulse(1<<GPIO, 0,       4))
square.append(pigpio.pulse(0,       1<<GPIO, 4))

pi = pigpio.pi() # connect to local Pi

pi.set_mode(GPIO, pigpio.OUTPUT)

pi.wave_add_generic(square)

wid = pi.wave_create()

if wid >= 0:
   pi.wave_send_repeat(wid)
   time.sleep(60)
   pi.wave_tx_stop()
   pi.wave_delete(wid)

pi.stop()

다음 파이썬 코드를 실행시키면 MICROS에 입력한 파장으로 파가 출력됩니다.

 

반응형

'Others' 카테고리의 다른 글

Window-python 구축  (4) 2019.12.17
Mac - python3 환경 구축 : 데이터 처리  (0) 2019.10.19
블로그에 공식 쓰기  (0) 2019.05.20
쓰기좋은 Matlab 함수  (0) 2019.05.14
까먹기 쉬운 python 함수  (0) 2019.05.14