LoginSignup
14
14

More than 5 years have passed since last update.

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

Last updated at Posted at 2014-05-04

はじめに

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
14
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
14