3d打印机添加AI炒面检测服务 klipper+fluidd ubuntu本地部署TheSpaghttiDetective Service
炒面检测 (TheSpaghettiDetective)介绍:
炒面检测服务可以借助打印机的摄像头,检测打印是否炒面(打印失败)并作出提醒或停止打印的一种服务,该服务由服务器和客户端组成
客户端支持两种: ocoprint或klipper
服务器也有两种:
ocobi官方提供的有限免费服务及付费高级服务
用户本地部署的服务器
本文的内容是使用klipper做客户端 ,本地ubuntu PC做服务器,其余安装方式请见参考链接
开始之前你要确认的:
klipper摄像头已经配置成功
有一个足够性能的PC(linux,windows,mac都可以)运行内存4G以上,详见参考资料
做一些检查,确保安装过程尽可能顺利:
1.系统版本不宜过高,部分服务对于新版本暂未做好适配。如unbuntu20.04优于22.04。
2.能够顺利访问github
在命令行中执行ping,检查结果,package loss越少越好
ping github.com
如果无法访问,需要修改/etc/hosts文件,修改方法可自行搜索ubuntu访问github。
一、在ubuntuPC上安装Server端
一、安装Docker和Docker-compse及git
1.安装Docker
a.更新源:
sudo apt-get update sudo apt-get install ca-certificates curl gnupg
b.添加Docker官方密钥:
sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
c.设置仓库:
echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
d.再次更新源:
sudo apt-get update
e.安装最新Docker引擎:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
f.测试是否安装成功:
sudo docker run hello-world
2.安装Docker-Compose
a.更新源并安装
sudo apt-get update
sudo apt-get install docker-compose-plugin
b.测试安装是否成功,显示版本则成功
docker compose version
3.安装git
见Git - Downloads (git-scm.com)
二、安装obico-server
1.获取代码
git clone -b release https://github.com/TheSpaghettiDetective/obico-server.git
2.执行安装命令
cd obico-server && sudo docker compose up -d
如果你是mac或windows,安装命令如下:
windows:
cd obico-server; docker compose up -d
Mac:
cd obico-server && docker compose up -d
三、测试服务器:
在浏览器中打开server-ip:3334(如192.168.1.102:3334)
server-ip是你PC的ip地址,如果不知道可以搜索一下怎么查,linux的命令是ifconfig
出现下面的页面,表示安装成功
到此服务器安装成功,下一步对服务器进行配置(your_server_ip是你服务器的地址,别直接复制粘贴!!):
三、配置服务器信息:
1.浏览器进入Django管理员界面:
http://your_server_ip:3334/admin/
账号:root@example.com
密码:supersecret
2.配置Django站点:(未做该步骤会导致服务器端摄像头画面不显示)
浏览器进入下面网址:
http://your_server_ip:3334/admin/sites/site/1/change/
配置信息,然后保存:
Domian name是your_server_ip:3334,没有http://!!!!!
至此,服务端的基本配置已经完成。
二、安装客户端,此处是klipper+Fluidd
通过ssh或其他方式连接上打印机
有两种安装方式(选择其一即可):
一、直接执行安装命令:
cd ~ git clone https://github.com/TheSpaghettiDetective/moonraker-obico.git cd moonraker-obico ./install.sh
二、通过KIAUH安装obico-klipper
进入KIAUH,install,选择安装obico for klipper(具体名字忘记了不好意思)
配置客户端的obico,安装过程中会要求输入服务器地址和6位的验证码
如果是本地服务器:
服务器地址,输入http://your_server_ip:3334(不是https,不要输错)
如果是obico官方服务器:
服务器地址,使用默认地址即可
2.输入6位验证码
进入本地服务器地址,Add Printer-> next->页面会显示六位验证码,输入即可(官方服务器在注册账号后登录即可)
无误应该会提醒成功连接,此时服务器已经可以看到打印机的画面了
三、配置邮件提醒(可选配置):
可以在打印错误,或者结束打印的时候通过邮件提醒你
需要两个邮箱,邮箱A用来接收提醒,邮箱B用来发送提醒
1.添加接收提醒的邮箱A
进入server_ip:3334/admin/app/user页面
页面右上角,添加新的用户,用户名填写需要邮箱A(接收提醒),密码自定
2.设置发送提醒的邮箱B
a.进入obico-server目录:
cd ~
cd obico-server
b.创建.env文件
cp dotenv.example .env
c.修改.env文件(此处使用vim编辑器)
vim .env
d.在.env中配置邮箱SMTP信息(outlook与gmail邮箱配置有所不同)
邮箱的SMTP相关信息可以自行搜索关键词(如下图:outlook邮箱 smtp)
#常规邮箱只需设置前五项(下面是例子,不能直接复制,以你的邮箱为准)
EMAIL_HOST=smtp-mail.outlook.com EMAIL_HOST_USER=example@outlook.com # Such as your email address for a Gmail account EMAIL_HOST_PASSWORD=你自己的邮箱密码 # Your email account password EMAIL_PORT=587 # Check with your email provider to make sure. EMAIL_USE_TLS=True # outlook邮箱该项也为true
#outlook邮箱需要设置下面这一项(内容与第二项EMAIL_HOST_USER一致即可)
DEFAULT_FROM_EMAIL=example@outlook.com
重启obico服务器
docker compose down && docker compose up -d
检查设置是否成功
1.进入服务器端user管理界面
server_ip:3334/admin/app/user/(如:192.168.1.1:3334/admin/app/user/)
2.执行下面三步,你所勾选的邮箱如果收到邮件,代表成功了。
a.勾选邮箱A
b.选择send test email
c.然后点击GO
顺利的话,不出一分钟,你的邮箱A会收到一封测试邮件
四、可能遇到的问题:
1.git+https://错误,cannot resolve host github.com
找到requirements.txt 把里面git+开头的行加上#注释掉,再在命令行中单独使用pip install git+https:// 安装
例:
obico-server/backend/目录下有requirements.txt,用编辑器打开,注释掉git+开头的行,再把该行复制下来,单独安装
用#注释掉git开头的行
cd ~ cd obico-server/backend/ vim requirements.txt
单独安装
pip install git+https://github.com/......
2.安装moonraker-obico服务时,验证码错误.
首先核实一遍验证码
然后检查moonraker-obico.cfg文件中[server]的url是否正确
本地服务器一定要加http://(没有s!!!)
3.通过kiauh安装不了moonraker-obico
单独通过命令行安装,见https://www.obico.io/docs/user-guides/klipper-setup/
4.执行命令提示 FAILED:THE TLS CONNECTION....
安装命令前加上sudo
五、参考资料
本文内容基本是安装官方的文档执行,不明之处请朋友们查阅具体内容
Set up Obico for Klipper | Obico Knowledge Base
Self-hosted Obico Server Guides | Obico Knowledge Base
Configure a Gmail account as SMTP server to send emails | Obico Knowledge Base