以前に3Dスキャナーって自作できるらしいという記事を書きました。
今回、実際にソフトをインストールしてみました。
その前に、ラズパイ用のラズパイカメラは必用不可欠ですので予め準備しておきましょう。
ソフトのインストール方法は簡単です。
こちらのFreeLSSというプロジェクトから
FreeLSS: The Free 3D Printable Laser Scanning System For the Raspberry Pi
Githubに飛び、Readmeファイルの内容をそのまま実行するだけです。
まずは、お決まりのRaspbianを最新状態にします。
sudo apt-get update
sudo apt-get upgrade
次に依存関係のあるパッケージをインストールします。
sudo apt-get install libpng-dev libjpeg-dev git-core gcc build-essential unzip sqlite3 libsqlite3-dev libmicrohttpd-dev libcurl4-openssl-dev libiw-dev libssl-dev wiringpi
FreeLSSをダウンロードします
sudo git clone https://github.com/hairu/freelss
ダウンロードしたディレクトリに移動します
cd freelss/src
ビルドします
sudo make
以上でインストールは完了です。
実行します。
sudo ./freelss
これで80番ポートが開いてWebサービスとして起動します。
ブラウザでラズパイのアドレスへアクセス、もしくはラズパイ自身のブラウザから「localhost」アドレスを開いてみましょう。
なんともシンプルなフォームです。これで起動成功です!
カメラを起動させるとラズパイカメラの映像が映ります。
さて、ここから注意点です!
ラズパイを起動するたびに自動的にFreeLSSを開始するには下記コマンドを実行します。
sudo make startup
と、書かれていますが、↑これをやると、設定でエラーが出てしまって任意のGPIOポートやステップ角の設定が出来ない事態に陥ることが判明!
実は、freelssのデフォルトで設定されているGPIOと回路図に記載されているGPIOポートが違うのでポートが設定出来ないとなると致命的なのです。
ERROR
Error opening properties file for writing:
コミュニティでも問題ありということで、その理由と解決策が挙がっています。
どういうことかというと、piユーザーで実行した場合、/home/pi/に任意のpropertiesファイルを作られるんだけど、自動起動のサービスはrootから実行されるので/home/root/にpropertiesファイルが見つからないから無理だよー!
ということだそうです。
試しに/home/rootディレクトリを作ってfreelssを入れてみたんだけどそういう問題じゃないらしい。
公式のReadmeには「FreeLSSはroot(またはハードウェアのピンにアクセスできる別のユーザ)として実行する必要があります。」
と書かれているのでsudo権限のあるユーザーで実行すれば問題ないと思ったんですけどね。
さて、解決策としてはコミュニティに書かれている通りなんですけど、
既にmake startupをしちゃった場合には
sudo update-rc.d freelss remove
を実行して自動起動を取消ます。
piのホームディレクトリ、/home/pi に
cd /home/pi
sudo nano freelss.sh
としてfreelss.shというスクリプトを作ります。
freelss.shの中は
#!/bin/bash
sudo freelss
と、sudo freelssを実行するというコマンドを書きます。
そのまま
sudo bash freelss.sh
としてfreelssが立ち上がればスクリプトはOKです。
次に、起動時にこのスクリプトを読み出すようにします。
/home/pi/.config/autostart ディレクトリにfreelss.desktopファイルを生成します。
通常、.から始まる隠しファイルを見るにはls に-aオプションを付けてみましょう。
sudo ls -a /home/pi/
.configディレクトリはデフォルトで存在していると思います。
もし、存在していなければ以下の方法が実行できるかどうかは解りません。
sudo ls /home/pi/.config/
で既にautostartディレクトリがあるか確認します。なければmkdirコマンドで作りましょう。
sudo mkdir /home/pi/.config/autostart
freelss.desktopファイルを作ります。
sudo nano /home/pi/.config/autostart/freelss.desktop
freelss.desktopの中には
[Desktop Entry]
Type=Application
Exec=bash /home/pi/freelss.sh
Terminal=false
Notify=false
と書き、保存します。
再起動してブラウザで確認しましょう。
「SEttings」メニューの中から「setup」を選択して
Unit of lengthで単位をInchesからMillimetersに変更してSaveしてみましょう。
エラー無く正常に保存されれば成功です。
無事にソフトウェアがインストール出来たのであとはポートの設定と回路の作成をしてカメラとレーザーを固定すれば使えます。 (先が長い・・・)
続↓