행복한 하루

라즈베리 파이 4(Raspberry Pi 4) 2.9" TOUCH E-PAPER HAT 테스트 본문

RaspberryPi

라즈베리 파이 4(Raspberry Pi 4) 2.9" TOUCH E-PAPER HAT 테스트

변화의 물결 2022. 3. 13. 02:34

 

안녕하세요.

 

  전자책(ebook)을 가지고 있어서 e-paper 대해서는 알고 있지만, 라즈베리 파이에 연동해서 제어해본 적은 없고, 전원을 끄고도 텍스트를 입력한 글자가 남아 있을까 그리고 터치까지 된다고 하니 궁금해서 테스트해보았습니다.


1. 테스트 환경

  - 이번에는 32bit 라즈베리 파이 OS 말고 64bit로 테스트해보았습니다. 앞으로 64bit 운영체제로 바꿔야 할 것 같아서 미리 테스트 삼아해 보았습니다.

https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit

 

  - 외국 기사(하단 참조 사이트 링크)를 보면 64bit OS로 사용할 경우 성능 향상이 되었다고 나와있어서 한번 경험해보고 싶었습니다. 그리고 기존의 32bit에서 사용했던 라이브러리도 사용해도 되는 것인가 궁금하기도 해서 설치해보았습니다.

 2. e-paper HAT 제품 구성

  - 제품 구성은 음... ePaper LCD 모듈 하나 포장되어 있습니다.

3. e-paper HAT 스펙

  - Size: 2.9inch

  - Outline dimensions(Module): 89.1mm × 42.7mm

  - Outline dimensions(Driver Board): 79.50mm × 37.50mm

  - Display area: 66.89mm × 29.05mm

  - Operating Voltage: 3.3V/5V

  - Communication interface: SPI

  - Dot pitch: 0.227 * 0.226

  - Resolution: 296×128 pixels

  - Display color: black, white

  - Grey scale: 2

  - Partial refresh time: 0.3s

  - Full refresh time: 2s

  - Refresh power: 26.4mW(typ.)

  - Touchpoints: 5 (MAX)

  - Touch type: Capacitive touch

  - Touch interfaced: I2C

  - Touch panel: Toughened Glass

4. 라즈베리 파이 설정하기

1) SPI, I2C 통신 설정 활성화

   - SPI, I2C를 Enable로 만듭니다.

 pi@raspberrypi:~ $ sudo raspi-config

  < 3. Interface Options    ->    I4 SPI, I5 I2C를 Enable로 변경>

 

 - 재부팅을 합니다.

pi@raspberrypi:~ $ sudo reboot

  

2) 필요한 라이브러리 설치

  - 필요한 라이브러리 소스를 다운로드하여서 컴파일과 설치를 진행합니다.

 

  2-1) Install BCM2835 libraries

wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.68.tar.gz
tar zxvf bcm2835-1.68.tar.gz
cd bcm2835-1.68/
sudo ./configure && sudo make && sudo make check && sudo make install

 

  2-2) Install wiringPi libraries 

sudo apt-get install wiringpi

#For Pi 4, you need to update it:
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v

#You will get 2.52 information if you install it correctly

  

  2-3) install python libraries

    - 최신 64bit OS를 설치했다면 이미 설치되었다고 나옵니다.

sudo apt-get update
sudo apt-get install python3-pip
sudo apt-get install python3-pil
sudo apt-get install python3-numpy
sudo pip3 install RPi.GPIO
sudo pip3 install spidev

  

3) 데모 소스 다운로드

  - waveshare에서 제공해주는 소스를 가지고 테스트합니다. 

pi@raspberrypi:~ $ cd ~
pi@raspberrypi:~ $ git clone https://github.com/waveshare/Touch_e-Paper_HAT

  3-1) 파이썬(python3) 소스 샘플 데모 확인

    - 우선 waveshare wiki에 나와 있는 내용과 소스 경로가 차이가 있는 듯합니다.

    - cd ~/Touch_e-Paper_Code/ 가 아니라 cd ~/Touch_e-Paper_HAT/  해야 합니다. 

pi@raspberrypi:~ $ cd ~/Touch_e-Paper_HAT/python/examples
pi@raspberrypi:~/Touch_e-Paper_HAT/python/examples $ sudo python3 TP2in9_test.py

 

  

   - 몇 번 깜박이다가 날씨와 사진을 볼 수 있는 화면이 나타납니다.

  - 날씨는 APIKEY 값을 넣어 주어야 하기 때문에 나타나지 않고 사진으로 데모 확인을 할 수 있습니다.

 

  - c 소스 데모 실행시키고 다시 실행하면 아래와 같이 에러가 발생했습니다.

    3-2) c 소스 샘플 데모 확인

    - python과 c 소스코드로 나누어 놓았는데 소스코드를 몇 곳을 수정해주어야 합니다. 그리고 현재 버전에서 컴파일 안 되는 부분도 있어서 추가해주어야 합니다. 

pi@raspberrypi:~ $ cd ~/Touch_e-Paper_Code/c

    - vim  Makefile로 보면, 어떤 라이브러리를 사용할지 선택해야 합니다. 여기서는 디폴트인 BCM2835 라이브러리를 사용합니다. (수정 불필요)

     - main.c 에서 화면 인치에 맞는 함수의 주석을 풀어줍니다. 현재 제품은 2.9인치이기 때문에 해제해주었습니다. 

pi@raspberrypi:~/Touch_e-Paper_HAT/c $ vim examples/main.c

 

    - 현재 소스를 컴파일(make)하면 에러가 발생합니다.

 

    - 2022년 1월 7일 버전이라면 ~/Touch_e-Paper_HAT/c 경로에 bin 디렉터리(mkdir bin)를 만들어 주어야 컴파일과 함께 main 실행파일이 생성됩니다. 그래서 github에 내용을 남겨주었습니다. 향후 수정된 소스 버전이라면 위의 내용이 필요 없습니다.

 

    - 컴파일하면 main 실행파일이 생성됩니다. 

pi@raspberrypi:~/Touch_e-Paper_Code/c $ make -j4

 

    - 프로그램 실행시키기 

pi@raspberrypi:~/Touch_e-Paper_HAT/c $ sudo ./main

 

    - python 실행파일과 다르게 그리는 메뉴(Paint)가 있습니다. 실행시키면 느리지만 그리기도 할 수 있습니다.

 5. 2.9" TOUCH E-PAPER HAT 테스트 후기

  - 우선 Raspberry Pi 64bit OS에서도 잘 작동하고, vim, xrdp 등 설치 등도 문제없이 되었습니다.

  - waveshare 소스와 waveshare wiki 내용도 확인하면서 테스트해야 했습니다.

 

  - e-Paper HAT 제품은 e-paper 장점과 단점을 그대로 가지고 있었습니다. 단점이라고 한다면 느린 반응속도와 잔상이 남는 것 때문에 리플래쉬가 필요한 것입니다. 반대로 장점은 작은 화면이지만 터치가 되는 것과 전원이 꺼져도 마지막 화면이 남아 있다는 것입니다. 그래서 글자나 사진을 계속 볼 수 있습니다.

 

  - 기구홀이 없고 테두리 쪽에 양면테이프가 붙어 있어서 기구 설계할 때 고려해서 제작해야 합니다.

  - 2.13인치와 2.9인치 소스로 되어 있고 먼저 파이썬 소스를 보고, 소스 구조를 먼저 파악 후 C소를 보는 것은 좋을 것으로 보입니다. 그리고 터치를 하면 X, Y, Pressure 값이 콘솔에 나타납니다.

 

 

감사합니다.

 

 

<참고 사이트>

1. 2.9inch Touch e-Paper HAT 실행방법

https://www.waveshare.com/wiki/2.9inch_Touch_e-Paper_HAT

2. 2.9inch Touch e-Paper HAT 스펙

https://www.waveshare.com/2.9inch-touch-e-paper-hat.htm

3. Raspberry Pi OS: 32-bit vs 64-bit Benchmarking

https://www.sevarg.net/2021/12/18/raspberry-pi-32-bit-vs-64-bit/

 


 

Comments