Remote USB Selector

RUS2の製作

rus2_raspi

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をアップデートする。

$ sudo apt-get update

アップデートに失敗した場合は以下を試してみてください。

$ sudo rm -rf /var/lib/apt/lists/*

 

3Dプリンタに見せるストレージを作成する。
下のディスクを作るDDコマンドのbsとcountの数字によってディスクサイズが決まります。この書き方だと、1MiB*200=200MiBのディスクが作られます。
ラズパイに差しているSDカードの空き容量を参考に作成してください。
25GiBのディスクを作りたいのならば、”bs=1M count=25600″とすればよいと思います。(25*1024=25600)

$ 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を選択しています。

$ sudo mkfs.vfat -v -c -F 32 /var/disk/usb_storage.img

 

このディスクのマウント先を作成する。

$ sudo mkdir /storage
$ sudo chmod 777 /storage

 

自動的にこのディスクがマウントされるように設定する。
ファイルの最後に追加してください。

$ sudo nano /etc/fstab
/var/disk/usb_storage.img /storage vfat auto,users,rw,umask=000,uid=www-data,gid=www-data 0 0

 

SAMBAをインストールする。

$ sudo apt-get install -y samba

 

SAMBAのユーザーを追加する。
パスワードは、”raspberry”としておく。

$ sudo smbpasswd -a pi

 

SAMBAの設定をする。
smb.confの最後に挿入すればOK。

$ sudo vi /etc/samba/smb.conf
[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のサービスを再起動する。

$ sudo service smbd restart

 

elFinderのセットアップをする。
“path”と書かれたコードのうち”/sda1″を”/storage”へ置き換える。

$ sudo nano /var/www/html/php/connector.minimal.php
//'path' => '/sda1', // path to files (REQUIRED)
'path' => '/storage', // path to files (REQUIRED)

 

ラズパイを再起動させて、WindowsからエクスプローラとWEBからアクセスしてみてください。

うまくアクセスできることができたら先へ進めます。

RUS2固有の環境を作る2

ラズパイをUSB端子をUSBデバイスとなるように設定する。
以下のファイルの最後に1行追加する。
これによりUSB端子の役目が変わってしまうので、キーボードやUSBメモリなどUSB端子に差しても使えない状態になりますので注意ください。

$sudo nano /boot/config.txt
dtoverlay=dwc2

 

ラズパイをUSBストレージに設定する。
rc.localの”remote_usbsel.sh”の直前に以下を入れてください。

$ sudo nano /etc/rc.local
rus2.sh
rus2_update.sh

 

RUS2ソフトウェアをインストールします。

$ 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

 

ラズパイの電源を落として完了です。