드디어..!!
라즈베리파이의 기본세팅을 마쳤다!!

이번에는 라즈베리파이와 VS_code를 이용해서,
Adafruit를 사용하는 방법에 대해 설명해보겠다..
참고 사이트는 아래와 같다.
(아래 사이트를 순차적으로 성공하는 과정을 설명할 예정..)많은 오류들이 있지만 서치를 통해 해결함..!
https://www.raspberrypi-spy.co.uk/2014/08/enabling-the-spi-interface-on-the-raspberry-pi/
https://learn.adafruit.com/adafruit-1-3-color-tft-bonnet-for-raspberry-pi/python-setup
1. SPI 통신 허용
먼저 저번 글에서 putty를 통해,
config설정에서 SPI 통신을 허용했으면
바로 다음 단계로 넘어가도 된다!!
(SPI통신 방법은 바로 전 글을 참고하면 된다. ㅎㅎ)
2. SPI 통신 확인 (선택 사항)
혹시 모를 상황에 대비해서,,
SPI 통신이 잘 허용되었는지 확인하는 단계이다.
(무조건 허용 된 거같으면 넘어가도 됨 ㅋㅋ..)

저번처럼 Putty와 라즈베리파이를 화면과 같이 연결해서
아이디와 패스워드를 입력하고,
아래의 과정을 차근차근 따라가면 된다.

이렇게 로그인이 성공하고,
lsmod
를 입력하면 엄청난 글들이 뜨게 되는데...
마지막 부근에
spi_bcm2835 또는 spi_bcm2708
이 둘중에 하나라도 적혀있다면,
SPI가 제대로 활성화 된 것이다!!

3. Python SPI Wrapper 설치
이제 라즈베리파이가 정상적으로
SPI 통신을 허용했으니,
이번 프로젝트에서 사용할 Python에서
Bus로 부터 데이터를 읽기위해
추가적인 라이브러리를 설치해야한다.
VS code를 실행해서 라즈베리파이와 연동한 후에,
(라즈베리파이와 VS code를 연동하는 방법은 전에 올린 게시글에 있다..!)
Ctrl + ~ 를 누르면,
VS code내부의 터미널 창이 생긴다.
그 후, 터미널창에 아래의 코드들을
순차적으로 입력해나가면 된다 :)
아래 사진들이 다 Putty의 터미널 화면인 걸 알았다면,,
(어떻게 알았지!!)
내가 아래의 모든 과정을 Putty를 통해서 하고,
VS code에서 최종으로 실행을 하려고 했지만,,,
Putty가 아닌 VS code의 터미널에서 모든 설치를 해야 작동한다는 것을
뒤늦게 알게되어서 그런 것이다...^^..
그러니 꼭 VS code에서 터미널 창을 키고 모든 단계를 따라가주세요...
(이제부터 진짜 마의 구간임..)
sudo apt-get install -y python-dev python3-dev
터미널 창에 이렇게 입력했는데,,

이 화면과 같이 맨 아래에 E:가 뜨면서 오류가 뜨면...
라즈베리파이에서 python-dev 패키지가 사용 중지되어서
발생하는 문제이므로ㅠㅠ...
python 3버전에 맞는 python3-dev 패키지를
설치하면 된다.
sudo apt-get install -y python3-dev
그래서 이렇게 입력하면 E:가 뜨지 않을 것이다!!
sudo apt-get install -y python-spidev python3-spidev
다음으로는 py-spidev를 다운로드하고 컴파일해야하는데,
사이트에 나오는 과정을 따라해보면,
아래와 같은 오류가 뜰 것이다..

이는 해당 패키지가 현재 설치할 수 없는 상태이거나,
다른 방법으로 설치해야하는 경우에 나타나는 오류이다...ㅜㅠㅜ
이때는 apt 패키지로 설치해보거나 pip를 통해 설치해봐야한다.
1. apt 패키지로 py-spidev 설치
sudo apt-get update
sudo apt-get install -y python3-spidev
위의 코드를 복사해서 붙여넣으면 된다!!
만약 저 방법을 통해서도 설치가 되지 않는다면...
pip를 통해 설치 해봐야한다..
(pip은 오류가 나면 가상환경에 접속해 설치해야 한다.)
2. pip을 통해 py-spidev 설치
sudo apt-get install -y python3-pip
sudo pip3 install spidev
자, 이제 진짜 기본적인 라이브러리에 대한 설치는 끝났다!!
다음으로는 RGB 디스플레이 라이브러리와 Python,
DejaVu TTF 폰트, Pillow 라이브러리,
NumPy 라이브러리를
깔아보자 ^^..
4. python3-pip 설치
참고로 pyhton의 버전이 3인 경우에는 pip을 이용해야한다.
sudo apt-get install python3-pip

위의 코드를 입력해보면,
'이렇게 python3-pip 설치가 성공된다.
5. RGB Display 라이브러리 설치
다음으로, RGB Display 라이브러리의 설치를 해야한다.
sudo pip3 install adafruit-circuitpython-rgb-display
이렇게 코드를 입력하면
아마 거의 100%확률로
아래 사진과 같은 오류가 뜰 것이다.. ㅠㅠ

이는 현재 라즈베리파이의 Python 환경이
외부 관리 환경으로 설정되어있기 때문인데,,
이 문제는 가상 환경을 생성해서 패키지를
설치하면 된다..
python3 -m venv myenv
이 코드는 가상환경을 생성하는 것인데,
myenv는 가상환경의 이름으로
각자가 원하는 이름으로 바꿀 수 있다.
(참고로 나는 헷갈릴까봐 venv로 함)
이렇게 자신이 자신이 설정할 가상 환경 이름을
이용해서 만들면,,

위의 사진 처럼 venv라는 내가 만든 가상환경이 생긴다!!
(지우면 안돼요..)
source myenv/bin/activate
다음으로는 만든 가상환경을 활성화 하는 코드이다.
myenv 자리에 자신이 설정한 이름을 넣으면 된다.

가상환경이 활성화 되었다면,
사진과 같이 맨 왼쪽에 자신이 설정한
가상환경 이름이 생긴다.
이제 내가 만든 가상환경에서 RGB Display 라이브러리를 설치하면 된다!!!
pip install adafruit-circuitpython-rgb-display
이 코드를 통해 라이브러리를 설치할 수 있다.
아마 설치하는데 시간이 꽤 걸리겠지만, 견뎌야 한다!!
deactivate
설치가 성공했다면,
deactivate를 통해 가상환경을 종료할 수 있다.
6. DejaVu TTF 폰트 설치
이제 다음으로는 DejaVu TTF 폰트를 설치해야한다.
일반적으로 라즈베리파이에는 DejaVu 글꼴이
이미 설치되어 있지만,
그렇지 않은 경우도 있을 수 있기에.. 하는 작업이다^^
sudo apt-get install fonts-dejavu
설치하는 도중에 Y or n 가 뜨더라도,
Y를 입력해서 진행한다.
7. Pillow 라이브러리 설치
이번에는 Pillow 라이브러리를 설치할 차례이다.
그래픽을 허용하고 사용자가 정의한 글꼴로 텍스트를 사용하기위해
필요한 라이브러리이다.
sudo apt-get install python3-pil
여기서 중요한 점이,, Pillow 라이브러리 설치단계에서
이 부분만 하게되면 rgb_display_pillow_bonnet_buttons.py가 실행되지 않는다..
그래서 다른 방법을 추가적으로 찾아보았다!!
먼저 Pillow를 빌드할 때 필요한 JPEG 라이브러리와
Pillow에 필요한 종속성을 설치해야한다.
sudo apt-get update
sudo apt-get install -y libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev libopenjp2-7 libtiff5-dev libwebp-dev tcl-dev tk-dev python3-tk
위의 코드를 입력해 파일들을 설치 하고,
pip install --no-cache-dir pillow
pillow를 설치하면 된다!
(아마 이 부분에서 오류가 자꾸 뜰 것이지만,, 종속성 설치와 pillow설치를 계속 반복 해보면 되기도 한다...)
8. Numpy 라이브러리 설치
이제 거의 마지막 단계이다!!
Numpy 라이브러리를 설치해보자 :)
sudo apt-get install python3-numpy
위의 모든 설치를 마쳤다면,,

이제 마지막으로 테스트를 해볼 것이다..!!
9. rgb_display_pillow_bonnet_buttons.py 파일 생성하기
먼저, 아래의 사이트에 들어가서 아래쪽에 있는
rgb_display_pillow_bonnet_buttons.py 코드를 복사한다.
https://learn.adafruit.com/adafruit-1-3-color-tft-bonnet-for-raspberry-pi/python-setup
연동 된 라즈베리파이에서 새 파일을 만들어 복사한 코드를 붙여넣고,
제목은 rgb_display_pillow_bonnet_buttons.py 이렇게 저장하면 된다.

코드와 제목을 정확히 이렇게 설정했다면,
꼭 Ctrl + S를 통해서 저장하길 바란다.ㅎㅎ
10. rgb_display_pillow_bonnet_buttons.py 실행
이제 진짜 마지막이다...
VS code내부의 터미널 창을 다시 열고,
sudo python3 rgb_display_pillow_bonnet_buttons.py
사이트에서는 실행한 터미널에 이 코드를 입력하면
실행이 된다고 하지만,,,
아마 실행되지 않을 것이다^^
왜냐!!!
해당 파일이 지정된 경로에 없는 문제..!!
이 문제를 해결하려면 가상 환경이 VS code에서 활성화되어야하고,
저 파일이 있는 위치를 입력해야한다.
이 단계는 앞으로 프로젝트를 하면서,
파일을 실행할 때마다 참고 하면 편하다.

이렇게 (venv) 라는 가상환경에 진입되고,
~/ES 와 같이 rgb_display_pillow_bonnet_buttons.py가 있는 파일로
진입이 된 상태에서
python3 rgb_display_pillow_bonnet_buttons.py
실행하려고 했던 rgb_display_pillow_bonnet_buttons.py을 실행하면 된다!!

진짜 이번 시간에 엄청난 오류와
시행착오가 있었지만,,!
모든 연결을 마쳐서 다행이다 ㅎㅎ..
이상 끗 :)

'𝗣𝗲𝗿𝘀𝗼𝗻𝗮𝗹_𝗣𝗿𝗼𝗷𝗲𝗰𝘁' 카테고리의 다른 글
[2-2_임베디드SW입문] 라즈베리파이4_Putty_SPI_VNC_VScode_연결 (6) | 2024.11.06 |
---|