树莓派安装OctoPrint,搭建3D打印服务器


【参考链接】
官方文档:https://octoprint.org/download/


一、在树莓派上搭建OctoPrint服务:

  1. 安装包含 pipvirtualenvPython 2.7 .
    树莓派最新版本的系统已经自带 Python2.7,如果没有,可以手动安装:
    1
    2
    3
    $ sudo apt update
    $ sudo apt upgrade
    $ sudo apt install python virtualenv
  1. 用以下两种方式获取源码:
    1. 克隆 软件仓库: git clone https://github.com/foosel/OctoPrint.git
    2. 从Github上下载当前稳定版本的压缩包并解压
  2. 在源码目录创建一个Python虚拟环境(所有者为当前用户):

    1
    2
    $ cd OctoPrint
    $ virtualenv venv
  3. 安装OctoPrint到上一步创建的虚拟环境目录:./venv/bin/python setup.py install

  4. 然后就可以通过运行 ./venv/bin/octoprint serve 命令启动OctoPrint,或者使用绝对路径:/path/to/OctoPrint/venv/bin/octoprint。另外也可以使用 daemon 参数在后台启动、重启、停止服务:
    1
    $ sudo /path/to/OctoPrint/venv/bin/octoprint dameon {start|restart|stop}

之后就可以通过IP加端口号访问到了:

在浏览器输入:http://树莓派的ip地址:5000

首次打开会运行设置向导,一步步按照自己的需求设置即可。其中 CuraEngine 路径部分,需要编译安装 CuraEngine 才可以填写,可以先跳过,按照后面的步骤执行完毕后再填写。

二、编译安装 CuraEngine

如果要用树莓派切片,需要安装切片引擎 CuraEngine。编译安装步骤如下:

1. 安装 Protobuf >= 3.0.0

这一步可能报错误信息:

1
2
3
>'+ autoreconf -f -i -Wall,no-obsolete
>./autogen.sh: 50: ./autogen.sh: autoreconf: not found
>

解决方法:
sudo apt-get install autoconf

  • 然后依次执行如下命令,配置并编译安装:
    1
    2
    3
    $ ./configure
    $ sudo make
    $ sudo make install #注意安装需要root权限
  • (如果在Linux系统中不能加载共享库,可以尝试执行 sudo ldconfig)

2. 编译安装 libArcus

要编译 libArcus,需要以下几个包:

  • Protobuf 3 (3.0+)
  • CMake
  • python3-dev (3.4+)
  • python3-sip-dev (4.16+)
    按照上一步编译安装Protobuf,并检查后面三个包:
    1
    $ sudo apt install cmake python3-dev python3-sip-dev

然后开始编译

1
2
3
4
5
6
$ git clone https://github.com/Ultimaker/libArcus.git
$ cd libArcus
$ mkdir build && cd build
$ cmake ..
$ make
$ make install

这将会将 Arcus 库安装到CMake的默认安装位置:/usr/local。要改变默认值,请设置 CMAKE_INSTALL_PREFIX。示例目录默认也会创建,如果需要关闭,设置 BUILD_EXAMPLESoff

注意:执行 cmake .. 命令的时候可能会报如下错误
/usr/local/bin/protoc: error while loading shared libraries: libprotobuf.so.15: cannot open shared object file:
No such file or directory
CMake Warning at /usr/share/cmake-3.7/Modules/FindProtobuf.cmake:387 (message):
Protobuf compiler version doesn’t match library version 3.5.1
Call Stack (most recent call first):
CMakeLists.txt:19 (find_package)
这里需要安装一下 protobuf-compiler 再重新 cmake 即可:

1
2
> $ sudo apt install protobuf-compiler
>

3. 编译安装 CuraEngine

进入 CuraEngine 目录并执行以下命令

1
2
3
4
$ mkdir build && cd build
$ cmake ..
$ make
$ sudo make install

如果正常执行完毕,终端会提示

1
2
3
4
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/bin/CuraEngine
-- Set runtime path of "/usr/local/bin/CuraEngine" to "/usr/local/lib"

最后在浏览器中打开 OctoPrint 界面,进入设置界面,导航至 CuraEngine (<= 15.04) 选项卡,在右侧的 Path to CuraEngine 填写上面的路径 /usr/local/bin/CuraEngine,点击 Test 按钮,如果提示 The path is valid 表示 CuraEngine 安装成功。

4. 添加开机自启动

修改 rc.local 文件,在终端输入并回车:

1
sudo nano /etc/rc.local

在打开的文本中找到exit 0,在此之前添加的代码在启动时都会被执行,在exit 0 之前添加一行代码:

1
2
3
# su命令是指定在root用户下执行这条命令,-c 表示执行完这条命令之后恢复原来的用户。
# 这里直接用 sudo 以 root 用户执行
sudo /path/to/OctoPrint/venv/bin/octoprint daemon start

trl+o 保存,ctrl+x 退出,然后在终端输入:sudo reboot ,重启系统测试。

5. OctoPrint 中的其他设置项目

Serial Connection

  • Serial Port:Auto
  • Baudrate:115200

Server

  • Restart OctoPrint:sudo /path/to/OctoPrint/venv/bin/octoprint daemon restart
  • Restart system:sudo reboot
  • Shutdown system:sudo shutdown -h now
如果觉着我的文章不错,打赏我一包辣条吧 O(∩_∩)O
-------------本文结束 感谢您的阅读-------------