Docker安装Octoprint 3D打印控制软件

Octoprint简介

Octoprint是一个运行在Linux系统上的开源套件,可以为普通的3D打印机添加强大的外围管理功能。

  • web管理界面
  • 远程操控
  • 摄像头实时监控
  • 视频录制、延时摄影
  • 在线切片
  • 图形化的温度曲线显示
  • 手机监控操作
  • 免SD卡和U盘
  • 通过插件和USB/GPIO接口实现更多功能

OctoPrint早在2012年由德国女创客(也是全栈程序员)Gina Häußge开始开发并维护至今的开源软件。因为平台的开放性和功能强大,3D打印社群为octoprint开发了大量插件,深受创客们的喜爱。
官网:https://octoprint.org/
Github:https://github.com/OctoPrint/OctoPrint
插件下载:plugins.octoprint.org

Docker安装运行Octoprint

# 首次运行
docker run -d -v octoprint:/octoprint \
            --device /dev/ttyUSB0:/dev/ttyUSB0 \
            --device /dev/video0:/dev/video0 \
            -e ENABLE_MJPG_STREAMER=true \
            -p 80:80 --name octoprint \
            octoprint/octoprint
#非首次运行,移除name即可
docker run -d -v octoprint:/octoprint \
            --device /dev/ttyUSB0:/dev/ttyUSB0 \
            --device /dev/video0:/dev/video0 \
            -e ENABLE_MJPG_STREAMER=true \
            -p 80:80  \
            octoprint/octoprint

注:

  1. 打印机的设备端口有时候叫/dev/ttyACM0或者/dev/USB0或者windows上的COM#,要先确定连接打印机后的USB端口名称。
  2. 参数解析
  • -d 这是为了让octoprint在后台运行,不然会一种占用你的终端,关闭终端,octoprint也会死掉。
  • -v octoprint:/octoprint 这是要在你的本地映射octoprint的存储空间,不然重启docker后你的配置就会丢失
  • –device /dev/ttyUSB0:/dev/ttyUSB0 这是把本地的USB设备映射到docker系统,不然你的octoprint就无法访问usb设备。
  • –device /dev/video0:/dev/video0 这是把摄像头映射到docker系统,如果你没有安装摄像头,可以不运行
  • -p 80:80 这是把系统的80端口映射到docker的80端口,假如你希望系统使用8080端口,可以改成-p 8080:80
  • -name 这是把docker的容器命名为octoprint, 方便管理。
  • 最后的octoprint/octoprint就是镜像的名称。
  1. 使用机顶盒也可以的,比如华为悦盒,如何刷机请参考本人的 《华为悦盒ec6108v9c 使用U盘短接刷入海纳斯 Ubuntu系统》 刷好后,使用内置的docker即可运行。需要注意的是海纳思自带web界面占用了80端口,所以上述命令的端口映射需要修改,例如改为-p 8080:80

常用插件

  1. Fullscreen Webcam:双击摄像头图片即可将控制窗口的摄像头窗口最大化
    在这里插入图片描述

  2. Bed Level Visualizer:热床水平可视化
    在这里插入图片描述

  3. Arc Welder:将G0 / G1命令转换为G2 / G3命令。 当从OctoPrint流式传输GCode时,这可以极大地压缩某些GCode文件并减少发送到打印机的GCode数量。 只要您的固件正确执行G2 / G3(arc)命令并正确配置,就可以减少卡顿现象。
    在这里插入图片描述

  4. Obico for OctoPrint: Full Remote Access - AI Failure Detection & Smart 3D Printing:
    与Obico APP联动,通过AI检测3D打印机异常(炒面),可以设置自动停止打印或者发出提示。
    实时监控错误检测

  5. OctoPrint-PrettyGCode:Gcode可视化工具
    在这里插入图片描述

  6. Octolapse:延时摄影插件。相比内置的time lapse有更多的控制选项,比如将挤出头移动到指定位置再拍照。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/146095.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第三天课程 RabbitMQ

RabbitMQ 1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应&am…

分布式锁介绍

为什么需要分布式锁 在单机部署的系统中,使用线程锁来解决高并发的问题,多线程访问共享变量的问题达到数据一致性,如使用synchornized、ReentrantLock等。 但是在后端集群部署的系统中,程序在不同的JVM虚拟机中运行,且…

PostGIS学习教程五:数据

教程的数据是有关纽约市的四个shapefile文件和一个包含社会人口经济数据的数据表。在前面一节我们已经将shapefile加载为PostGIS表,在后面我们将添加社会人口经济数据。 下面描述了每个数据集的记录数量和表属性。这些属性值和关系是我们以后分析的基础。 要在pgAdm…

fileread任意文件读取学习笔记

任意文件读取概述 一些网站的需求,可能会提供文件查看与下载的功能。如果对用户查看或下载的文件没有限制或者限制绕过,就可以查看或下载任意文件。这些文件可以是源代码文件,配置文件,敏感文件等等。 任意文件读取会造成&#x…

Python学习:同步异步阻塞与非阻塞

嗨喽,大家好呀~这里是爱看美女的茜茜呐 一、状态介绍 在了解其他概念之前,我们首先要了解进程的几个状态。 在程序运行的过程中,由于被操作系统的调度算法控制,程序会进入几个状态:就绪,运行和阻塞。 就绪…

LeetCode | 225. 用队列实现栈

LeetCode | 225. 用队列实现栈 OJ链接 此题可以用两个队列去实现一个栈,每次始终保持一个队列为空, 入栈操作相当于给非空队列进行入队操作 入数据,把不为空的队列入 出数据,把不为空的队列数据导入为空,直到最后一…

1334. 阈值距离内邻居最少的城市

分析题目两点“阈值距离”、“邻居最少”。 “阈值距离”相当于定了个上界,求节点之间的最短距离。 “邻居最少”相当于能连接的点的数量。 求节点之间的最短距离有以下几种方法: 在这道题当中,n的范围是100以内,所以可以考虑O(n…

超详细!!新手必看!STM32--独立看门狗IWBG

一、看门狗是什么? 答:看门狗是一个12bit的递减计数器。当计数器的值从某个值一直减到0的时候,系统就会产生一个复位信号,CPU收到复位信号,系统复位重新运行。在计数没减到0之前,重置了计数器的值的话&…

降水短临预报模型trajGRU简介

1 前言 trajGRU 是在对 convLSTM 的改进,且这两个模型是同一个作者。 convLSTM 在降水短临预报这块已经超越传统模型,但其是局部不变性的(location-invariant),而自然的运动和转换(如旋转)是局部变化的(location-invariant)。作者为了能够使…

【python 生成器 面试必备】yield关键字,协程必知必会系列文章--自己控制程序调度,体验做上帝的感觉 2

这篇文章要解决的问题:How to Pass Value to Generators Using the “yield” Expression in Python ref:https://python.plainenglish.io/yield-python-part-ii-e93abb619a16 1.如何传值 yield 是一个表达式!!!! yi…

⑤ 【MySQL】DCL语句 —— 用户管理、权限控制

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ MySQL用户与权限 ⑤ 【MySQL】DCL语句 —— 用…

AWTK实现汽车仪表Cluster/DashBoard嵌入式GUI开发(七):FREERTOS移植

前言: 一般的GUI工程都需要一个操作系统,可能是linux,重量级的,也可能是FreeRTOS,轻量级的。 一句话理解那就是工程就是FreeRTOS task任务的集合。 一个main函数可以看到大框架: 很显然,除了第一个是硬件配置的初始化,中间最重要的部分就是要创建任务,把AWTK的应用…

临床决策分析(DCA)演示APP:理解DCA分析

临床决策分析(DCA)演示APP:理解DCA分析 之前讨论了DCA分析的分析过程和作用,认为其最主要的作用是确定预测模型的决策阈值,从而促进预测模型与临床的结合。DCA的影响不止于此,在DCA分析中,预测…

JLMR Micro Super Resolution Algorithm国产微超分算法DEMO

一、简介 目前,做超分算法基本还是以AI训练为主,但是AI基本上都是基于既定场景的训练。而传统的算法基本上都是利用上下文的纹理预测、插值等方案,在图像放大过程中会出现模糊,或马赛克等现象。 我们基于加权概率模型&#xff0c…

Control的Invoke和BeginInvoke

近日,被Control的Invoke和BeginInvoke搞的头大,就查了些相关的资料,整理如下。感谢这篇文章对我的理解Invoke和BeginInvoke的真正含义 。 (一)Control的Invoke和BeginInvoke 我们要基于以下认识: (1&#x…

【ASP.NET】Hello World

文章目录 1. 几个概念2. 搭建开发环境2.1 .NET SDK2.2 IDE & Editor 3 First Project3.1 步骤3.2 模板3.3 项目结构3.4 请求的处理流程 Reference Link 1. 几个概念 .NET 是一个平台,包括 .NET Framework、.NET Core、ASP.NET、C#等,可以构建桌面、W…

手写一个starter

文章目录 starter命令规则项目演示新建工程Pom引入依赖定义属性配置定义自动配置类配置EnableAutoConfiguration业务实现项目中使用 什么是Starter?Starter其实就是我们经常在maven中的导入的各种模块,自定义Starter可以快速的满足开发的需求&#xff0c…

夸克发布自研大模型 加速下一代搜索体验创新

国产大模型阵营再添新锐选手。11月14日,阿里巴巴智能信息事业群发布全栈自研、千亿级参数的夸克大模型,将应用于通用搜索、医疗健康、教育学习、职场办公等众多场景。夸克App将借助自研大模型全面升级,加速迈向年轻人工作、学习、生活的AI助手…

智能运维软件,提升效率的利器

随着信息技术的飞速发展,企业对于IT系统的依赖程度日益加深。为保障IT系统的稳定运行,越来越多的企业选择智能运维管理软件,以全面高效的监控和管理系统和资产情况。 一、运维监控平台的重要性 无监控,不运维。将资产并入监控系…

git使用patch进行补丁操作

文章目录 前言一、format-patch/am生成和应用补丁1、生成2、应用 二、patch文件解读 前言 在软件开发中,代码协作和版本管理是至关重要的。Git 是一个流行的分布式版本控制系统,它提供了各种功能来简化团队合作和代码管理。但是如何给已有项目打补丁&am…