Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
14
Help us understand the problem. What is going on with this article?
@m0a

RaspberryPiにoctoPrintを入れて3DPrinter ATOMをスタンドアローン稼働させるまでの流れ

More than 5 years have passed since last update.

はじめに

3DPrinter ATOMを動かすにはPCが常に占有状態になるため、RaspberryPiにWEBベースのプリントアプリ(octoPrint)を入れてスタンドアローン化を図りました。

インストール

前提としてデフォルトユーザpiにて作業するものとします。

octoprintのwikiにはpySerialのパッチ当て手順があるが現在は不要なようです。
(自分の場合はずっとrasberyPiを放置していたためOSを更新するところからスタートします。)

OctPrintのインストール

os更新
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

git経由でインストールの実行

インストール
cd ~
sudo apt-get install python-pip python-dev git
git clone https://github.com/foosel/OctoPrint.git
cd OctoPrint
sudo pip install -r requirements.txt

piユーザにttyとdialoutのグループを追加

グループの設定
sudo usermod -a -G tty pi
sudo usermod -a -G dialout pi

以下のコマンドでテスト実行
実行前にatomの電源を入れてラズパイにUSB接続しておきます。

テスト
pi@raspberrypi ~/OctoPrint $ ./run
 * Running on http://0.0.0.0:5000/

あとはラズパイにport5000でアクセスしてブラウザ操作できることを確認して下さい

カメラも使う

カメラを使うことで外部から監視も可能になるようです。
使わないならこの章の手順は不要です

なおカメラは通常のWEB Cameraの場合はUVC対応のモデルである必要があります。自分はamazonで一番安いの(C270)を買いました

手順
cd ~
sudo apt-get install subversion libjpeg8-dev imagemagick libav-tools cmake
git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
make

試しに実行します

手順
cd ~/mjpg-streamer/mjpg-streamer-experimental
#WebCameraを接続する場合
./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so"

# rasberyPi cameraの場合
./mjpg_streamer -i "./input_raspicam.so" -o "./output_http.so"

port8080にてアクセス確認してみてください

http://<rasberyPiのip>:8080?action=snapshot

octoprintにログインしてカメラの関連付けを行います。
octprintにログインしてsettings->Webcamにアクセスし以下のように設定します。

設定箇所 入力内容
Stream Url http://[rasberyPiのip]:8080/?action=stream
Snapshot URL http://[rasberyPiのip]:8080/?action=snapshot

自動実行のためのスクリプトを作成

スクリプトを作成します。

手順
mkdir ~/bin
cd ~/bin
touch octprint.sh
chmod +x octprint.sh

octprint.shを編集します

octprint.sh
#!/bin/sh
OCTOPRINT_HOME=/home/pi/OctoPrint
MJPEG_STREAMER_HOME=/home/pi/mjpg-streamer/mjpg-streamer-experimental

# カメラを使わない場合は以降は不要です ↓↓↓
# start mjpeg streamer

# UVC対応 WebCameraの場合 
$MJPEG_STREAMER_HOME/mjpg_streamer -i "$MJPEG_STREAMER_HOME/input_uvc.so" -o "$MJPEG_STREAMER_HOME/output_http.so" &

# rasberyPi cameraの場合
#$MJPEG_STREAMER_HOME/mjpg_streamer -i "$MJPEG_STREAMER_HOME/input_raspicam.so" -o "$MJPEG_STREAMER_HOME/output_http.so" &


#カメラを使わない場合はここまで不要です ↑↑↑

# start the webui
$OCTOPRINT_HOME/run --daemon start

上記スクリプトを自動実行されるように設定します。

手順
sudo nano /etc/rc.local
/etc/rc.local
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

##追加箇所ここから↓↓↓↓↓
sudo -u pi /home/pi/bin/octoprint.sh
##追加箇所ここまで↑↑↑↑↑

exit 0

sudo reboot で再起動後に自動で実行されることを確認して下さい

参考情報

https://github.com/foosel/OctoPrint/wiki/Setup-on-a-Raspberry-Pi-running-Raspbian
http://arms22.blog91.fc2.com/blog-entry-521.html

14
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
m0a
https://taiyaq.com エンジニア向けの翻訳(対訳)共有サービス Taiyaqを作っています。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
14
Help us understand the problem. What is going on with this article?