3d打印机添加AI炒面检测服务 klipper+fluidd ubuntu本地部署TheSpaghttiDetective Service

发布时间 2023-05-23 19:51:54作者: 毕竟是家黑店

炒面检测 (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

  Email setup troubleshooting guide | Obico Knowledge Base