티스토리 뷰
라즈베리파이에 관심이 계속 있었지만, 지속적으로 사용할만한 동기가 없어 그동안 구매를 하지 않았었는데.
우연하게 인터넷에서 E-Ink 디스플레이를 하나 보게 됐고, 사용하고 싶은 용도가 생겨 구매하게 됐습니다.
(사용하기 시작한지 반년이 지났는데 이제서야 포스팅을 작성하는...)
우선 제가 라즈베리파이와 E-Ink를 통해 만들고 싶었던건 날씨 및 미세먼지 정보를 알려주는 간단한 알림판 이었습니다. 앱으로도 볼 수 있고 스피커에 물어볼 수도 있지만(응?) 확인하기 위해 계속 폰을 켜야 하는게 불편했고. 그냥 눈에 잘 띄는 곳에 놓고 외부 온습도 및 미세먼지를 확인하고 싶었습니다.
이런 제품을 위해 몇가지 기준을 정했는데,
1. 저전력
2. E-Ink 디스플레이 (이녀석 때문에 시작이 된거라 당연히..)
3. 쉽게 구성 가능할 것 -> Python 으로 작업이 가능할 것.
이렇게 3가지 였습니다.
위 용도로 사용하기 위해 저는 라즈베리파이 Zero WH 라는 제품을 구매했고,
E-Ink 는 Waveshare 제품으로 선택 했습니다. (사전에 Python용 코드가 제공되는 것을 확인했습니다.)
(왼쪽 상단이 2.7인이 E-Ink 디스플레이 후면, 왼쪽 하단이 라즈베리파이 Zero WH, 오른쪽은 라즈베리파이3 B+ 모델입니다. 크기 참조용.)
구매한 제품은 waveshare 제품으로 약 $20.
https://ko.aliexpress.com/item/264x176-2-7inch-E-Ink-display-panel-for-Raspberry-Pi-Black-White-Two-color-SPI-Interface/32830012306.html
해당 디스플레이 제품을 검색해보면 쉽게 Python 예제 코드를 확인할 수 있었고,
라즈베리파이에 연결해 작업을 시작했습니다.
첫번째 발생한 이슈는 SPI 에러.
구글링을 통해 http://www.takaitra.com/posts/492 발견.
옵션에서 SPI를Enable 시킴.(Step1 만 참고.)
두번째는 데모 코드가 바로 동작하지 않는데, SPI와 PIL 라이브러리를 설치해줘야 합니다.
세번째는 데모 코드가 Python2로 되어 있습니다. 기본 라즈베리파이에 Python2 가 설치 되어 있지만 저는 Python3으로 환경을 구성해 뒀고, 데모코드를 동작하며 발행하는 에러들을 Python3에 맞게 수정해 줘야 했습니다.
그러다 Python3으로 코드를 수정해서 올려둬야겠다 싶었는데, 역시나 다시 검색해 보니 편하게 사용할 수 있도록 wrapper 가 있었습니다.
https://github.com/lyoko17220/ePaperLibrary
현재 전원은 24시간 켜져 있는데 공유기 USB 포트에 연결해 두었고, 시간대별로 온습도, 미세먼지를 번갈아 가며 표시하도록 해두었습니다. 공유기의 USB 포트 출력 정도로도 라즈베리파이 ZERO 와 E-Ink 디스플레이 정도 띄우는데는 충분해 보였습니다.
좀 예쁘게 이미지도 넣고 꾸미고 싶었으나 딱 저기까지 구현해 놓고 이후 귀찮아서 그냥 사용하고 있습니다.
실내외 정보를 한눈에 파악할 수 있어서 나름 유용하게 사용중입니다.