OctoPrint可以为普通的3D打印机添加很多的外围管理功能。包括web管理界面、远程操控、摄像头实时监控、视频录制、延时摄影、在线切片、图形化的温度曲线显示、手机监控操作、免SD卡和U盘、通过插件和USB/GPIO接口实现更多功能等等。官网链接
官方推荐OctoPrint安装在树莓派上,但是现在这个行情,一个树莓派大几百,实在是肉疼。D2550这种不到百元的工控主机就正好合适。OctoPrint可以安装在windows或linux上,由于我主要是远程访问,linux更加方便,所以选择的宿主机系统是Ubuntu20.04。安装Ubuntu的教程很多了,这里不赘述。安装好Ubuntu以后打开Termial开整。
安装本体
创建一个目录,在其中创建一个python的venv,在venv中安装octoprint本体
cd ~
sudo apt update
sudo apt install python3 python3-pip python3-dev python3-setuptools python3-venv git libyaml-dev build-essential libffi-dev libssl-dev
mkdir OctoPrint && cd OctoPrint
python3 -m venv venv
source venv/bin/activate
pip install pip --upgrade
pip install octoprint
将当前用户(我这里的是octoprint
)加入tty
和dialout
用户组,不然没权限访问串口。会报错could not open port /dev/ttyUSB0
。添加后需要重新登录一次才会起效。
sudo usermod -a -G tty octoprint
sudo usermod -a -G dialout octoprint
启动
~/OctoPrint/venv/bin/octoprint serve
这时就可以打开浏览器,输入地址http://<D2550的IP>:5000
或者D2550机器本地http://localhost:5000
访问网页端。理论上这时候就可以直接开整了,但是我建议继续配置一下开机自启动,用起来更舒服。
配置开机自启动
将octoprint注册成一个服务。先从官方github下载基础脚本。
wget https://github.com/OctoPrint/OctoPrint/raw/master/scripts/octoprint.service
修改其中的参数User
和ExecStart
,修改后的脚本如下:
[Unit]
Description=The snappy web interface for your 3D printer
After=network-online.target
Wants=network-online.target
[Service]
Environment="LC_ALL=C.UTF-8"
Environment="LANG=C.UTF-8"
Type=exec
User=octoprint
ExecStart=/home/octoprint/OctoPrint/venv/bin/octoprint
[Install]
WantedBy=multi-user.target
然后注册成服务,加入开机自启动。
sudo cp octoprint.service /etc/systemd/system/octoprint.service
sudo systemctl enable octoprint.service
注册成服务以后,就可以使用命令sudo service octoprint {start|stop|restart}
来启动/停止/重启OctoPrint。可以愉快地开整了。
手动更新
source ~/OctoPrint/venv/bin/activate
pip install octoprint==1.4.0
# or
pip install --no-cache-dir octoprint