팁과강좌 게시판에 올린 ePaper액자 자작에 사용된 코드들입니다
https://www.clien.net/service/board/lecture/18959109CLIEN
1. 배쉬 스크립트는 저희집 리눅스 홈서버에서 실행됩니다. snoopyDisplay 밑에있는 new 디렉토리에서 이미지 파일을 랜덤하게 뽑아서 "epd_image_0.pgm"이란 이름으로 저장해주고 그 파일을 old디렉토리로 하루에 한번 옮겨주는 역할을 합니다. 며칠후 new디렉토리가 텅 비면 파일들을 old에서 new로 옮겨줍니다. 중간에 새 이미지를 업로드하고 싶으면 add디렉토리를 이용합니다. 이 디렉토리의 이미지들은 new파일보다 우선권이 있습니다.
2. 스크립트는 크론탭에서 다음 옵션으로 실행됩니다. 챗지피티는 크론말고 다른 더 고급진 방식들을 제시하는데 제가 무식한 관계로 그냥 익숙한 방식으로 작업했습니다
| @reboot /path/to/your/script.sh >> /var/log/snoopy_display.log 2>&1 & |
3. 스크립트에는 서버 재부팅시 mosquitto가 로딩될까지 기다리는 루틴이 포함되어 있습니다. 제가 사는 호주에서는 정전이 자주 있는 편이라서 이런게 필수적이랍니다.
4. 아두이노코드는 깃헙의 다음 코드를 카피하고 제 필요에 맞게끔 적당히 수정했습니다. 저한테는 MQTT, ntp time sync등이 필요해서 추가했고 배터리가 특정레벨 이하로 떨어질 경우 스누피가 슬픈 표정으로 충전해주세요~ 하는 그런 식의 루틴을 앞으로 추가해볼 생각이었지만 뭐 이제 다 망한 마당이라 별 쓸데없네요 ㅠㅠ
(코드 자체는 몇달간 테스트해본 결과 이상없이 잘 작동합니다)
https://github.com/TheRealLiviux/EpdWebImage