Disable Right Click

Friday, June 19, 2020

Raspberry Pi Reference Pages



OctoPrint 설치


Headphone stand - 3D Printing Time Lapse

 라즈베리파이를 산 김에 이것 저것 해보고 있다. 그 중 하나로 3D 프린터와 연결하여 프린터를 원격으로 조작하거나 출력 과정을 타임랩스로 남기는 작업을 해봤다.

 OctoPrint 라는 프로그램을 라즈베리파이에 설치하고 설정을 좀 만져주면 되는데, 설치과정이랄 것도 없어서 과정은 생략한다.


결과물 : 헤드폰 스탠드 (주황색)




돈쓰기 싫어서 집에 굴러다니는 싸구려 액션캠을 활용했더니 화질구지다.

 사실 Octolapse 라는 OctoPrint 의 플러그인을 사용하고 싶었으나, 내 프린터 모델이 너무 마이너해서 그런지 잘 동작하지 않았다. Octolapse 개발자와 이야기를 해봤고, 문제점이 뭔지는 알겠다고 하였지만 언제 개선 버전으로 릴리즈 될지는 모르는 상황이다.
  (64-bit Raspberry Pi OS 설치로 인한 문제이다. 32-bit Raspberry Pi OS 설치 후 Octolapse 도 별 문제 없이 작동된다.)

  3D 프린터는 손이 너무 많이간다. 모든 각각의 부품이 변수라고 생각하면 된다. 여기에 상수라고 할만한게 없음.

  단순하고 빠르게 결과물만을 얻고 싶어하는 사람들은 사면 안되는 제품이라고 말하고 싶다.

Sunday, June 14, 2020

Raspberry Pi + Transmission + Plex : 파일 다운로드 후 폴더로 이동하는 스크립트

 Plex 는 디렉토리 구조가 잘 구성 되어야 자동으로 썸네일도 예쁘게 가져온다.

 문제는 Movies 에 있는 파일은 단독 파일(Stand-Alone)도 잘 분석을 하는데, TV Shows 에 있는 단독 파일은 제대로 읽어들이지 못하는 듯 하였다.

 그래서 파일을 다운로드 후 단독 파일이면 해당 파일명을 따르는 폴더를 만들고 그 폴더 안으로 파일을 이동하는 스크립트를 만들어봤다.
 파일명에서 . 을 찾아서 그 앞의 단어로 폴더를 만든다.
 예를 들어 받은 파일명이 "일요일 오후.E100.200614.720p.mp4" 이면 폴더명은 "일요일 오후" 가 된다.
#!/bin/sh
targetDir="/home/pi/Media/TV Shows"
find "${targetDir}" -maxdepth 1 -type f | while read fileName
do
	echo "[targetFile] " $fileName
	folderName="${fileName%%.*}"
        folderName="${folderName%% E*}"
        mkdir -p "${folderName}" echo "[make new folder] " $folderName mv "${fileName}" "${folderName}" echo "[move file to new folder]" done
/etc/transmission-daemon/settings.json 에서 "script-torrent-done-enabled" 를 true 로 변경.
"script-torrent-done-filename" 에 위에서 만든 스크립트 파일명(절대경로)을 써주면 파일을 다 다운로드 후 해당 스크립트를 실행한다.
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/home/pi/scripts/rename", 
 transmission 으로 받은 파일을 plex 에서 지울 수 없는 경우가 있는데, 파일 권한 때문이다.
 위와 동일한 settings.json 파일에서 "umask" 를 0으로 바꾸면 다운받은 파일의 권한이 777로 된다.
"umask": 0,
끝.

Wednesday, June 10, 2020

새 장난감: Raspberry Pi 4 Model B 8GB RAM


새 장난감: Raspberry Pi 4 Model B 8GB RAM.

무려 64-bit 프로세서를 가지고있다.

생각보다 조금 비쌌고, 생각보다 크기가 많이 작았다.

Monday, June 8, 2020

3D Printer Marlin update 하기.

 Marlin 홈페이지에 가서 최신 소스를 다운로드 받는다.

 Github 에서 소스를 보고 받을수도 있지만, 오픈소스는 최신소스보다는 안정화된 버전을 추천한다. 따라서 그냥 "Latest release" 의 zip 파일을 다운로드 받는다.

압축을 풀고 config 폴더를 열어보면 README.md 파일이 나오는데, 해당 파일을 열어보면 여러 3D Printer 들의 config 파일이 올라가있는 URL 이 쓰여있다.

자신의 프린터에 해당되는 파일을 찾아서 (폴더명으로 찾을 수 있다.)

 해당 Configuration.h 파일과 Configuration_adv.h 파일을 처음 압축 푼 프로젝트 폴드의 Marlin 폴더에 복사해 넣는다. (덮어쓴다.)

 Marlin.ino 프로젝트를 Arduino 로 열면 기본적으로 Configuration.h 파일과 Configuration_adv.h 파일이 열려있다. 이 두 파일만 자신의 프린터에 맞게 수정하면 된다. (다른 파일도 바꿀수는 있지만, 자신만의 프린터를 만드는 목적이 아니라면 그 방법은 잘못된 것이다.) 값이 잘못 들어가있거나 엉뚱한 프린터의 Configuration 파일을 쓴다면 프린터가 이상하게 동작한다. Configuration 파일을 수정하기 전에 자신의 프린터에 대한 파악이 필요하다. 간단한 예를 들자면, 같은 모델명의 프린터이지만 뒤에 붙는 글자에 따라서 사용하는 보드의 버전이 다를 수 있고, 보드 버전에 따라 핀맵이 다를 수 있기 때문에 오동작을 할 수 있다.

 Configuration 파일의 수정이 끝났으면, 프린터와 컴퓨터를 케이블로 연결 후 Sketch > Verify/Compile 후 Upload 하면 된다. 프린터를 리부팅 한 후 EEPROM 을 초기화 하고 시작하는 것을 추천한다.

 프린터를 리부팅 한 후 프린터 정보등을 확인하여 새로운 버전이 잘 올라갔는지 확인한다.

 EEPROM 을 초기화 했으니 새롭게 PID 튜닝을 해준다.

- PID Autotune for nozzle :
  M303 E0 S200 C8

- Enter the new Kp, Ki, Kd values :
  M301 P12.34 I0.12 D23.45

- PID Autotune for bed :
  M303 E-1 S60 C8

- Enter the new bed settings :
  M304 P1 I2 D3

- Save to EEPROM :
  M500

- Show current EEPROM :
  M503

새로운 세팅이 잘 저장되었는지 확인.

 Bed 레벨과 익스트루더 E-Step 값도 경우에 따라 맞춘다.

끝.