본문 바로가기
Hardware/3D Printing

FYSETC SD-WIFI(ESPwebDev사용)로 3D프린터를 네트워크 드라이브로 연결

by lovey25 2021. 11. 4.
반응형

자작 3D 프린터를 사용하는 경우 가장 아쉬운 부분이 HMI가 아닐까 싶습니다. 워낙 방대한 하드웨어와 라이브러리에 대응을 하다 보니 3D 프린터 오픈소스 펌웨어는 그저 기능 구현에만 초점이 맞춰져 있어서 상용 제품들에 비해서는 사용성과 편의성이 떨이지게 마련입니다.

그나마 ESP3D라는 설루션을 알게 되면서 좀 더 그렇듯한 환경을 누리고 있긴 한데 ESP3D라는 게 프린터와 시리얼 통신을 기반으로 하다 보니 출력할 모델을 프린터로 옮기는 건 속도가 너무 느려서 어쩔 수 없이 SD카드를 컴퓨터로 가져와서 파일을 복사하고 다시 프린터에 꼽아서 출력을 할 수밖에 없는데요.

FYSETC SD-WIFI를 선택한 이유

오늘은 이런 불편함에 조금이나마 도움이 될만한 아이템이 있어 구매해 봤습니다. 바로 WIFI 연결이 되는 SD카드 FYSETC SD-WIFI(이하, FYSETC)입니다.

알리에서 약 15달러에 구매 가능합니다. 생긴 건 보통의 SD카드인 것 같은데 뒤에 뭔가가 덕지덕지 많이 달려있습니다. 왜 저는 생긴 것도 이상한 이 제품을 굳이 구매했을까요?! 이유는 간단합니다. 3D 프린터에 출력할 모델을 넣어줄 때 무선으로 컴퓨터에서 바로 쏴 줄 수 있는 인터페이스를 갖는 게 목적인데 이런 목적에 부합하는 제품이 이거 하나뿐이었기 때문입니다. FYSETC를 사용하면 3D 프린터에 삽입된 SD카드를 일종의 NAS처럼 사용할 수 있게 만들어 줍니다.

보통 WIFI를 지원하는 SD카드라고 하면 보통의 SD카드와 완전히 똑같이 생긴 아래 제품들을 쉽게 찾을 수 있습니다.

이렇게 일체형인 제품들 외에도 Micro SD카드를 삽입해서 사용하는 아답터 타입의 제품도 있습니다.

그런데 이런 제품들의 한계는 별도의 앱을 통해서만 SD카드와 파일을 주고받을 수 있다는 것입니다. 사용 목적이 디지털카메라에서 미디어 파일을 주로 다루는데 초점을 맞추고 있다 보니 STL 파일이나 GCODE 파일은 지원을 하지 않아서 사용을 할 수 없는 거죠.

그리고 가장 큰 한계가 공유기로 구축한 기존 네트워크 환경에 이 WIFI SD카드가 종속되는 구조가 아니라 WIFI SD카드가 AP가 되어 독립된 네트워크를 구축한다는 것입니다. 그래서 무선랜카드가 없는 일반적인 데스크톱에서는 사용이 불가능합니다.

제품 구성 및 외관

그럼 FYSETC은 어떤 제품이고 어떻게 사용하는지 과연 쓸만한지 그리고 제가 격은 작은 문제점과 해결방법 공유해 보도록 하겠습니다.

일단 제품 구성과 외관입니다. 알리에서 파는 여느 프로토타입의 제품들처럼 변변한 포장은 없이 그냥 비닐에 대충 넣어서 배달이 되는데요. micro 5핀 -  Type A의 USB 케이블과 제품 본체로 구성되어 있습니다. 

제품 본체는 이렇게 일반 SD카드처럼 생긴 부분 아래에 각종 모듈이 그대로 드러난 PCB형태를 하고 있으며 앞면에는 WIFI모듈, 리셋/플래시 버튼 그리고 상태 표시 LED가 위치하고 있습니다. 그리고 뒷면에는 micro-SD카드 슬롯이 있고 micro 5핀 단자 그리고 기능 선택 스위치가 있습니다.

슬롯에 마이크로 SD카드를 삽입하고 USB 케이블을 연결해보면 이런 모습이 되겠습니다.

기능 및 사용법

기능 스위치에서 2가지 모드를 선택할 수 있습니다. 'USB2UART' 그리고 'CARDREADER' 모드가 있는데요. Cardreader 모드는 삽입된 SD카드를 PC에서 외장형 드라이브로 인식하도록 하는 모드입니다. 많은 파일을 한꺼번에 SD카드에 넣어야 할 때는 필요할 수도 있겠지만 이 제품의 본연의 목적과는 상관없는 부가적인 기능입니다.

USB2UART 모드가 기본이 되겠는데 말 그대로 연결되는 USB를 컨트롤러와 UART로 연결해서 디버깅하는 용도로 사용할 수 있게 해 줍니다. FYSETC를 처음 사용하면 몇 가지 설정해줘야 하는 부분이 있는데, 이 모드에서 컴퓨터와 연결하고 시리얼 터미널 프로그램으로 접속합니다. 시리얼 터미널은 아무거나 사용하면 됩니다. 아두이노 IDE의 시리얼 모니터를 사용해도 되는데, 저는 주로 쓰는 CoolTerm이라는 프로그램을 사용했습니다. FYSETC이 연결된 시리얼 포트 번호를 확인하고 통신속도는 115200으로 연결해줍니다.

그리고 명령 창에 아래 명령어를 차례대로 입력해줍니다.

M50 SSID (SSID 설정)
M51 password (비밀번호 설정)
M52 (WIFI 연결)
M53 (연결 상태 확인)

M50, M51 명령어 뒤에는 FYSETC가 연결해야 하는 무선 네트워크의 SSID와 비밀번호를 넣어주면 됩니다. 그리고 M52 명령을 입력하면 와이파이 연결을 시작하고 M53 명령으로 연결 상태를 확인할 수 있습니다. 아래 캡처에서는 M53이 오타가 났는데 참고해주세요.

이렇게 연결이 완료가 되면 WebDav 프로토콜로 연결할 수 있습니다. 윈도에서 파일 탐색기를 열고 시리얼 모니터에서 확인된 접속 주소(\\[IP주소]\DavWWWRoot)로 이동합니다.

지금부터는 SD카드를 NAS처럼 무선으로 접속해서 파일을 넣고 빼고 할 수 있습니다.

파일 업로드 속도는 1.1MB가량의 파일 복사에 약 14초 정도 소요되네요. 약 78kB/s 정도 속도니까 빠르다고 할 수는 없는데 SD카드를 가져와서 카드리더기로 연결하고 파일 복사하고 다시 프린터에 가져다가 꼽는 부가적인 수고를 고려하면 쓸만한 것 같네요.

3D 프린터에서 테스트

이제 프린터에 직접 꽂아서도 잘 동작하는지 확인해 보겠습니다.

프린터에 연결하면 이렇게 툭 삐져나오는 게 좀 보기 흉할 수도 있는데 이거 말고도 덕지덕지 붙어 있는 게 있어서 DIY프린터라면 원래 이런 거 아니겠습니까. ㅎ 이렇게 연결하면 USB 케이블을 별도로 연결해 줄 필요 없이 SD 카드 연결 단자의 3.3V를 전원으로 사용해서 동작을 합니다.

일단 결론부터 얘기하자면 기대했던 기능들 모두 잘 사용할 수 있었습니다. 프린터에서도 SD로 정상적으로 잘 인식했고 PC나 태블릿 등에서도 네트워크로 접근하는데 문제가 없었습니다. 프린터에서 SD카드를 읽고 있을 때 동시에 네트워크를 접근하면 아래와 같이 SD카드가 사용 중이라는 메시지가 떠서 교통정리를 해주는 기능도 있네요.

다만, 전원이 문제인지 FYSETC를 구매해서 수령했던 처음 상태로는 프린터의 SD카드에 연결했을 때 네트워크 연결이 끊어지는 문제가 발생하여 사용이 불가능했었고 펌웨어의 수정을 통해서 해결할 수 있었습니다. 제조사에서 다행히 FYSETC의 펌웨어를 github에 공개를 해두었고 FYSETC 사용법 및 예상되는 이슈에 대해서도 공유를 하고 있어서 제 경우에는 비교적 쉽게 문제를 해결할 수 있었습니다. 혹시 동일한 문제를 격으신다면 아래 내용 참고하시면 좋을 것 같습니다.

 

펌웨어 수정

지금부터 이슈 해결방법입니다. 먼저 사용법 페이지를 확인해 보겠습니다.

 

GitHub - FYSETC/FYSETC-SD-WIFI: This repository contains the infomation of FYSETC SD-WIFI module

This repository contains the infomation of FYSETC SD-WIFI module - GitHub - FYSETC/FYSETC-SD-WIFI: This repository contains the infomation of FYSETC SD-WIFI module

github.com

기본적인 사용법에 대한 내용이 있고 페이지 아래쪽에 'Issue shot'이라는 섹션이 있는데 전원과 Wifi신호가 약한 경우 문제가 발생할 수 있다고 언급되어 있습니다.

그리고 이런 경우 Wifi 접속 모드를 변경해서 해결할 수도 있다고 하는데요. 선택할 수 있는 옵션은 총 3가지가 있고 각각의 모드의 특징이 간략히 기술되어 있습니다.

설명만으로 보면 "WIFI_PHY_MODE_11N" 모드가 전력소비도 가장 적도 속도도 가장 빠르다고 되어 있는데요. 제 경험상 초기 세팅이 '11N' 상태인 거 같고 '11G'모드로 변경해야 SD카드 슬롯이 직접 연결했을 때 네트워크 연결이 불안정해지는 문제를 해결할 수 있었습니다.

일단, 아래 링크로 이동해서 리포지토리를 다운로드합니다.

 

GitHub - FYSETC/ESPWebDAV: This is the firmware for FYSETC SD-WIFI module.

This is the firmware for FYSETC SD-WIFI module. Contribute to FYSETC/ESPWebDAV development by creating an account on GitHub.

github.com

다운로드한 소스를 아두이노 IDE로 열어줍니다. 아두이노 IDE는 기본적으로 아두이노 보드에서 사용하는 atmega칩에  맞게 설정되어 있어서 FYSETC 모듈이 사용하는 ESP8285 칩용 컴파일을 위해서는 모드 매니저를 추가로 설치해주어야 합니다. 아두이노 IDE 메뉴에서 '파일 > 환경설정'으로 이동해서 '추가적인 보드 매니저 URL'에 아래 주소를 추가합니다.

http://arduino.esp8266.com/stable/package_esp8266com_index.json

그리고 이번에는 '툴 > 보드 매니저'를 열어서 esp8266 2.4.0 버전을 선택해 줍니다. 이게 패키지 버전을 타서 상위 버전에서는 에러가 발생하니 꼭 2.4.0 버전을 깔아야 해요.

그리고  'SdFat'라는 라이브러리도 필요한데요. '툴 > 라이브러리 매니저'를 열어서 sdfat를 검색해서 이번에는 1.1.0 버전을 설치해줍니다. 이것도 상위 버전에서는 에러가 발생할 수 있어요.

이제 마지막으로 보드 상세 설정을 아래와 같이 하고 컴파일 준비가 모두 끝났습니다.

이제 WIFI 연결 모드를 11N에서 11G로 변경합니다. 소스코드에서 'WIFI_PHY_MODE_11'이라는 키워드로 검색을 하면 'network.cpp'파일에서 해당 설정 찾을 수 있는데요 이 설정을 'WIFI_PHY_MODE_11G'로 수정합니다.

이제 모든 준비가 끝났습니다. FYSETC를 UBS로 PC에 다시 연결을 하는데요. 연결할 때 아래 사진에 표시된 "FLSH" 버튼을 누른 채로 USB를 연결하고 연결한 다음에 버튼에서 손을 뗍니다. 모듈을 플래시 모드로 부팅하기 위한 절차입니다.

이제 아두이노 IDE에서 업로드 버튼을 눌러서 새로운 펌웨어로 교체합니다.

 

끝!

반응형

댓글