3Dプリンタのネットワーク化の為に前作のRUS(Remote USB Selector)を開発しましたが、新たに部品の削減と機能状況を行ったRUS2を開発しました。
システム構成は以下のように、自作の電子基板がなくなってRaspberry Pi ZERO WHで済むようになりました。また、WEBブラウザからのファイル転送に加えて、Windowsのエクスプローラからファイルを送れるようになりました。
ただ、Raspberry Piと3Dプリンタの間のUSBケーブルに自作の電源分離の為のUSBコネクタを入れています。
これがない場合でも使うことが一応可能です。
自作電源分離のUSBコネクタを使わずに使用する場合
おススメしません。
予想を含みますし、正常に動かなかったり想定外の故障につながる可能性があります。
USB電源からのUSBケーブルは不要なので外してください(外すことは必須)。
外さない場合は、ラズパイに繋げたUSB電源の電力が3Dプリンタへ流れてしまいます。これにより3Dプリンタの故障につながる可能性があります。
ラズパイの電源は3DプリンタのUSB端子から供給されるため、3Dプリンタに電源が入っている時だけラズパイが動作することになりますので、ネットワーク接続もその間になります。
電源分離USBコネクタの製作
Micro USBコネクタのオスとメスを用意して、
D+ ⇔ D+
D- ⇔ D-
GND⇔GND
の3本のみを結線してください。
要は電源VBUSやV+と呼ばれる線を結線しないものを作ればOKです。
RUS2の構築手順
RUSソフトウェア環境を作る
RUS2は前作RUSのソフトウェア資産を使います。
まずはラズパイのMicroSDカードにRUSの構築を行います。
を行ってRUSのソフトウェア環境を作ってください。
本サイトで用意したSDカードの配布イメージを使わずに、ご自分で設定・インストールをしたい場合は、SDCardインストールガイド に従ってインストール・設定を行えば同じものができます。
RUS2固有の環境を作る1
ラズパイOSをアップデートする。
1 |
$ sudo apt-get update |
アップデートに失敗した場合は以下を試してみてください。
1 |
$ sudo rm -rf /var/lib/apt/lists/* |
3Dプリンタに見せるストレージを作成する。
下のディスクを作るDDコマンドのbsとcountの数字によってディスクサイズが決まります。この書き方だと、1MiB*200=200MiBのディスクが作られます。
ラズパイに差しているSDカードの空き容量を参考に作成してください。
25GiBのディスクを作りたいのならば、”bs=1M count=25600″とすればよいと思います。(25*1024=25600)
1 2 3 |
$ sudo mkdir /var/disk $ sudo chmod 777 /var/disk $ dd if=/dev/zero of=/var/disk/usb_storage.img bs=1M count=200 |
作成したディスクをFAT32でフォーマットする。
3Dプリンタで使えるUSBメモリはFAT32だったりすることから、FAT32を選択しています。
1 |
$ sudo mkfs.vfat -v -c -F 32 /var/disk/usb_storage.img |
このディスクのマウント先を作成する。
1 2 |
$ sudo mkdir /storage $ sudo chmod 777 /storage |
自動的にこのディスクがマウントされるように設定する。
ファイルの最後に追加してください。
1 |
$ sudo nano /etc/fstab |
1 |
/var/disk/usb_storage.img /storage vfat auto,users,rw,umask=000,uid=www-data,gid=www-data 0 0 |
SAMBAをインストールする。
1 |
$ sudo apt-get install -y samba |
SAMBAのユーザーを追加する。
パスワードは、”raspberry”としておく。
1 |
$ sudo smbpasswd -a pi |
SAMBAの設定をする。
smb.confの最後に挿入すればOK。
1 |
$ sudo vi /etc/samba/smb.conf |
1 2 3 4 5 6 7 8 9 |
[storage] comment = disk path = /storage browseable = yes force group = www-data force user = www-data force create mask = 0774 force directory mask = 0775 read only = no |
SAMBAのサービスを再起動する。
1 |
$ sudo service smbd restart |
elFinderのセットアップをする。
“path”と書かれたコードのうち”/sda1″を”/storage”へ置き換える。
1 |
$ sudo nano /var/www/html/php/connector.minimal.php |
1 2 |
//'path' => '/sda1', // path to files (REQUIRED) 'path' => '/storage', // path to files (REQUIRED) |
ラズパイを再起動させて、WindowsからエクスプローラとWEBからアクセスしてみてください。
うまくアクセスできることができたら先へ進めます。
RUS2固有の環境を作る2
ラズパイをUSB端子をUSBデバイスとなるように設定する。
以下のファイルの最後に1行追加する。
これによりUSB端子の役目が変わってしまうので、キーボードやUSBメモリなどUSB端子に差しても使えない状態になりますので注意ください。
1 |
$sudo nano /boot/config.txt |
1 |
dtoverlay=dwc2 |
ラズパイをUSBストレージに設定する。
rc.localの”remote_usbsel.sh”の直前に以下を入れてください。
1 |
$ sudo nano /etc/rc.local |
1 2 |
rus2.sh rus2_update.sh |
RUS2ソフトウェアをインストールします。
1 2 3 4 5 6 7 8 |
$ cd /tmp $ wget https://github.com/suzgaku/rus2/archive/main.zip $ unzip -o main.zip $ cd /tmp/rus2-main $ sudo ./install.sh $ cd .. $ rm -rf rus2-main $ rm -rf main.zip |
ラズパイの電源を落として完了です。