[μ°Έκ³ μλ£]
https://kwonkyo.tistory.com/388
https://bugwhale.tistory.com/entry/raspberry-octoprint-install-02?category=839480
https://community.octoprint.org/t/setting-up-octoprint-on-a-raspberry-pi-running-raspbian-or-raspberry-pi-os/2337
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=joonhaa&logNo=221414809204
https://blog.naver.com/21ahn/221821076179
1. μ€μΉ λ° μ°κ²°
1) μ₯ν νλ¦°νΈλ₯Ό μ¬μ©νκΈ° μν΄μλ νμ΄μ¬ μ¬μ© νκ²½μ λ§λ€μ΄μ£Όμ΄μΌ νλ€. νμ¬ νμ΄μ¬ λ²μ μ νμΈνλ€.
python3 --version
2) νλ‘κ·Έλ¨ κ°μ μΆ©λμ λ°©μ§νκΈ° μν΄μλ κ°μ νκ²½μ μ₯ν νλ¦°νΈλ₯Ό μ€μΉνλ κ²μ΄ μ’λ€.
3) Python ν¨ν€μ§, μ’ μμ±, κ°μ νκ²½ λ±μ μ€μ νκΈ° μν΄ λ€μ λͺ λ Ήμ΄λ₯Ό μ€ννλ€.
$ cd ~
$ sudo apt update
$ sudo apt install python3-pip python3-dev python3-setuptools
$ sudo apt install python3-venv git libyaml-dev build-essential
$ mkdir OctoPrint && cd OctoPrint
$ python3 -m venv venv
$ source venv/bin/activate
4) μ₯ν νλ¦°νΈ λ° Python μ’ μμ±μ pip λ₯Ό μ΄μ©ν΄ μ€μΉν μ μλ€.
$ pip install pip --upgrade
$ pip install octoprint
5) μ₯ν νλ¦°νΈ μμ μ , μ¬μ©μκ° μλ¦¬μΌ ν¬νΈμ μ κ·Όν μ μλλ‘ dialout κ·Έλ£Ήκ³Ό tty μ pi κ³μ μ μΆκ°νλ€.
$ sudo usermod -a -G tty pi
$ sudo usermod -a -G dialout pi
6) μ¬λΆν ν μ₯ν νλ¦°νΈ μλ²λ₯Ό μ€ννλ€.
$ reboot
$ ~/OctoPrint/venv/bin/octoprint serve
7) μΉλΈλΌμ°μ μ μ₯ν νλ¦°νΈμ μ£Όμλ₯Ό μ λ ₯νμ¬ μ μν©λλ€. μ₯ν νλ¦°νΈμ κΈ°λ³Έ ν¬νΈλ 5000λ²μ΄λ€.
http://192.168.0.xx:5000
8) 3D νλ¦°ν°μ λΌμ¦λ² 리νμ΄λ₯Ό USB μΌμ΄λΈλ‘ μ°κ²°ν΄μ€λ€.
(λΌμ¦λ² 리νμ΄μ μ°κ²°λ USB λ¨μμ 5V ν λΆλΆ(μλ κ·Έλ¦Όμμ 1λ² μμΉ)μ ν μ΄νλ₯Ό λΆμ¬ μ λ₯κ° ν΅νμ§ μκ² λ§λ€μ΄μ€λ€. )
(μ΄ λΆλΆμ λ§μμ£Όμ§ μμΌλ©΄ 3D νλ¦°ν°μ μ μμ΄ νμ μΌμκ² λλ€. )
2. κΈ°λ³Έ μ€μ
'Next' λ²νΌμ λλ₯Έλ€.
μ μ μ μ¬μ©ν 'Username' κ³Ό 'Password' λ₯Ό μ λ ₯ν΄μ€λ€.
'Create Account' λ₯Ό λλ₯Έ ν 'Next' λ²νΌμ λλ₯Έλ€.
κΈ°λ³Έκ°μΌλ‘ μ€μ ν ν 'Enable Connectivity Check' λ²νΌμ λλ₯Έλ€.
'Next' λ²νΌμ λλ₯Έλ€.
'Enable Anonymous Usage Tracking' λ²νΌμ λλ₯Έλ€.
'Next' λ²νΌμ λλ₯Έλ€.
'Enable plugin Blacklist Processing' λ²νΌμ λλ₯Έλ€.
'Next' λ²νΌμ λλ₯Έλ€.
κ°μ§κ³ μλ 3D νλ¦°ν°μ νλ‘νμΌμ μ λ ₯ν΄μ€λ€.
'Next' λ²νΌμ λλ₯Έλ€.
κ°μ§κ³ μλ 3D νλ¦°ν° μ¬μμ λ§λ κ°λ€μ μ λ ₯ν΄μ€λ€.
'Next' λ²νΌμ λλ₯Έλ€.
'Next' λ²νΌμ λλ₯Έλ€.
'Next' λ²νΌμ λλ₯Έλ€.
'Finish' λ²νΌμ λλ₯Έλ€.
μ€μ μλ£ ν μ μ μ΄κΈ° νλ©΄
3. λ©λ΄ ꡬμ±
Serial Port : 3D νλ¦°ν° μ°κ²° μ΄ν λΌμ¦λ² 리νμ΄μ ν λΉλ μλ¦¬μΌ ν¬νΈλ²νΈλ₯Ό μ§μ ν΄μ€λ€.
Baudrate : μμ μ 3D νλ¦°ν°μ λ§λ κ²μΌλ‘ μ§μ ν΄μ€λ€. λ§μ½, μ λͺ¨λ₯΄κ² μΌλ©΄ κ°μ₯ ν° κ²λΆν° μμ κ² μμΌλ‘ νλμ© μ€μ¬λκ°λ³Έλ€.
μ€μ μ΄ λλ¬μΌλ©΄ 'Connect' λ²νΌμ λλ₯Έλ€.
3D νλ¦°ν°μ μ°κ²°μ΄ λλ©΄ λ€μκ³Ό κ°μ μ 보λ€μ΄ μνμ°½μ 보μ¬μ§λ€.
μΆλ ₯ κ°λ₯ν νμΌ λͺ©λ‘μ΄ λ³΄μ¬μ§λ€.
'Upload' λ²νΌμ λλ₯΄λ©΄ 3D νλ¦°ν°λ‘ gcode νμΌμ μ μ‘ν μ μλ€.
'Temperature' νλͺ©μ λλ₯΄λ©΄ 3D νλ¦°ν°μ λ Έμ¦κ³Ό λ² λ μ¨λκ° νμλλ€.
'Control' νλͺ©μ λλ₯΄λ©΄ 3D νλ¦°ν°λ₯Ό μ μ΄ν μ μλ€.
WebCAMμ΄ μ°κ²°λμμ κ²½μ°μλ μλ¨μ μμμ΄ νμλλ€.
'GCode Viewer' νλͺ©μ λλ₯΄λ©΄ νμ¬ μ§ν μν©μ΄ νλ©΄μ΄ νμλλ€.
'Terminal' νλͺ©
'Timelapse' νλͺ©
4. μλ μμ
1) μ₯ν νλ¦°νΈμ repository μμ init μ€ν¬λ¦½νΈ νμΌμ λ€μ΄λ‘λνλ€.
$ wget https://github.com/OctoPrint/OctoPrint/raw/master/scripts/octoprint.service
2) ν΄λΉ ν΄λλ‘ μ΄λν ν init μ€ν¬λ¦½νΈλ₯Ό μ€ν κ°λ₯νκ² λ§λ λ€.
$ sudo mv octoprint.service /etc/systemd/system/octoprint.service
3) μ₯ν νλ¦°νΈμ λ°μ΄λ리 κ²½λ‘λ₯Ό μ‘°μ νλ€.
$ ExecStart=/home/pi/OctoPrint/venv/bin/octoprint
4) λ€μμ λͺ λ Ήμ΄λ₯Ό μ¬μ©νμ¬ μλ μμμ μν μ€ν¬λ¦½νΈλ₯Ό μΆκ°νλ€.
$ sudo systemctl enable octoprint.service
5) λ€μ λͺ λ Ήμ΄λ₯Ό ν΅ν΄ μ₯ν νλ¦°νΈ λ°λͺ¬μ μμ/μ€μ§/μ¬μμ ν μ μλ€.
$ sudo service octoprint {start|stop|restart}
5. WebCAM & Timelapse
1) 'WebCAM' κ³Ό 'TimeLapse' λ₯Ό μ¬μ©νκΈ° μν΄μλ 'MJPG-Streamer' λ₯Ό λ€μ΄λ‘λνκ³ μ»΄νμΌν΄μΌ νλ€.
$ cd ~
$ sudo apt install subversion libjpeg62-turbo-dev imagemagick ffmpeg libv4l-dev cmake
$ git clone https://github.com/jacksonliam/mjpg-streamer.git
$ cd mjpg-streamer/mjpg-streamer-experimental
$ export LD_LIBRARY_PATH=.
$ make
2) RaspberryPi μΉ΄λ©λΌ λͺ¨λμ μ¬μ©νλ €λ©΄ λ€μμ μ€νν΄μΌ νλ€.
$ ./mjpg_streamer -i "./input_raspicam.so -fps 5" -o "./output_http.so"
3) μ°μΈ‘ μλ¨μ μμΉν μ₯ν νλ¦°νΈ Settting λ©λ΄μμ 'WebCAM & TimeLapse' νλͺ©μ λ€μμ μ£Όμλ₯Ό μ λ ₯νλ€.
Stream URL : http://<your Raspi's IP>:8080/?action=stream
(http://192.168.0.18:8080/?action=stream5fps)
Snapshot URL : http://127.0.0.1:8080/?action=snapshot
Path to FFMPEG : /usr/bin/ffmpeg
6. OctoLapse
1) μ°μΈ‘ μλ¨μ μμΉν μ₯ν νλ¦°νΈ Settting λ©λ΄μμ 'Plugin Manager' λ₯Ό μ ννλ€.
2) Installed Plugins νλͺ©μμ μ°μΈ‘ μλ¨μ μμΉν '+ Get More' λ²νΌμ λλ₯Έλ€.
3) 'Install new Plugins...' νλͺ©μμ 'octolapse' λ₯Ό κ²μν ν 'Install' λ²νΌμ λλ¬ μ€μΉνλ€.
# λ§μ½, 'octolapse' μ΄ κ²μλμ§ μμΌλ©΄ λ€μμ κ³Όμ μ λ°λ₯Έλ€.
OctoPrint Plugin μ¬μ΄νΈμ μ μνλ€.
https://OctoPrint Plugin Repository
'octolapse' λ₯Ό κ²μνλ€.
μ°μΈ‘μ μλ 'Installation URL' 볡μ¬νλ€.
'... from URL' μ 볡μ¬ν μ£Όμλ₯Ό λΆμ¬λ£μ ν 'Install' λ²νΌμ λλ₯Έλ€.
4) λΉνμ±ν λμ΄ μλ 'octolapse' νλͺ©μ νμ±νμμΌμ€λ€.
5) λΌμ¦λ² 리νμ΄λ₯Ό λ‘κ·Έμμ μν¨ ν μ¬μ μνλ€.
6) μ¬λΆν νλ©΄ Octolapse νλͺ© 보μΈλ€.
7) 'Octolapse' λ©λ΄μ 'Printer' νλͺ©μ μ ννλ€.
8) 'Cura' λ₯Ό μ€νν ν μμ μ νλ¦°ν° 'Profile' μ λ§κ² κΈ°λ³Έ μ€μ μ ν΄μ€λ€.
9) 'Stabilization' νλͺ©μ μ νν ν νμλ©μ€ μ€λ μ¬μ§μ μ°μ λμ λ² λ μμΉλ₯Ό μ ννλ€.
9) TIMELAPSE TEST
νλΌλ©νΈκ° κΌ¬μ¬ μ€ν¨
μ¬λ¬ λ²μ μλ λμ μ±κ³΅
7. OctoRemote for OctoPrint APP