2017年2月15日水曜日

ubuntu(linux)でfabool laser miniを使う方法


動かすまでに一苦労だったので、メモを兼ねて情報を共有します。

使ったもの

fabool laser mini


webマニュアルに沿って組み立てました。

ubuntuをインストールしたPC

この記事の内容はubuntu16.10で動作確認しました。

InkScape

レーザーで出力したい形(SVGファイル)の作成に利用しました。

PCで実行するレーザーカッターのプログラム

古いマニュアルで紹介されているプログラムです。

SmartLaserMiniLinuxJa.zip

新しいマニュアルで紹介されているプログラムだと自分の環境では動きませんでした。

ブラウザからアクセスして使うレーザーカッターのサービス

上記のPCで実行するタイプのプログラムでも操作はできるのですが、inkscapeで作ったSVGをうまく読み込んでくれなかったので、web経由で使える下記のサービスを利用しました。

Fabool Software

出力までの流れ

inkscapeで出力したい形のsvgファイル作成します。


PCで実行するレーザーカッターのプログラムをまだダウンロードしていない場合は、ダウンロードして配置します。

自分は下記のコマンドの流れで、faboolというディレクトリに配置しました。

mkdir ~/fabool
cd ~/fabool
wget http://www.smartdiys.com/manual/wp-content/uploads/2016/03/SmartLaserMiniLinuxJa.zip
unzip SmartLaserMiniLinuxJa.zip

レーザーカッターをPCに接続して、上記の流れで配置したプログラムを実行します。
※レーザーカッターを接続していないと、エラーが出て動きません。

cd ~/fabool/SmartLaserMiniLinuxJa/
sh run.sh

上記のプログラムを動かせたら、fabool softwareにログインします。


使い方をザックリと説明するとこうです。


詳しい使い方は、こちらのページで解説されています。

FABOOL Softwareの使い方

加工スタートボタンを押すと、出力が始まります。


出力できました。


詰まりどころ

PCで実行するプログラムの種類

新しいマニュアルで紹介されている新しいプログラムではなく、古いマニュアルで紹介されている古いプログラムが自分の環境では必要でした。

Arduino IDEのruleとの衝突

下記のようなエラーが出て、自分の環境ではローカルで実行したいプログラムが動きませんでした。

SmartLaser 1.0.0
Persistent storage root is: /home/asuki/.SmartLaser
-----------------------------------------------------------------------------
Bottle server starting up ...
Serial is set to 57600 bps
Point your browser to: 
http://127.0.0.1:4444/      (local)
Use Ctrl-C to quit.
-----------------------------------------------------------------------------

Traceback (most recent call last):
  File "backend/app.py", line 724, in 
    run_with_callback('127.0.0.1', NETWORK_PORT)    
  File "backend/app.py", line 113, in run_with_callback
    SerialManager.connect(SERIAL_PORT, BITSPERSECOND)
  File "/home/asuki/fabool/SmartLaserMiniLinuxJa/backend/serial_manager.py", line 144, in connect
    self.device = serial.Serial(port, baudrate, timeout=0, writeTimeout=0.1)
  File "/home/asuki/fabool/SmartLaserMiniLinuxJa/backend/serial/serialutil.py", line 261, in __init__
    self.open()
  File "/home/asuki/fabool/SmartLaserMiniLinuxJa/backend/serial/serialposix.py", line 278, in open
    raise SerialException("could not open port %s: %s" % (self._port, msg))
serial.serialutil.SerialException: could not open port /dev/ttyACM0: [Errno 16] Device or resource busy: '/dev/ttyACM0'

自分の場合、これはArduino IDEのために設定していたデバイスルールの干渉が原因だったので、下記のコマンドで原因となるルールを取り除いてデバイス設定を読み直すと成功しました。

mkdir ~/tmp
sudo mv /etc/udev/rules.d/60-openocd.rules ~/tmp/
sudo udevadm control --reload-rules

レーザーカッターを使い終えたら、Arduino IDEのために下記のコマンドで設定を戻しています。

sudo mv ~/tmp/60-openocd.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules

ルールの衝突回避方法を知っている方がいれば、その方法を教えていただけると嬉しいです。

情報は以上です。

0 件のコメント :