본문 바로가기
Hardware/3D Printing

ESP3D 설정 및 사용법

by lovey25 2020. 8. 12.

지난 포스팅(https://kwonkyo.tistory.com/376)에서 ESP01 모듈을 이용해서 ESP3D를 업로드하고 Trigorilla 보드에 연결하는 방법에 대해서 설명을 했었는데요.

이번에는 설치된 ESP3D를 사용하는 방법을 간단히 알아보겠습니다.

설치가 잘 되어 있다면 Anycubic Delta Kossel 프린터기 기준으로, 프린터기를 켜면 아래 사진과 같이 설정 시 지정한 SSID로 연결을 시도하고 연결이 완료되면 할당받은 아이피 주소가 화면 하단에 나타나게 됩니다.

이제 핸드폰이나 PC에서 아이피주소를 통해서 ESP3D에 접속해 줍니다.

ESP3D for Marlin

ESP3D의 웹서버 GUI 화면입니다.

우측 상단의 메뉴에서 "Preferences" 를 눌러보면 Dashboard 구성을 조정할 수 있는 메뉴를 확인할 수 있습니다.

총 8개의 패널에 대한 옵션으로 구성이 되어 있습니다. 먼저 lock interface는 실수로 인한 오작동을 방지하기 위한 안전장치 같은 옵션입니다. 그리고 DHT output은 온습도 센서가 있는 경우 온도와 습도 값을 화면 상단에 보여주게 하는 기능입니다. camera는 말 그대로 카메라 화면을 볼 수 있도록 해주는 옵션입니다. 

그 아래로 노즐 위치와 온도를 컨트롤 하는 패널에 대한 옵션이 보이는데요. 프린터기에 히팅 배드가 있는 경우 temperatures panel에서 Enable bed controls 옵션을 켜주면 되겠습니다. 익스투루더는 옵션에 팬 컨트롤 기능까지 포함되어 있고 그다음이 files panel인데, SD카드에 저장되어 있는 gcode파일을 확인하고 출력 명령을 내리거나 파일을 삭제할 수 있습니다. 여기 설정에서는 gcode로 인식할 확장자를 지정할 수 있습니다. 마지막으로 commands panel인데 여기서 gcode를 입력해서 프린터기를 컨트롤할 수 있습니다. 여기서 프린터의 시리얼 메시지를 모니터링하기 위해서는 Verbose mode 옵션을 켜주어야 합니다.

"Printer" 탭에서는 프린터 EEPROM에 저장된 세팅값을 변경할 수 있습니다. M501코드로 확인할 수 있는 내용들을 이 탭에서 확인 할 수 있고 수정도 가능합니다. 하지만 수정된 값은 EEPROM에 자동으로 저장되지는 않습니다. dachboard의 command panel로가서 M500코드로 EEPROM에 저장을 해야 변경된 값이 프린터에 저장됩니다.

WIFI 파일 업로드

ESP3D 메인 화면에서 Files panel에는 Upload 버튼이 있는데 이 버튼으로 PC에 있는 gcode파일을 프린터기로 바로 업로드할 수도 있습니다.

하지만 파일이름에 제약사항이 있습니다. 파일 이름이 좀 길거나 하면 업로드 시에 다음과 같은 오류가 발생합니다.

8.3 파일이름, 그러니까 파일 이름은 8자리 확장자는 3자리까지 형식만 Marlin에서 지원하기 때문이라고 합니다. SD카드에 직접 넣은 파일을 Marilin에서 인식하는 건 문제가 없는데 와이파이를 통한 전송은 이 파일 이름 규격을 따라야 합니다.

오류가 난 파일은 이름을 고쳐서 업로드 하면 업로드 상태가 표시되면서 잘 전송되는 것 볼 수 있습니다. 하지만 전송속도는 절망적입니다. 시리얼 포트로 통신을 하기 때문에 UART 통신 속도로 업로드가 되는데 시간을 측정해 보진 않았지만 1Mb 정도 파일이면 5분 이상 걸리는 것 같습니다. 

LINE으로 메시지 보내기

ESP3D를 통해서 프린터기가 무선으로 연결이 되면 좋은 점이 프린터기 컨트롤을 위해서 꼭 PC를 사용하지 않아도 된다는 점 이겠죠. 프린터가 네트워크에 들어가 있으니 필요할 때마다 핸드폰으로 상태를 확인해 볼 수 있는데요. ESP3D에는 그 이상의 기능이 포함되어 있습니다. 바로 프린터기에서 푸시 메시지를 보내는 기능입니다.

"ESP3D" 탭에서는 프린터기의 기본 설정과 네트워크 설정을 할 수 있는데요. 네트워크 메뉴에서 아래쪽을 보면 Notification이라는 메뉴가 있습니다. 

여기서 푸시메시지를 받을 방법을 선택할 수 있는데요. 여기서 익숙한 "Line"이라는 이름이 보이는데, 바로 라인 메신저를 통해서 메시지를 보내는 기능입니다.

설정 방법은 라인 계정에서 notify-bot 토큰을 생성하고 생성된 토큰을 ESP3D에 저장해주면 되는데요. 상세한 설정법은 공식 위키(https://github.com/luc-github/ESP3D/wiki/Line)를 참고해주세요.

이렇게 라인 노티기능을 설정하면 명령 창에 "[ESP600]"이라는 ESP3D의 명령어를 사용할 수 있는데요. 사용법은 "[ESP600]"이라는 코드위에 보내고자 하는 메시지를 적어주면 됩니다. 예를 들어 "[ESP600]Hi"라고하면 라인 메신저로 "Hi"라는 노티를 받을 수 있습니다. 

저는 이 기능을 프린터기가 어느정도 출력이 진행되었는지 진행정보를 보내는 데 사용합니다.

출력을 위해서 준비한 gcode파일의 내용을 보면 아래 그림처럼 레이어에 대한 정보가 주석으로 달려있습니다. 물론 레이어 외에도 다양한 정보가 주석으로 있습니다. 그래서 이런 주석들을 보고 진행상황을 파악하기에 용의 한 부분에 [ESP600] 코드를 삽입해서 해당 코드를 지나갈 때 푸시 메시지를 발송하도록 하고 있는데요.

텍스트 편집기에서 ";LAYER"라는 문구를 일괄적으로 "[ESP600]LAYER"로 바꾸기를 하게 되면 레이어가 넘어갈 때마다 메시지를 보내도록 만들 수도 있습니다. 하지만 모든 레이어마다 메시지가 발생하면 문자 폭탄을 받을 수 있으니 빈도는 좀 조절할 필요가 있겠죠.

이렇게 수정한 gcode를 출력하게 되면 다음과 같은 메시지로 진행상태를 간접적으로 파악할 수 있습니다. 

그리고 Notification 설정중 "Auto notification"이라는 옵션이 있는데요 이 옵션을 활성화 해주면 프린터가 온라인이 될 때 자동으로 아래와 같은 메시지를 발생시켜줍니다.

외부에서 접속하기

프린터가 네트워크에 연결되었으니 집밖에서도 접속할 수 있도록 만들어주겠습니다. ESP3D 접속 포트는 80번이니까 공유기의 포트 포워딩 기능으로 외부에서 접속할 포트를 ESP3D IP의 80번으로 포워딩되도록 규칙 추가하였습니다. 이제 어디서나 접속할 수 있는 온라인 프린터가 되었습니다.

이상 ESP3D 사용법에 대해서 알아봤습니다. WIFI를 통해서 gcode를 전송할 때 속도가 너무 떨어지는 점이 좀 아쉽긴 한데 몇 천원짜리 모듈 하나로 이렇게 훌륭한 무선 프린터기로 업그레이드가 가능하다니 좀 놀랍지 않으신가요? 3D프린터 사용하시는 분들이라면 한번 사용해 보시라고 추천드리고 싶네요.

 

끝!

728x90

댓글0