スマホで撮影した写真をラズパイに送りたい! やり方が判らなかったので調査した。
概要
スマホ(SHL25)→写真→ラズパイ4B(4GB)
Bluetooth
他の方法と比較したメリット
他にもデータ交換する方法はある。でもBluetoothを使えば、他の方法と比較して次のメリットがある。
- SDカードを持っていなくても、カードの抜き差をせずとも、データ交換できる
- オンラインサービスを使わずに済むため、プライバシーが保てる
自分の所有するデバイスや、リアル友人との間でデータ交換するときなどに有効だ。
bluemanをインストールする
bluemanは写真ファイルの受信に必要なアプリ。
ラズパイの端末にてsudo apt-get install bluemanコマンドを実行する。
コマンドログ
$ sudo apt-get install blueman パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージが自動でインストールされましたが、もう必要とされていません: gyp libc-ares2 libjs-inherits libjs-is-typedarray libnode-dev libnode64 libpipewire-0.2-1 libuv1-dev nodejs-doc python-colorzero rlwrap xdg-desktop-portal xdg-desktop-portal-gtk これを削除するには 'sudo apt autoremove' を利用してください。 以下の追加パッケージがインストールされます: bluez-obexd gir1.2-appindicator3-0.1 libappindicator3-1 libbluetooth3 libdbusmenu-glib4 libdbusmenu-gtk3-4 libical3 libpulse-mainloop-glib0 notification-daemon python3-gi-cairo 以下のパッケージが新たにインストールされます: blueman bluez-obexd gir1.2-appindicator3-0.1 libappindicator3-1 libbluetooth3 libdbusmenu-glib4 libdbusmenu-gtk3-4 libical3 libpulse-mainloop-glib0 notification-daemon python3-gi-cairo アップグレード: 0 個、新規インストール: 11 個、削除: 0 個、保留: 289 個。 2,519 kB のアーカイブを取得する必要があります。 この操作後に追加で 7,730 kB のディスク容量が消費されます。 続行しますか? [Y/n] y 取得:1 http://ftp.jaist.ac.jp/raspbian buster/main armhf libbluetooth3 armhf 5.50-1.2~deb10u5 [94.9 kB] 取得:2 http://archive.raspberrypi.org/debian buster/main armhf libpulse-mainloop-glib0 armhf 12.2-4+deb10u1+rpt3 [37.1 kB] 取得:3 http://ftp.jaist.ac.jp/raspbian buster/main armhf libical3 armhf 3.0.4-3 [227 kB] 取得:4 http://ftp.jaist.ac.jp/raspbian buster/main armhf bluez-obexd armhf 5.50-1.2~deb10u5 [181 kB] 取得:5 http://ftp.jaist.ac.jp/raspbian buster/main armhf notification-daemon armhf 3.20.0-4 [56.3 kB] 取得:6 http://ftp.jaist.ac.jp/raspbian buster/main armhf python3-gi-cairo armhf 3.30.4-1 [24.1 kB] 取得:7 http://ftp.jaist.ac.jp/raspbian buster/main armhf libdbusmenu-glib4 armhf 18.10.20180917~bzr490+repack1-1 [50.6 kB] 取得:8 http://ftp.jaist.ac.jp/raspbian buster/main armhf libdbusmenu-gtk3-4 armhf 18.10.20180917~bzr490+repack1-1 [39.8 kB] 取得:9 http://ftp.jaist.ac.jp/raspbian buster/main armhf libappindicator3-1 armhf 0.4.92-7 [50.8 kB] 取得:10 http://ftp.jaist.ac.jp/raspbian buster/main armhf gir1.2-appindicator3-0.1 armhf 0.4.92-7 [39.3 kB] 取得:11 http://ftp.jaist.ac.jp/raspbian buster/main armhf blueman armhf 2.0.8-1+deb10u1 [1,718 kB] 2,519 kB を 32秒 で取得しました (78.9 kB/s) 以前に未選択のパッケージ libbluetooth3:armhf を選択しています。 (データベースを読み込んでいます ... 現在 154321 個のファイルとディレクトリがインストールされています。) .../00-libbluetooth3_5.50-1.2~deb10u5_armhf.deb を展開する準備をしています ... libbluetooth3:armhf (5.50-1.2~deb10u5) を展開しています... 以前に未選択のパッケージ libical3:armhf を選択しています。 .../01-libical3_3.0.4-3_armhf.deb を展開する準備をしています ... libical3:armhf (3.0.4-3) を展開しています... 以前に未選択のパッケージ bluez-obexd を選択しています。 .../02-bluez-obexd_5.50-1.2~deb10u5_armhf.deb を展開する準備をしています ... bluez-obexd (5.50-1.2~deb10u5) を展開しています... 以前に未選択のパッケージ notification-daemon を選択しています。 .../03-notification-daemon_3.20.0-4_armhf.deb を展開する準備をしています ... notification-daemon (3.20.0-4) を展開しています... 以前に未選択のパッケージ libpulse-mainloop-glib0:armhf を選択しています。 .../04-libpulse-mainloop-glib0_12.2-4+deb10u1+rpt3_armhf.deb を展開する準備をしています ... libpulse-mainloop-glib0:armhf (12.2-4+deb10u1+rpt3) を展開しています... 以前に未選択のパッケージ python3-gi-cairo を選択しています。 .../05-python3-gi-cairo_3.30.4-1_armhf.deb を展開する準備をしています ... python3-gi-cairo (3.30.4-1) を展開しています... 以前に未選択のパッケージ libdbusmenu-glib4:armhf を選択しています。 .../06-libdbusmenu-glib4_18.10.20180917~bzr490+repack1-1_armhf.deb を展開する準備をしています ... libdbusmenu-glib4:armhf (18.10.20180917~bzr490+repack1-1) を展開しています... 以前に未選択のパッケージ libdbusmenu-gtk3-4:armhf を選択しています。 .../07-libdbusmenu-gtk3-4_18.10.20180917~bzr490+repack1-1_armhf.deb を展開する準備をしています ... libdbusmenu-gtk3-4:armhf (18.10.20180917~bzr490+repack1-1) を展開しています... 以前に未選択のパッケージ libappindicator3-1:armhf を選択しています。 .../08-libappindicator3-1_0.4.92-7_armhf.deb を展開する準備をしています ... libappindicator3-1:armhf (0.4.92-7) を展開しています... 以前に未選択のパッケージ gir1.2-appindicator3-0.1:armhf を選択しています。 .../09-gir1.2-appindicator3-0.1_0.4.92-7_armhf.deb を展開する準備をしています ... gir1.2-appindicator3-0.1:armhf (0.4.92-7) を展開しています... 以前に未選択のパッケージ blueman を選択しています。 .../10-blueman_2.0.8-1+deb10u1_armhf.deb を展開する準備をしています ... blueman (2.0.8-1+deb10u1) を展開しています... libdbusmenu-glib4:armhf (18.10.20180917~bzr490+repack1-1) を設定しています ... notification-daemon (3.20.0-4) を設定しています ... libpulse-mainloop-glib0:armhf (12.2-4+deb10u1+rpt3) を設定しています ... libbluetooth3:armhf (5.50-1.2~deb10u5) を設定しています ... libical3:armhf (3.0.4-3) を設定しています ... python3-gi-cairo (3.30.4-1) を設定しています ... libdbusmenu-gtk3-4:armhf (18.10.20180917~bzr490+repack1-1) を設定しています ... libappindicator3-1:armhf (0.4.92-7) を設定しています ... bluez-obexd (5.50-1.2~deb10u5) を設定しています ... gir1.2-appindicator3-0.1:armhf (0.4.92-7) を設定しています ... blueman (2.0.8-1+deb10u1) を設定しています ... dbus (1.12.24-0+deb10u1) のトリガを処理しています ... desktop-file-utils (0.23-4) のトリガを処理しています ... mime-support (3.62) のトリガを処理しています ... hicolor-icon-theme (0.17-2) のトリガを処理しています ... gnome-menus (3.31.4-3) のトリガを処理しています ... libglib2.0-0:armhf (2.58.3-2+deb10u4) のトリガを処理しています ... libc-bin (2.28-10+rpt2+rpi1+deb10u1) のトリガを処理しています ... man-db (2.8.5-2) のトリガを処理しています ...
バージョンは2.0.8だった。

ラズパイを再起動する
するとタスクトレイ(タスクバーの通知領域)にあるBlueToothの隣に新たなアイコンが出てくる。
| アプリ | ON | OFF |
|---|---|---|
| 元々ある奴 | ||
| blueman |
(ON/OFFでアイコンが変わるが、別アプリで切り替えるとアイコン変更されずに整合性が保たれず、今ON/OFFどちらか判らなくなってしまう問題がある。元々ある奴のアイコンをトレイで非表示にしてbluemanだけで管理すれば判りやすくなると思う)
BlueToothをONにする
普段はOFFにして消費電力を抑え、通信するときだけONにするのがベスト。
ラズパイのBlueToothをONにする
アイコンをクリックしてメニューから項目を選択する。
最終的にタスクトレイのBlueToothアイコンを次の状態にすればOK。
![]()
周辺のアイコンも含めると、私の環境では以下のようになった。
![]()
BlueToothアイコン双方のメニューは以下。アイコンをクリックすると出る。

どちらもメニュー項目の一番上に「ON/OFF切替」がある。これを選択して切り替えを制御する。
(Bluemanのほうは日本語翻訳されている部分と英語のままの部分があって気持ち悪い……)
スマホのBlueToothをONにする
- ホーム画面の下中央にある設定アイコンを選ぶ(
)

- 設定メニューの左下にある
設定アイコンを選ぶ
- その中にあるメニューの左上にある
設定アイコンを選ぶ
- その中にあるメニュー項目名を、下にスライドして
BlueToothをタップする
offボタンを押してonにする(以下のようになればonである)
写真を送信する
やっと本題。スマホで撮影した写真をラズパイに送信する。
尚、写真撮影の方法は割愛する。すでに撮影した画像があるものとして話を進める。
- ホーム画面の下中央にある設定アイコンを選ぶ(
)

- 設定メニューの最左、上から二番目にある
ツールアイコンを選ぶ
- ツールメニューの左上にある
コンテンツマネージャアイコンを選ぶ
- ファイル一覧が出るので、送信したいファイルを探す

- 送信ファイルを決めたら、ファイルのアイコンを長押しする
- するとメニューが出るので
共有をタップする
- すると画面下にメニューが出るので
BlueTootheをタップする
- 送信先のデバイスを選択する(今回は
raspberrypi)
- スマホの背面をラズパイ本体に向けて10秒ほど待つ
これでラズパイに写真が送られるはず。
写真を受信する
写真を受け取ったラズパイには、次のような反応が起きる。
BlueTooth経由のファイル受信というダイアログが出るので許可をクリックする
受信中でもダイアログが出る
完了でもダイアログが出る
受け取ったファイルの所在は、次の方法で確認できるし、変更できる。
bluemanのアイコンをクリックする- メニューから
ローカルサービスをクリックする
- ダイアログが出るので、左にある
転送を選ぶ
- 右にある
転送設定のIncomming Folderのプルダウンをクリックする - あとは好きなディレクトリを選べばいい
ちなみに私の環境は最初/home/pi/Downloadになっていたが、これを/tmpに変更した。
番外編
ちなみにスマホSHL25にてスクリーンショット(SS)を撮影する方法は以下。
- 本体左側にある「電源キー」と本体前面にある「音量DOWNキー」を同時に長押しする
これで撮影して、BlueToothで送信し、今回の画像をGIMPで調整し、WEBサービスで軽量化して、記事にした。(超面倒くさい)