본문 바로가기

3D 프린터

프루사(prusa i3)에 옥토프린트(octoprint) 설치하기

반응형

현재 8대의 프린터를 운용하고 있는데 일이 많아서 여러 대의 프리터에서 출력을 하는 날에는 내가 어떤 SD카드에 출력할 G-Code 파일을 저장했는지 헷갈릴 때가 있다. 그리고 매번 SD카드를 꺼내고 넣고(가끔 손끝으로 정전기라도 오는 날에는 몹시 빡ㅊ...) 하는 일들이 귀찮아졌다... 그동안은 어떻게든 버텼으나 이제 3D 프린터를 원격으로 제어할 수 있는 옥토 프린트(octoprint)를 설치해야 할 때가 온 거 같다.

 

몇 해 전 Prusa i3를 구매하고 유튜브에서 관련된 영상들을 찾아보던 중 라즈베리파이 제로 (Raspberry pi zero)를 Pusa i3에 설치한 영상을 본 기억이 있어 이것을 참고해서 작업을 하기로 하고 라즈베리파이 제로를 구매하여 설치를 해보았으나... 실패하였다 혹 이 글을 보고 옥토 프린트를 설치하고자 하는 분들은 그냥 라즈베리파이 4로 작업하시길 강력히 권해본다.

 

몇 가지 실수와 풀리지 않는 의문 그리고 몹시 개고생 한 이유를 말하자면

라즈베리파이 제로는 WH (Raspberry pi zero wh)가 아니라 W로 구매하여야 한다. (W는 GPIO가 납땜이 안되어 있는 버전이고 WH는 GPIO가 납땜되어 있는 버전임 ) 내가 구매한 라즈베리파이 제로에 납땜되어 있는 GPIO 핀의 길이가 짧아서 보드에 제대로 삽입이 안돼 기존 GPIO 핀을 제거하고 핀 길이가 긴 GPIO를 구매해서 다시 납땜하는 고생을 하였다. 하지만 무엇이 문제인지 Prusa에 접속은 안됨, 그리고 octoprint는 라즈베리파이 제로를 지원하지 않으며 3D 프린터에 사용할 경우 출력 시 문제가 발생한다는 경고를 옥토 프린트에 접속하자마자 보여주니 하지 말라는 것은 안 하는 것으로...

                         라즈베리파이 제로W                                                                               GPIO                                            


목차

  1. 설치 전 준비물 
  2. 준비한 SD카드에 옥토 프린트(octoprint) 설치하기
  3. 라즈베리파이 4 IP 확인하기
  4. PuTTY를 설치하고 라즈베리 파이에 접속해서 고정 아이피 만들기
  5. 라즈베리파이(옥토 프린트)를 3D 프린터에 연결하기
  6. 크롬에서 옥토 프린트로 접속하기
  7. 옥토 프린트(octoprint)로 출력을 해보자

설치 전 준비물

  • 라즈베리파이 4
  • 라즈베리파이 4 아답터 (5V 3A, 검색 결과 전원 문제로 작동하지 않는 경우도 있다고 하니 전용으로 준비)
  • Micro SD (적당한 용량으로... 요즘 가격이 많이 저렴해져서 128GB로 구매함)
  • 라즈베리파이 4 케이스 (출력해서 사용)

*캠 설치는 다음에 하기로 하고 구매하지 않았다.


준비한 SD카드에 옥토 프린트(octoprint) 설치하기.

옥토 프린트 사이트에 접속해서 옥토 파이를 다운로드한다. 

 

Download & Setup OctoPrint

Learn how to setup OctoPrint using the preinstalled OctoPi image for Raspberry Pi, or how to install from source on Windows, Linux and Mac.

octoprint.org

다운로드 오토파이를 클릭해서 파일 다운로드

다운로드한 옥토 파이를 압축 해제하고 balenaEtcher 프로그램으로 SD카드에 img 파일을 설치한다. balenaEtcher는 아래 링크로 사이트에 접속하여 받을 수 있다. (Win32DiskImager 프로그램도 가능)

 

balena - The complete IoT fleet management platform

Infrastructure and tools to develop, deploy, and manage connected devices at scale. Your first ten devices are always free.

www.balena.io

 

Win32DiskImager – Raspberry Pi Projects

 

raspberry-projects.com

balenaEtcher 프로그램을 실행한다.

Etcher 실행

Flash from file를 클릭하고 다운로드한 옥토 파이 img파일 경로를 찾아서 선택하고 "열기"를 클릭한다.

img 파일을 선택한다.

Select target을 클릭하고 img파일을 설치할 SD카드를 선택하고 Flash를 클릭하면 설치가 시작된다.

Select target 클릭
img파일을 설치 할 micro SD 카드를 선택하고 Select 클릭
SD카드를 선택하고 Flash! 버튼을 클릭하면 설치가 시작되고 자동으로 완료된다

옥토 파이(octopi) img파일이 SD카드에 설치가 되면 디스크를 포맷하라고 나오는데 포맷하면 안 된다. 취소를 클릭하면 폴더를 열 수 없다고 나오는데 SD카드를 뺐다가 리더기에 다시 꽂아주면 또 포맷하라고 나오고 역시 취소를 클릭하면 내 PC에 boot 드라이브가 인식된 것을 확인할 수 있다.

포맷하면 안됨
boot 드라이브가 보인다.

boot 드라이브를 클릭하면 파일이 여러 개 나오는데 이중에 octopi-wpa-supplicant.txt 파일을 선택해서 수정해야 Wi-Fi에 연결할 수 있다. 수정할 때는 Windows에 텍스트 문서나 노트패드로 열어서 수정하면 안 된다. Notepad++, Atom, VSCode 등의 프로그램을 사용해서 수정해야 한다. (Notepad++는 아래 링크에서 받을 수 있다)

 

Notepad++

What is Notepad++ Notepad++ is a free (as in “free speech” and also as in “free beer”) source code editor and Notepad replacement that supports several languages. Running in the MS Windows environment, its use is governed by GNU General Public Lice

notepad-plus-plus.org

Notepad++로 편집
## WPA/WPA2 secured 항목을 찾아서 ssid, psk항목을 수정한다.
Wi-Fi 설정을 확인한뒤 이름과 패스워드를 입력

WPA/WPA2 secured 항목을 찾아서 ssid, psk항목을 수정한다. 앞부분에 #은 지워준다. ssid는 내가 사용하고 있는 무선 네트워크 이름, psk는 무선 네트워크 접속 비밀번호를 입력해 준다. ssid는 Windows에 Wi-Fi 목록에서 확인할 수 있다.

파일을 저장하고 micro SD 카드를 라즈베리 파이 슬롯에 삽입하고 전원을 연결하여 부팅해 준다.


라즈베리파이 4 IP 확인하기

나는 아이피타임 공유기를 사용하고 있기에 크롬에서 192.168.0.1 주소로 접속하여 옥토 파이의 IP주소를 확인하였다.

관리 메뉴 →고급설정→네트워크 관리→내부 네트워크 설정 부분에서 확인할 수 있다.


PuTTY를 설치하고 라즈베리 파이에 접속해서 고정 아이피 만들기

라즈베리파이 4로 접속하기 위해서 PuTTY를 설치한다. (PuTTY는 아래 링크에서 받을 수 있다.)

 

Download PuTTY - a free SSH and telnet client for Windows

Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to find the PuTTY download link. W

www.putty.org

PuTTY 프로그램으로 라즈베리 파이 제로에 접속한다 (octipi.local 또는 IP주소로 접속) Connection type이 SSH로 설정되어 있어야 한다.

Host Name 입력 박스에 octipi.local 또는 IP주소를 입력하고 Open 버튼 클릭하면 접속

pi를 입력한다

로그인 아이디는 pi 패스워드는 rasberry를 입력하면 된다. 다만 login as에서 pi를 입력하고 password를 입력하는 명령줄에서는 입력하는 문자를 화면에 출력해 주지 않으므로 raspberry라고 입력하고 엔터를 누르면 된다.

pi라고 입력하고 엔터를 누르면 password 입력으로 넘어간다 여기에서 raspberry 라고 입력한고 엔터
잠시 기다리면 이런 화면이 나온다

정적 아이피로 변경하기 위해서 sudo nano /etc/dhcpcd.conf 명령을 입력하고 엔터를 누르면 다시 패스워드를 입력하라고 나오는데 여기서 똑같이 raspberry라고 입력하고 엔터를 누른다.

프롬프트를 아래쪽 방향키로 맨 아래 라인까지 스크롤 한다.

키보드 방향키 중에 아래쪽 키로 맨 아래까지 프롬프트를 이동시키고 엔터로 한 칸 아래로 이동시켜 몇 개의 라인을 추가하여 무선 고정 아이피를 설정한다.

interface wlan0 (라즈베리파이 랜 이름 입력)

static ip_address=192.168.0.26/24 ( 정적 아이피 입력, 무선공유기에서 자동 할당된 주소를 사용하기로 함)

static routers=192.168.0.1 (게이트로 사용되는 라우터를 설정하기 위해서 공유기 아이피 입력)

static domain_name_servers=192.168.0.1 입력 (기본 도메인 설정.)

틀린 부분이 없는지 확인하고 Ctrl+X 를 누르면 저장하겠냐고 물어본다. Y를 누르면 저장된다.

저장할 파일 이름을 물어본다. 그냥 엔터 하면 된다.

명령 프롬프트에서 라즈베리 파이를 재부팅하기 위해 sudo reboot now를 입력하고 엔터를 누르면 다시 패스워드를 입력하라고 나오는데 다시 raspberry를 입력하고 엔터를 눌러 재부팅한다.

라즈베리 파이를 재부팅하고 공유기 관리 메뉴에서 내부 네트워크 설정을 확인해 보면 수동 설정으로 변경된 것을 확인할 수 있다.


라즈베리파이(옥토 프린트)를 3D 프린터에 연결하기.

케이스는 thingiverse에서 다운로드하여서 출력. USB 케이블을 3D 프린터에 연결해주고 라즈베리파이 4 아답터를 연결한다. 구글에서 검색해 보니 5V에 3A 제품을 사용해야 한다고 함.  

 

Malolo's screw-less / snap fit customizable Raspberry Pi 4 Case & Stands by Malolo

Please note: This is an adapted version of my Raspberry Pi 3 case that I modified to fit the Raspberry Pi 4. I do not yet own the Raspberry Pi 4 myself. However Thingiverse user Haz1 was kind enough to patiently print several iterations of the case and sen

www.thingiverse.com

연결이 됐으면 이제 옥토 프린트로 접속해 보자.


크롬에서 옥토 프린트로 접속하기

크롬 URL 입력 창에서 라즈베리파이의 아이피 주소(또는 http://octopi.local)를 입력하고 엔터를 누르면 옥토 프린트로 접속이 가능하며 처음 접속할 때 Setup Wizard 페이지가 나오는 걸 확인할 수 있다.

Next를 클릭하면 다음 항목으로 넘어간다

Access Control 메뉴를 선택하여 계정을 생성한다. Username에 사용자 이름 Password에 비밀번호 Confirm Password에서 비밀번호를 다시 한번 입력하고 Create Account를 클릭한다. 계정이 생성되면 Next를 클릭하여 다음 페이지로 넘어가자

흠... 뭘 추적한다는데 아마도 옥토 파이에 정보를 제공하고 향후 개발에 반영하기 위한 정보 수집일 거 같은데 Enable... 을 선택하기로 하자.

옥토 파이가 인터넷에 연결되어 있는지 정기적으로 확인하는데 비활성화할 경우 항상 인터넷에 연결되어 있다고 가정한다고 함. Check interval 15 min 이므로 15분마다 한 번씩 확인하게 설정되어 있고 값을 수정할 수 도 있음.  Test host & port는 구글 서버를 통해서 핑 테스트를 할 수 있음. 클릭했을 때 The server is reachable라고 나오면 정상. 설정을 마쳤으면 Enable Connectivity Check를 클릭하고 다음 페이지로 넘어간다.

더보기

플러그인 블랙리스트 처리 구성 특정 버전의 타사 플러그인에 대해 알려진 심각한 문제로부터 보호하기 위해 OctoPrint는 중앙 집중식 플러그인 버전 블랙리스트를 사용하여 이러한 플러그인 버전이 정상적인 작동을 방해하기 전에 자동으로 비활성화하여 제거하거나 최신 버전으로 업데이트할 수 있도록 지원합니다.

기본적으로 OctoPrint는 plugins.octoprint.org/blacklist.json에서 호스팅 되는 블랙리스트를 사용하며 여기에서 사람이 읽을 수 있는 형식으로 볼 수도 있습니다.

다음 서버 시작부터 이 중앙 집중식 블랙리스트의 가져오기 및 사용을 허용할지 여부를 결정하십시오. 또한 OctoPrint 내에서 바로 설정> 서버를 통해 언제든지 결정을 변경할 수 있습니다.

라고 나오니 활성화(Enable...)를 선택하고 다음 페이지로 이동

프린터 프로필 설정

더보기

아래 설정이 프린터와 일치하는지 확인하십시오. OctoPrint에 두 대 이상의 프린터를 연결하려는 경우 설정> 프린터 프로필에서 추가 프린터 프로필을 구성할 수도 있습니다.

라고 한다. 프린터 프로필을 입력하자.

Name에 내가 알아보기 좋은 프린터 이름을 입력하고, Model에 3D 프린터 모델명을 입력한다.

From Factor는 사각이니 Rectangular (원형이라면 Circular 선택), Origin은 Prusa 원점이 왼쪽 하단이니 Lower Left에 두면 된다 손댈 게 없네... Heated Bed 또한 Prusa에는 히팅 베드가 있으니 체크된 기본값으로 두고 Heated Chamber는 없으니 체크가 해제되어 있는 기본값으로 둔다. 그리고 내 Prusa의 출력 가능한 사이즈를 입력한다.

Width(X) 200mm → 250 , Depth(Y) →210mm, Height(Z)→210mm로 수정한다 (Prusa 기본 값)

더보기

프린터의 프린트 헤드가 인쇄 볼륨 외부로 약간 이동할 수 있는 경우 (예 : 노즐 청소 루틴) 아래에서 이동에 대한 사용자 정의 안전 경계 상자를 정의할 수 있습니다.

라고 나오는데 아래에 바운딩 박스 설정 부분에 대한 설명인 듯하다. 테스트 전이니 체크되지 않은 기본값으로 두고 Axes로 이동

기본값으로 두고 Hotend & extruder 항목으로 넘어간다.

프린터 노즐 사이즈와 익스트루더 값을 설정한다. 나는 0.4 노즐에 싱글 익스트루더 이기 때문에 값을 수정할 필요가 없다. 노즐 사이즈나 익스트루더가 2개 이상이라면 설정을 변경하면 된다.

하단에 Next를 클릭하면 Finish로 넘어가고 셋업이 완료된다. 하단에 Finish 버튼을 클릭하자

셋업을 마치고 옥토 프린트 화면으로 넘어가자마자 업데이트하라고 나옴. 바로 해주자 업데이트

 

업데이트가 끝나고 재부팅되면 reload 하라고 나오는데 Reload now를 클릭하면 옥토 프린트 웹페이지가 다시 로드된다.

왼쪽 Connection 메뉴에서 Connect 버튼을 클릭한다. Serial Port는 ttyACM0으로(USB 연결) Baudrate는 115200으로 설정한다. 모르겠으면 Auto로 둔다. (참고로 sidewinder X1은 Baudrate가 250000) 문제가 없다면 State 메뉴에서 연결되는 것을 확인할 수 있다.

3D프린터와 연결되면 노즐과 베드 온도가 나온다


옥토 프린트(octoprint)로 출력을 해보자.

연결된 3D 프린터에 thingiverse에서 받은 Cali Cat The Calibration Cat을 출력해보기로 한다.

 

Cali Cat - The Calibration Cat by Dezign

Cali Cat is designed to be the purrfect initial calibration and benchmarking print. It is a simple, standard test to ensure you have the basics down before proceeding to advanced prints. Cali Cat is the alternative to boring calibration cubes. It's a test

www.thingiverse.com

출력 조건을 설정하고 슬라이싱 한다. 생성된 G-Code를 저장한다.

다시 옥토 프린트에서 Upload 버튼을 누르면 파일을 선택하는 탐색기가 나오는데 여기서 출력할 파일을 선택한다.

업로드할 G-Code파일을 선택하고 열기를 클릭한다.

 

Files 메뉴에 Upload 된 파일이 보인다. 프리터 모양의 버튼을 클릭한다.

State 메뉴에 출력할 파일 이름, 출력 시간, 필요한 재료량 등등이 나오고 프린트 버튼을 클릭하면 출력이 시작된다.

Target 부분에 설정한 온도가 나온다. Actual 값이 Target 값만큼 오르면 출력이 시작된다.

설정 온도에 맞춰 온도가 오르는 것을 그래프로 보여준다.

G-Code Viewer에서는 출력되는 경로를 볼 수 있다. 

SD카드에서 자유로워졌다. ㅋㅋㅋ

 

 

설정된 온도가 맞춰지면 프린트를 시작한다.

출력이 잘되었다. ㅎㅎ 다음에는 캠도 설치해야겠다. 라즈베리파이 제로로 설치해보려고 엄청 삽질하다가 포기하고 라즈베리파이 4로 설치하고 이글 쓰기까지 한 달이 걸렸다... 다음에는 다시 라즈베리파이 제로로 만들어야지.

 

 

삼디알

안녕하세요! 삼디알 입니다

www.youtube.com

 

반응형