单页面推广网站模版,零基础学做网站,上海营销型网站制作,网络营销发展现状与趋势OctoPrint是一个开源的3D打印机控制软件#xff0c;它提供了一个Web界面#xff0c;允许用户远程监控和管理3D打印机。通过USB连接到打印机后#xff0c;用户可以使用任何带有Web浏览器的设备来控制打印作业#xff0c;包括开始、停止、暂停打印#xff0c;以及在打印过程… OctoPrint是一个开源的3D打印机控制软件它提供了一个Web界面允许用户远程监控和管理3D打印机。通过USB连接到打印机后用户可以使用任何带有Web浏览器的设备来控制打印作业包括开始、停止、暂停打印以及在打印过程中调整温度和设置。OctoPrint的核心功能包括远程完全控制3D打印机、跟踪工作和监控能力、提供温度传感器数据、重新调整参数、通过WiFi开始打印以及在出现异常时暂停或停止打印。此外OctoPrint还支持插件系统可以通过社区提供的插件扩展其功能如摄像头监控、温度管理、打印历史记录等。它遵循GNU Affero General Public License V3开源协议用户可以自由使用、修改和分发。OctoPrint适用于多种操作系统包括Windows、Linux和MacOS尤其适合在Raspberry Pi等嵌入式设备上运行。 如何安装Octoprint请参考我的博文 Docker安装Octoprint 3D打印控制软件以及常用插件-CSDN博客
但是访问Octoprint的web页面存在一个问题就是默认只能通过IP访问而如果路由器使用DHCP那么设备重启之后IP就有可能发生改变IP变化之后就需要重新扫描局域网来找到这个设备同时IP地址也不容易记住动态变化的IP地址记忆也很容易遗忘或者记错。
要解决这个办法可以通过mDNS的局域网local域名来访问设备这样就无需每次IP变化之后重新扫描地址也不需要记忆总是变化的IP地址。
我的Octoprint安装在基于Ubuntu 20.04.6 LTS的HiNAS系统上所以就以Ubuntu为例。
1. 安装 avahi-daemonmDNS 服务
sudo apt update
sudo apt install avahi-daemon avahi-utils
sudo systemctl enable avahi-daemon
sudo systemctl start avahi-daemon2. 设置动态主机名
默认情况下avahi-daemon 会广播主机名如 myhostname.local。 主机名可以通过hostname命令获取
hostname实际上通常ssh登录服务器之后提示符前面会有usernamehostname的前缀例如roothi3798mv100。但是这个hostname(hi3798mv100)可能比较难记在有些情况下还不能随意更改hostname所以在不更改这个默认hostname的情况下可以在avahi-daemon中设置一个动态主机名来访问。
2.1 编辑 /etc/avahi/avahi-daemon.conf 文件
sudo nano /etc/avahi/avahi-daemon.conf2.2 找到 [server] 部分设置 host-name 为你希望广播的主机名不包括 .local
本例使用ender3
[server]
host-nameender32.3 保存文件并重启 Avahi 服务
sudo systemctl restart avahi-daemon2.4 验证动态主机名广播
Ubuntu本地验证
avahi-resolve -n ender3.local如果成功应该看到类似如下信息
roothi3798mv100:~# avahi-resolve -n ender3.local
ender3.local fe80::f8af:41fc:fe3a:c8f1如果失败那就是
roothi3798mv100:~# avahi-resolve -n ender3.local
Failed to resolve host name ender3.local: Timeout reached从局域网其它主机验证
ping ender3.local
PING ender3.local (192.168.3.17): 56 data bytes
64 bytes from 192.168.3.17: icmp_seq0 ttl64 time2.664 ms
64 bytes from 192.168.3.17: icmp_seq1 ttl64 time2.036 ms
64 bytes from 192.168.3.17: icmp_seq2 ttl64 time2.441 ms注修改/etc/avahi/hosts没用没用没用我试过了。 3. 通过域名访问Octoprint
用上述域名就可以啦我映射了8080端口到docker的octoprint的80端口所以就在浏览器输入如下地址即可再也不用记忆IP地址了
ender3.local:8080