RaspberryPi의 Python 제어 전자 용지(e-Paper)

총결산


일반적으로 평면 패널 모니터는 지속적으로 전원을 켜야만 디스플레이를 유지할 수 있다
전자 용지는 화면을 고칠 때만 전기가 필요하고 전기가 없으면 마지막으로 표시되는 장치입니다.
이번에는 유식한 사람들이 넘어지지 않는 곳에서 많은 시간을 보냈다.
예제 프로그램을 실행하는 경로를 보류합니다.
관심 있는 사람을 도와줬으면 좋겠어요.

준비


이번에 준비한 재료는 다음과 같다.
・Raspberry Pi Zero W ※ GPIO 용접을 원하지 않는 사람은 WH를 추천합니다.
・e-Paper Module1.52 inch
・Raspbian(strtch)4.14.xx SD 카드(8GB)
・USB Keyboard&Mouse
• HDMI 모니터
Keyborad와 Mouse, Display를 Raspberry Pi Zero에 직접 연결하여 드릴링을 구현했습니다.

단계


연결 순서


e-Paper Moudle과 Raspberry Pi를 연결합니다.
참조)https://www.waveshare.com/wiki/1.54inch_e-Paper_Module
Hardware connection
Here is the connection between Raspberry Pi 3B and E-paper.
e-Paper
Raspberry Pi 3B
GPIO Port Number
3.3V
3.3V
-
GND
GND
-
DIN
MOSI
GPIO10
CLK
SCLK
GPIO11
CS
CE01
GPIO08
DC
Pin22
GPIO25
RST
Pin11
GPIO17
BUSY
Pin28
GPIO24
GPIO 구성 참조
https://elinux.org/RPi_Low-level_peripherals#Model_A.2B.2C_B.2B_and_B2
연결 예

운영 체제 준비


• SD카드에 Raspbian OS를 켜고 Raspberry Pi를 가리키며 전원을 켭니다.
・ 시작 후 WiFi 네트워크를 설치합니다.
・키보드를 일본어로 변경합니다.
"기본 설정 -> Mouse and Keyboard Setting -> Keyboard 탭 -> Keyboard Layout 단추 -> Country-Japan/Variant-Japan ese"
업데이트를 진행합니다.
$ sudo apt-get update

패키지 설치


Python의 라이브러리, 구축 도구 및 압축 해제 도구를 설치합니다.
$ sudo apt-get install python-dev
$ sudo apt-get install python-smbus
$ sudo apt-get install python-imaging
$ sudo apt-get install build-essential
$ sudo apt-get install p7zip-full

환경 준비


인터페이스 활성화


· Raspberry Pi에서 SPI 인터페이스를 활성화합니다.
"기본 설정 ->Raspberry Pi 구성 ->Interfaces 탭 ->SPI= 사용 가능"
설정을 변경한 후 다시 시작합니다.
$ reboot

예제 응용 프로그램 다운로드


아래에서 최신 파일을 다운로드합니다.
https://www.waveshare.com/wiki/File:1.54inch_e-Paper_Module_code.7z
예제

$ wget https://www.waveshare.com/w/upload/7/73/1.54inch_e-Paper_Module_code.7z

다운로드한 파일 압축 해제

$ cd
$ mkdir e-Paper
$ mv 1.54inch_e-Paper_Module_code.7z e-Paper
$ cd e-Paper
$ 7z x 1.54inch_e-Paper_Module_code.7z
폴더를 볼 때 다음 폴더가 생성되었습니다.

$ ls
1.54inch_e-Paper_Module_code.7z
arduino
raspberrypi
stm32
이번에는 라즈베리피에서 e-Paper를 처리하기 때문에 아두노와 stm32는 개의치 않는다.

실행 예


$ cd raspberrypi

$ ls
bcm2835
python
wiringpi
위에는 세 가지 유형이 있는데 모두 같은 프레젠테이션이다.
bcm2835를 사용할 때는 BCM2835 라이브러리를 별도로 설치해야 합니다.
이번에는python 버전을 사용합니다.
raspberrpi 폴더 산하의main.py를 실행합니다.
$ cd python
$ python main.py
이 작업을 수행하면 다음과 같이 표시됩니다.

가운데 표시 부분은 세로로 두 개의 사각을 보여 줍니다.
액정이 고장 났습니까?따라서 BCM2835 및 Wiringio 버전을 실행하면 정상적으로 표시됩니다.
이게 Python의 코드에 무슨 문제가 있는 건가요?내 생각엔
Draw한 초상화의 회전계가 우습게 변하는 거 아니야?이렇게 여러 파라미터를 변경해서 확인하면 회전된 이미지의 사이즈가 정확하게 전달되지 않는 것 같습니다.
rotate를 검색하여 그림이 회전한 후의 사이즈를 바꾸는 아주 좋은 파라미터를 발견하고 아래의 추가 이동을 확인하였습니다.
main.py
 L:82 epd.set_frame_memory(time_image.rotate(90),80,80) 

                    

 L:82 epd.set_frame_memory(time_image.rotate(90,expand=True),80,80) 

수정하지 않아도 이동할 수 있는 환경이 있습니다.
라이브러리 버전이 영향을 받을 수 있습니다.
일단 메인.py를 실행하고 문제가 있으면 상술한 수정을 시도하십시오.
<그래도 위의 내용은 표시되지 않습니다>
Python에서 사용하는 이미지, 이미지 그리기 및 이미지 글꼴 라이브러리를 Pillow로 변경합니다.
① Pillow 설치
$ pip install Pillow
②main.편집
import 행을 변경하려면 다음과 같이 하십시오.
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont

Python 이외의 실행 방법


BCM2835 Edition


BCM2835 폴더에서 생성을 실행하기 전에 BCM2835를 설치합니다.
http://www.airspayce.com/mikem/bcm2835/

BCM2835 설치 단계


상기 사이트의 설치에서 발췌하다
(2018/07/08의 최신 버전은 1.56입니다. 1.xx로 교체해 주십시오.)
$ sudo wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.xx.tar.gz
$ tar zxvf bcm2835-1.xx.tar.gz
$ cd bcm2835-1.xx
$ ./configure
$ make
$ sudo make check
$ sudo make install

BCM2835 폴더에서 생성

$ cd ~/e-Paper/raspberrypi/bcm2835
$ sudo make
$ ls
epd
(etc..)
epd가 생성되었는지 확인하십시오.

실행

$ sudo ./epd
위에서 설명한 대로 e-Paper 화면이 업데이트됩니다.

Wiringpi에서 실행하는 방법


무선 네트워크 구축


$ cd ~/e-Paper/raspberrypi/wiringpi
$ sudo make
$ ls
epd
(etc..)
epd가 생성되었는지 확인하십시오.

실행

$ sudo ./epd
위에서 설명한 대로 e-Paper 화면이 업데이트됩니다.

마지막


이번에는 전자용지 도입에서 샘플을 실시해 화면 표시까지 기재했다.
여기까지 오면 원본 코드를 조금만 수정하면 뭐든지 표시할 수 있어요!
가격은 라즈베리 PiZeroWH와 e-Paper 1.52인치를 합쳐도 5000엔 정도다.
대단한 시대가 왔구나...실감
나는 아이가 이런 일을 배울 때 대단한 시대가 온다고 생각한다.

참조 사이트


https://www.waveshare.com/wiki/1.54inch_e-Paper_Module
https://macsbug.wordpress.com/2017/09/07/e-paper-with-esp32/
https://tomosoft.jp/design/?p=5252
https://www.waveshare.com/wiki/Pioneer600#Libraries_Installation_for_RPi
http://www.airspayce.com/mikem/bcm2835/
https://tool-lab.com/2013/12/raspi-gpio-controlling-command-2/
구멍을 뚫을 때 제가 보도를 참고할 수 있도록 허락해 주십시오.정말 배울 만해요.정말 감사합니다.

업데이트


2018/07/15<이렇게 해도 위의 상황을 표시할 수 없음>

좋은 웹페이지 즐겨찾기