今さらきけない「ラズパイってなんですか?」
今さらきけない「ラズパイってなんですか?」 第9回 ラズパイでWindowsとやり取りするにはどうしたらいいですか
ラズパイとWindowsとの間でファイルをやりとりしたい、と思うケースは多いでしょう。ファイルをやりとりする目的は人によってさまざまです。筆者の場合は、Pythonで作成したプログラムの他に、ラズパイにカメラを取り付けて撮影した画像を取り出して活用する、といった目的が考えられます。ファイルのやりとりにはいろいろな手段がありますので、順を追ってご紹介しましょう。
今さらきけない「ラズパイってなんですか?」
第12回 キャラクターディスプレイモジュールって何ですか
第11回 抵抗? コンデンサー? IC? ラズパイで扱う電子パーツについて教えて!
第10回 ラズパイでLチカって何ですか
第9回 ラズパイでWindowsとやり取りするにはどうしたらいいですか
第8回 「Windowsでラズパイを使う」って何ですか
第7回 ラズパイで使う「コマンド」って何ですか
第6回 ターミナルソフトって何ですか
第5回 GPIOって何ですか? 機能や役割は?
第4回 ラズパイを使う準備って何をしたらいいですか
第3回 Raspberry Pi OSって何ですか
第2回 ラズパイってどうしたら使えますか
第1回 ラズパイってなんですか
一覧ページへ
WinSCPを利用する
WinSCPはFTPというファイル転送の仕組みを利用したソフトです。左右のペインにファイル共有したいマシンを表示させ、ドラッグ&ドロップでファイルをやりとりします。導入も簡単で、WinSCPのWebサイトからプログラムをダウンロードしてインストールし、ラズパイのホスト名かIPアドレスを指定してアクセスするだけです。
なおラズパイのホスト名ですが、デフォルトでは「raspberrypi」となっています。その場合は「raspberrypi.local」と変更するとアクセスできます。
ファイル共有を使う
もう1つの手段がSambaを利用したファイル共有です。SambaはLinux上でWindowsのネットワーク機能を実現するソフトのことを言います。
ラズパイを動かすRaspberry Pi OSもLinuxの1つですので、Sambaを導入することで、Windowsのファイルサーバーと同じ機能を持たせられます。このため、Windows上からラズパイのファイルにアクセスできるようになるのです。
まずはファイルを最新のものにしておきましょう。
$ sudo apt update && sudo apt full-upgrade
次に以下のコマンドでインストールします。
$ sudo apt install samba
Windowsと共有するためのフォルダを設定しましょう。ここでは「share」というディレクトリを作成し、そのフォルダのみにアクセスできるようにします。
$ mkdir /home/pi/share
続いてSambaの設定ファイルである「smb.conf」を変更します。次のコマンドで、nanoでsmb.confを開いて設定しましょう。
$ sudo nano /etc/samba/smb.conf
この最終行に以下の内容を記述します。
[share] comment = Share path = /home/pi/share public = yes read only = no browsable = yes force user = pi
記述したらSambaを再起動します。
$ sudo service smbd restart
Windowsのエクスプローラーから「¥¥raspberrypi.local」と入力してEnterキーを押しましょう。以下のように共有フォルダが表示されます。
ファイルに誰がアクセスしているのか調べるためには「smbstatus」を使います。その時に利用するオプションは以下の通りです。
-b:簡単な情報を表示する
-d:詳細な情報を表示する
-u username:特定のユーザー(username)の情報を表示する
-S:接続の一覧を表示する
以下のようにコマンドを入力すると、値が返ってきます。
$ sudo smbstatus -b Samba version 4.13.13-Debian PID Username Group Machine Protocol Version Encryption Signing ---------------------------------------------------------------------------------------------------------------------------------------- 2925 nobody nogroup 240d:1a:8d4:8500:8437:93a8:cf70:d6bc (ipv6:240d:1a:8d4:8500:8437:93a8:cf70:d6bc:53933) SMB3_11 - -
特に指定していなかったのですが、筆者の環境ではIPv6でのアクセスになっているようでした。
パスワードを利用する
ここまで紹介した方法では、まだパスワードが設定されていないため、誰でもアクセスできる状態となっています。ラズパイへのアクセスにパスワードをかけてみましょう。
まずはラズパイ側で、Sambaの利用ユーザーのパスワードを導入します。ラズパイへのアクセスとは別にパスワードを設定する必要があります。以下のコマンドを入力しましょう。ここではpiユーザーにパスワードを設定しています。
$ sudo smbpasswd -a piNew SMB password:(パスワードを入力)
Retype new SMB password:(再度パスワードを入力)
Added user pi.
これでpiユーザーのパスワードが設定できました。
ではWindowsに戻ってアクセスしてみましょう。共有フォルダをダブルクリックすると以下の画面が表示されます。
ここでは、ユーザー名を「pi」、パスワードは先ほどsmbpasswdで設定したものを入力します。するとフォルダにアクセスできるようになります。
Sambaは意外と使い勝手がよく、大容量のファイルサーバーとしても活用できます。共有フォルダを増やし、ユーザーごとに管理することも可能です。このあたりの活用法については、また別途ご紹介したいと思います。