Home > Windows にまつわる e.t.c.

PQI Air Pen を THETA S のワイヤレス リモコン シャッターにする


全天球写真撮影機材に続き THETA S ネタ第2弾です。

THETA S で全天球写真を撮る場合、手のアップが映りこまないようにセルカ棒を使うのですが、この時のシャッターはスマフォを使うことになります。

スマフォをシャッターにした場合、物理ボタンではないのでどうしてもスマフォの画面を見ながらシャッターを切ってします。すると、集合写真の場合一人だけよそ向いた写真になってしまいやすいんですよね。

純正のリモコンシャッターは USB 接続なので、どうしてもケーブルが邪魔になるし、お値段も意外と高かったりします。

ケーブルスイッチ CA-3: 純正アクセサリー | RICOH IMAGING
http://store.ricoh-imaging.co.jp/g/gS0030004/

 

どうしたものかと調べていたら... PQI Air Pen を THETA のワイヤレス リモコン シャッターにする方法を見つけました。

PQI Air Pen
http://jp.pqigroup.com/prod_in.aspx?prodid=539&modid=145

RICOH THETA HACKS! - 物理リモートシャッターをつくる (Building physical THETA remote Controller) - MobileHackerz
http://mobilehackerz.jp/contents/Review/RICOH_THETA/Remote

 

さらに調べていると、THETA S ではそのまま動かないのですが、スクリプト修正すると動くとの情報を見つけました。

Alvinの倉庫: Ricoh THETA S のリモコン
http://alystra.blogspot.jp/2015/12/ricoh-theta-s.html

 

PQI Air Pen の販売価格を調べると、これが純正リモコンシャッターより安いじゃないですか。
と言う事で早速ポチ(リストにはありませんが、Amazon で買いました)

価格.com - PQI Air Pen 6W41-0000R2 [ホワイト] 価格比較
http://kakaku.com/item/K0000472185/

 

サイズはこのくらいなので、持ち歩いても邪魔にならなさそうです(ケース付き)

 

THETA S リモコン化モジュールを格納するために microSD が必要なので、余分が無い場合は一緒に購入しておきましょう。
モジュールサイズは 4MB 弱なので小さいサイズで問題ないです。

 

PQI Air Pen のセットアップ

PQI Air Pen は充電しながら操作することが出来ないので、セットアップする前に USB ポートに接続して充電します。
充電完了するとバッテリーインジケーターが消灯するので、それまで放置

充電完了したら PQI Air Pen をセットアップして、THETA S と接続します。

PQI Air Pen を起動してしばらくすると、PQI Air Pen が見えるはずです。

 

オープンなので、Password なしで接続します。(後で Password 設定します)

DHCP で 192.168.200.0/24 が割り当てられるので、Web ブラウザーで 192.168.200.1 をアクセスし、Concurrent Mode で Hotspot SSID をスキャンします。

 

スキャンが完了すると、THETA S の SSID が見えるので、パスワードを指定して Connect します。

 

THETA との接続に成功すると Connecting になります。
この際に PC との無線が切れることがあるので、再接続すれば接続済みになっているはずです。

 

THETA S との接続が記録されたので、THETA S はここでいったん電源を切ります。

 

PQI Air Pen のセキュリティ設定

無線 AP として使うわけではないので、このままのセキュリティ設定でも構わないのですが、クラックされて設定変更されるのも面倒なのでセキュリティ設定します。
(面倒ならセキュリティ設定はしなくて構いません)

まずは、Web ページに ID / Password 設定します。

 

AP にもパスワードを設定します。

 

設定が一通り終わったら、PQI Air Pen の電源を切ります。

 

ワイヤレスリモコンキットを仕込む

RICOH THETA HACKS! - 物理リモートシャッターをつくる からダウンロードしたモジュールを展開し、Alvinの倉庫: Ricoh THETA S のリモコン の通りに theta_remote.sh を修正します。

PQI Air Pen は中身が Linux なので、改行コードが LF です。このため、改行コード制御できるテキストエディタを使って修正します。
(僕は秀丸エディタ使いました)

修正すると、こんな感じになります。

#!/bin/sh
# --------------------------------
#   THETA Remote for PQI Air Pen
# --------------------------------
# http://mobilehackerz.jp/ mobilehackerz@gmail.com

ssid=$1
pass=$2

theta_ip=192.168.1.1
theta_port=15740
trigger_port=5211
trigger_gpio=/proc/gpio/gpio22_in

echo 1 > /proc/gpio/gpio23_out
/tmp/www/ftp/sda1/theta/sleepms 100
echo 0 > /proc/gpio/gpio23_out
sleep 1
echo 1 > /proc/gpio/gpio23_out
/tmp/www/ftp/sda1/theta/sleepms 100
echo 0 > /proc/gpio/gpio23_out
sleep 1
echo 1 > /proc/gpio/gpio23_out
/tmp/www/ftp/sda1/theta/sleepms 100
echo 0 > /proc/gpio/gpio23_out

wget="/tmp/www/ftp/sda1/theta/busybox-mips wget -O -"
awk="/tmp/www/ftp/sda1/theta/busybox-mips awk"
prefix="http://127.0.0.1/cgi-bin/cmd"
status=""

while [ 1 ]
do
    sleep 1
    echo Scanning..
    iwlist ath0 scan2file > /tmp/www/aplist.xml
    channel=`$awk -v essid="${ssid}" '\
BEGIN { found=0; } \
/<ESSID>(.*?)<\/ESSID>/ { gsub(/<[^>]*>/,""); gsub(/[ \t]/,""); if ($0 == essid) { found=1; } else { found=0; } } \
/<Channel>(.*?)<\/Channel>/ { gsub(/<[^>]*>/,""); gsub(/[ \t]/,""); if (found == 1) { print $0; } } \
' /tmp/www/aplist.xml`
    if test ${channel} -ne 0
    then
        break
    fi
done
echo Channel ${channel}

cfg -a STA_SSID=${ssid}
cfg -a STA_SECMODE=WPA-PSK
cfg -a STA_PASSWD=${pass}
$wget "${prefix}%3fcmd%3dCONNECT"
cfg -a AP_PRIMARY_CH=${channel} && iwconfig ath0 channel ${channel}


while [ 1 ]
do
    sleep 1
    read status < /tmp/staState
    echo Status ${status}
    if test ${status} = "Connected"
    then
        break
    fi
done

killall "rc"
# /tmp/www/ftp/sda1/theta/theta_proc.sh $theta_ip $theta_port $trigger_port&

sed="/tmp/www/ftp/sda1/theta/busybox-mips sed"
execute="http://192.168.1.1/osc/commands/execute"

while [ 1 ]
do
    # Wait for press button
    trig=1
    while [ $trig -eq 1 ]
    do
        /tmp/www/ftp/sda1/theta/sleepms 50
        read trig < $trigger_gpio
    done
    
    # Shutter
    # /tmp/www/ftp/sda1/theta/ThetaShutterTrig $trigger_port 0
    sid=`$wget $execute --post-data='{"name":"camera.startSession"}'| $sed -e "s/^.*\"sessionId\":\"\([^\"]*\)\".*$/\1/"`
    $wget $execute --post-data="{\"name\":\"camera.takePicture\",\"parameters\":{\"sessionId\":\"${sid}\"}}"
    $wget $execute --post-data="{\"name\":\"camera.closeSession\",\"parameters\":{\"sessionId\":\"${sid}\"}}"

#   # long press?
#   /tmp/www/ftp/sda1/theta/sleepms 500
#   read trig < $trigger_gpio
#   if test ${trig} -eq 0
#   then
#       # bracket shutter
#       /tmp/www/ftp/sda1/theta/ThetaShutterTrig $trigger_port 2000
#       /tmp/www/ftp/sda1/theta/ThetaShutterTrig $trigger_port -2000
#   fi

    # Wait for release button
    while [ $trig -eq 0 ]
    do
        /tmp/www/ftp/sda1/theta/sleepms 50
        read trig < $trigger_gpio
    done
done

 

ここを見ると PQI Air Pen は起動時に microSD のルートディレクトリに置いた thisisautorun (シェルスクリプト)を自動実行する仕様のようです。

ポケット無線LANルータの新顔PQI Air Penの著しく間違った使い方
http://hitoriblog.com/?p=15926

 

この仕様通り、thisisautorun がルートディレクトリになるように修正したモジュール一式を microSD にコピーします。

メモリーカードーリーダーを持っていない場合は、電源を切った状態の PQI Air Pen がメモリーカードーリーダーになりますのでご安心を。(電源入れると microSD が見えなくなるので、電源を切ったまま USB 接続)

 

リモコンシャッターとして使う

PQI Air Pen モジュールをセットした microSD をセットしたら、準備完了

THETA S を起動し、続いて PQI Air Pen を起動します。

暫くして無線接続が完了すると、THETA S の無線ランプが点灯したままになるります。

この状態で PQI Air Pen のサイドにあるボタンを押すと THETA S のシャッターが切れます。

 

関連情報

全天球写真の撮り方
http://www.vwnet.jp/Windows/Other/2016111201/THETAs.htm

THETA S のケーブルスイッチ
http://www.vwnet.jp/Windows/Other/2017042901/THETA_CA-3.htm

 

 

back.gif (1980 バイト)

home.gif (1907 バイト)

Copyright © MURA All rights reserved.