Dropbox

紙飛行機を自由に操縦したいというコンセプトで開発されたPowerUp。その第二弾であるFPV搭載モデルのKickstarter版を入手しました。手に入ったのは12月のことでしたが、いろいろあってやっと初飛行にこぎ着けました。

単独でも飛行可能な紙飛行機(Invadorという名前です)にパワーユニットを装着して飛ばします。パワーユニットはドローンで定評のあるParrot製です。


まずは組み上げて室内テストを行いました。

ついでにモーターの慣らしとバッテリーのテストを兼ねて予備を含めて7個あるバッテリーが空になるまで、色々な速度でモーターを回しておきました。

風の弱い日を選んで近所の公園に出掛けました。50m x 70mくらいの広場なので、なんとかぎりぎり飛ばせる広さと思います。


30分ほど飛ばしていて、この一回だけ満足な飛行が撮影できました。パワー的には十分飛ばせるのですが、有り余るほどの力はありません。そのためエレベーターを的確に調整するのが重要だと感じました。紙を折っただけですので、飛ばす度に点検が必要です。紙飛行機ですので左右の翼のバランスは微妙にずれていると思いますが、自動的に2つのプロペラの出力が調整されて、まっすぐに飛びます。安全な高度に上げることさえ出来れば安定しているし操縦性もかなり良いです。

最後は泥だらけになってしまったので飛行機本体はゴミ箱に捨ててきました。紙ですからね、使い捨ですね。また次の機体を折るだけです。

飛ばした感じは、ドローンの飛行とは当然違います。昔、飛ばしていたエンジン付きのRC飛行機ともまた趣きが違ってなかなか面白いです。

もうちょっと簡単に高度を稼げる機体を自作してみようかとも考えています。


これは機体に搭載されたFPV用カメラの画像です。オマケで最後は街灯に激突しています。

中国で販売されているAndroid端末は俗に中華アンドロイドと呼ばれていてGoogleのサービスを使わない仕様になっています。何と言ってもGoogleに中国国内から直接アクセスすることが出来ないので当然の事です。中国国内のサービスだけを使えば十分に役に立ちますが、私のようにGoogleにどっぷり浸かっている場合は中国国内においてもGoogleサービスを使わざるを得ません。

[ Go谷歌安装器 ]

root化したりROM焼きで国際仕様にすることも可能ですがファーム更新がちゃんと受けられるようにしたいので、今回は特別な方法は取らないでおきます。ということで、アプリケーションでGoogleサービスを導入することにしました。わたしはGo谷歌安装器(これが安全なものかどうかは分かりません)を使いました。Huaweiの標準アプリケーションであるHiAppから導入出来ます。

Google Playが動いてしまえばGo谷歌安装器を削除しても問題ないようです。この方法でほぼ問題なくGoogleのサービスが使用できます。唯一実現できていないのは連絡先のGoogleとの同期です。

[ Googleとの同期 ]

Google Playを立ち上げるとGoogleアカウントへのログイン画面が出ます。ログイン完了後にアカウントの詳細を見ると以下のような情報が同期されているのがわかります。

カレンダーが同期されていませんが、Google提供のカレンダーを起動すると下のようにカレンダーの同期が始まります。

連絡先も同様にアプリケーションを立ち上げる事が出来れば同期出来そうですが、Google提供の連絡先アプリケーションはNexusなどの限られた機種にしか導入出来ません。裏ワザ的なことも試してみましたがうまく行かなかったので諦めました。

今のところ電話としては使用していないので、このままでも大丈夫ですが、念のため代替手段を講じておきます。色々と方法は考えられますが、私の場合は”Copy My Data”というアプリケーションで別のAndroid端末からWiFi経由で連絡先の丸ごとコピーを行いました。”Copy My Data”は簡単に素早く連絡先、カレンダー、写真、動画を端末同士でのコピーあるいはGoogle Driveへのバックアップ・リストアが可能です。今回、初めて使用しましたがお勧めアプリケーションと言って良いと思います。

日本でも発売されたHuawei Mate 9の中国大陸版を購入しました。中国ではMate 9 Proも発売されていますので、かなり悩みました。Proのディスプレイはかなり良いものの値段の差が大きいので無印Mate 9に落ち着いた次第です。

薄いですが、液晶保護フィルムが貼られています。また背面を保護する透明カバーも付属しているので箱から出して直ぐに使えます。

中国で販売されているHuaweiのAndroid携帯電話は最初から日本語ロケールが入っているので初期設定から日本語で行うことが出来ます。加えて、root化を行うこと無くアプリケーションとしてGoogle関連のアプリケーションを導入すれば、かなり普通のAndroidとして使用することも可能です。以前、小米5で同様にGoogle関連アプリケーションを導入して試してみましたが、幾つか不具合があり、結局Global ROMに入れ替えました。Mate 9では今のところ、まったく問題なくGoogle関連アプリケーションが使用できています。<追記> Googleとアドレス帳の同期が出来ていないのに気づきました。電話として使用していないで困ってはいませんが根本的な解決は難しそうです。代替策で凌ぐしかないかも。

このアプリケーションでGoogleサービスを導入しました。Google Playが動いてしまえば、このアプリケーション自体は削除しても大丈夫です。安全性については今ひとつ良く分かりません。

液晶サイズは5.9インチですが左右の枠が狭いので、片手持ちもラクラクです。ただし、流石に文字入力は片手では難しいです。ソフトウエア・ボタンのところを左右にスワイプすると画面を小さく出来ます。これで指は画面全体に届きますが、この状態で日本語のスワイプ入力は難しいです。

一番下のソフトウエア・ボタンを左から右になぞると、この画面になります。反対になぞると、もとに戻ります。

ちょっと気に入っているのは横向きにするとステレオ再生が出来ることです。携帯電話と割り切ればそれなりに聴けます。ただし、よく聞いてみると右と左のスピーカーで音質が違うように思えます。また同じくステレオで音が出せるNexus 6と比べると、いくぶん薄っぺらく聞こえます。

急速充電も良好ですがHuawei独自方式なのでNexus 6や小米 Mi 5と充電器を共用出来ないのが残念です。

カメラは、まだ使い込んでいませんが評判通り良い感じです。Proモードが秀逸でISO, シャッタースピードを任意の値にすることが出来ます。またマニュアル・フォーカスも扱いやすく出来ています。Proモードをばりばりと使うために三脚に取り付けるためのアタッチメントやスローシャッターを切るためのNDフィルターも準備しました。成果については乞うご期待。

とっても丈夫な小さいクワッドコプターJJRC H36を紹介します。重量は20gほどしかありませんので手のひら上からの発着も行えます。

各種センサーのおかげで飛行姿勢はとても安定しています。ただし高度を一定に保つ機能は有りませんので、思い通りに飛ばせるようになるまでには練習が必要です。特筆すべきは、その丈夫さです。予備のプロペラも付属していますが、使用する事が無いと思えます。かなり壁にぶつけたり墜落させたりしていますが、まったく壊れる気がしません。また、ぶつけた場所を傷つけることもほぼ無いと思います。初心者にも安心してお勧め出来ます。

高度の維持が出来るようになるとビュンビュンと飛ばせるようになります。

小さな機体ですが、けっこう力強いので屋外での飛行も出来ました。ヘッドレスモードといって機体の向きに関係なく自分から見て遠く、近く、右、左とスティックで操作する方法もあります。これを使えば回転させたまま前進すると言ったことも出来ます。いまひとつ慣れないので、わたしは使いません。

H36には元となるTINY WHOOPという機体があります(別の言い方をすればH36はパクリです)。このTINY WHOOPはFPVカメラを搭載してゴーグルを装着しての室内レース用の機体として有名です。リンク先にある動画を見ると、とても人間技とは思えない飛行をさせています。同様にH36にもFPVカメラを載せて楽しんでいる人たちがいますが、わたし的にはFPVを載せることには興味がありますが、FPVで飛ばすことには魅力を感じないので試すことはないと思います。

またEachine E010という機体も同じくらいの値段で見つかると思います。これは、どうもJJRC H36と同じものらしいです。

ieast

自宅のDLNAサーバーの音楽ファイルのストリーミング再生環境は概ね整っていましたが、ヤマハのAVアンプRX-V473はflacの場合96KHz/24bitまでは再生出来ます。ところが私のライブラリーにはflac 128KHz/24itの物があり、それが再生出来ない事が不満でした。そこでネットで何か使えるデバイスは無いとかと探してみたところ、唯一かつ完璧に要求を満たすiEAST SoundStream Proが見つかりました。

I am using YAMAHA RX-V473 to connect my home DLNA server. It is almost okay. RX-V473 can decode up to 96KHz/24bit flac. However I have 128KHz/24bit flac files on my DLNA server. iEAST SoundStream Pro is perfect answer to play all my music files on the DLNA server.

公式ページは今ひとつなので、簡単に紹介しておきます。

iEAST official page is not so good. Let me introduce the SoundStream pro.

Interface:
– WiFi 2.4GHz IEEE 802.1b/g/n
– Ethernet RJ45 10/100Mbits
– S/PDIF Optical Toslink
– USB for flash drive
– 3.5mm stereo line-out

Power supply:
– 5V 1A Mirco USB

DAC: ESS ES9023
Audio format:
– Up to 192KHz/24bit
– FLAC, WAV, AAC-LC, HE-AAC, MP3, WMA…

特徴 / feature:
– 携帯電話のアプリケーションから複数のSoundStreamを制御することが出来る / iEAST mobile phone application controls multiple SoundStream devices
– 複数のSoundStreamに同じ音楽を同時に鳴らすことも出来る / Multiple SoundStream devices can play same music stream simultaneously also
– Spotifyや各種音楽ストリーミングサービスや色々なネットラジオに対応 / Spotify or other music stream service and various net radio are supported
– Apple Airplayに対応 / Apple Airplay support
– DLNAサーバーに対応 / DLNA server support

[ 設定 / setup ]
説明書通りですが、簡単な流れを書いておきます。
– 電源を入れると設定用のSSID IEAST_xxxxが見えるようになるので接続する(パスワード無し)
– http://10.10.10.254にwebでアクセスすると家庭の無線LANに接続するための設定画面になる
– 希望のSSIDを選択しパスワードを入力する
– 家庭の無線LANに接続されると設定画面の接続は切れる。ただしその後も設定用のSSIDで電波は出続ける、最初はパスワードなしであったが、設定後は家庭の無線LANと同じパスワードが設定される

後はS/PDIFかLINE OUTをアンプに接続すればOKです。

Just need to follow the instruction. Brief setup process is as follow.
– Power on SoundStream pro. Then you can connect SSID IEAST_xxxx withoit password
– Open web browser to connect http://10.10.10.254 to display setup WiFi setup page
– Select you home WiFi SSID and enter WiFi password
– SoundStream Pro will connect your home WiFi and disconnect from setup screen. Original SoundStream setup SSID is still available for use. But it will be password protected. You can use same password for your home Wifi to connect SoundStream pro setup screen

[ 携帯電話アプリケーション / Mobile phone application ]
箱にQRコードがあるのでそれを読み込みばアプリケーションの導入が出来ます。あるいは以下のURLから導入します。
Reading QR code on the box or visit following URL to install iEAST Play.

iOS : https://itunes.apple.com/us/developer/ming-lan/id1038295773
Android : https://play.google.com/store/apps/details?id=com.wifiaudio.iEastPlay

[ 悩ましいアンプとの接続 / Consideration of SoundStream pro and audio amplifier connection ]
古くからAVアンプを使用していましたので何も悩まずにS/PDIF Toslinkの光ケーブルでAVアンプに接続しました。途中でノイズを拾うこと無く良い音がするはずと、しばらく鳴らしていました。が、よく考えるとSoundStreamは高機能な最近のDACによりサンプリング・レート192KHzのデータをデコードしてアナログに変更するのが役割です。それをまたS/PDIFに載せるということは、もう一度アナログからデジタルに変換するということです(さらに言うなら、それをACアンプのDACで再度アナログにして出力する)。再変換に伴う歪を置いとくとしても問題となるのはS/PDIFの規格です。色々と調べてみると最高ではPCM 96KHz/24bitまで行けそうですが実装の方が問題です。

AVアンプ側で調べてみるとS/PDIFで接続している場合は入力ファイルに関係なくSampling 44.1KHzと表示されました。ダウンコンバートが行われていることは間違いようです。

spdif

ということで音がよくなっているのかどうかは不明ですがLINE OUTで接続することにしました。3.5mmみにジャックなのが、少々不満です。いっそピンジャック接続できるように改造したいくらいです。

At the beginning, I instantly connect SoundStream pro and AV amplifier by using S/PDIF optical cable. It should be noiseless connection. And provides better sound. But think about the SoundStream pro is using DAC to decode digital sound data to analog. This is the function of SoundStream. If I use S/PDIF interface, analog signal needs to convert digital again within SoundStream pro. Even if I can ignore distortion/noise of decode and encode process, the problem is specification of S/PDIF interface. It seems to me, S/PDIF supports up to 96KHz/24bit PCM. It is acceptable, but implementation would be less than this…

I checked AV amplifier information screen to confirm this. Sampling rate is always showed 44.1KHz.

Anyway, I changed the connection to analog. Unfortunately analog connection of SoundStream Pro is 3.5mm stereo mini-plug. I would like to modify this to RCA pin jack.

avcontroller
三年ほど前からYAMAHA RX-V473という比較的安価で購入できるAVアンプを使用しています。普通に付属のリモコンで使用して何も不自由を感じていませんでしたが、最近になって携帯電話に導入するAV CONTROLLERというアプリケーションを試してみました。

最初は付属のリモコンと出来ることに差は無いように思えましたが、我が家の環境では実に使える役割があることに気付きました。

[ Android/iOS端末内の音楽再生 ]
もともとAirPlayに対応しているのでiOS端末内の音楽再生はAV CONTROLLER無しでも可能なのは分かっていましたが、AV CONTOLLERで接続していると端末内の音楽再生がAirPlayを使わずに行えます。Android端末でも可能なのは、ちょっと驚きでした。これはもうリモコンの機能を超えています。もっと宣伝して良い機能だと思います。

[ DLNAサーバーの日本語表示 ]
最近になって我が家ではDLNAサーバーを設置して音楽や動画をサーパーにおき、色々な端末から再生出来るようにしました。AVアンプ接続のAndroid STBにもKodiを導入して動画や音楽を再生出来るようしています。ただ音楽を聴く場合にはRX-V473のDLNAクライアントを使用した方が明らかに音が良いです。STBからだとHDMI経由ですし、これは当然でしょう。問題はRX-V473からテレビに情報を表示する場合には漢字が全く出ないので日本語、中国語の楽曲がまったく分からなくなってしまいます。これが携帯端末に入れたAV CONTROLLER上ならば全く問題なく漢字の表示が出来ます。

端末内音楽の再生にしてもDLNAサーパー接続にしてもテレビ画面はまったく必要ありません。付属リモコンを使用する場合は何にしてもテレビの電源も入れる習慣が付いていましたが、もう音楽再生の場合はテレビの電源を入れずにAndroidもしくはiPadだけで行うようになりました。

 新しいのが欲しいなぁ

自分用の覚書です。zipファイルの中に複数のzipファイルが有り、zip中zipの中から目的のテキストファイルを探し出して読み込むサンプル・コードです。特別なことは何もないですし、注釈は要らないでしょう。

#!/usr/bin/perl

my $fn_to_be_found = "target.txt";

if ($ARGV[0] =~ /zip$/i) {
	use File::Temp qw/tempfile/;
	use Archive::Zip;
	my $zip = Archive::Zip->new;
	$zip->read($ARGV[0]);
	my @members = $zip->membersMatching(/zip$/i);
	my $finish = 0;
	foreach my $m (@members) {
		my $fn = $m->fileName;
		print "zip in zip file: $fn\n";
		my ($temp_fh, $temp_filename) = tempfile(UNLINK => 1);
		print "Temporary file name: $temp_filename\n";
		$m->extractToFileHandle($temp_fh);
		$temp_fh->flush;
		my $zip2 = Archive::Zip->new;
		$zip2->read($temp_filename);
		my $m2 = $zip2->memberNamed($fn_to_be_found);
		if ($m2) {
			my $fn2 = $m2->fileName;
			print ">>$fn2\n";
			$file_contents = $m2->contents;
			$finish = 1;
		}
		close $temp_fh;
		if ($finish) {last;}
	}
}

# print $file_contents;

MacとWindows環境の両方で動く小さなツールを作ろうと思いました。作りたいのはCUIベースのもので簡単なファイル操作を行い結果を標準出陸出来れば良いだけです。最悪、メインのロジックだけでも共通化出来れば良いくらいに考えていました。WindowsにActivePerlとかStrawberryPerlを入れてしまえば解決と言えないこともないのですが、もともとPerl実行環境が入っていないWindowsにもツールを提供する方法を模索していました。

色々と巡り巡って(というほどでは無いですが)、結局Perlに戻ってきました。Windows環境でPerlスクリプトをexe化すればPerl実行環境をインストールすることなく作成したツールを実行出来ます。

参考ページ: Strawberry Perl(Portable)でPerlスクリプトのexeファイル化

まったく参考ページ、そのままなので追加する情報もありません。わたしが実際にしようしたバージョン等についてだけ書いておきます。

Windows : 日本語版Windows 7 Ultimate 64bit
Perl : Strawberry Perl Portable version 5.24.0.1 64bit PortableZIP edition + extra PDL related libs

Windows上の適当な場所にダウンロードしたzipファイルを展開します。Portable版なのでインストール作業を行うことなくPerlが使用できます。展開した中にあるportableshell.batを実行するとPerlが使用できるコマンドプロンプトが開きます。以下、そのコマンドプロンプトでの実行になります。

以下のコマンドを実行してcpanからPackerモジュールを導入します。参考ページでは–forceオプションを指定してましたが、わたしの実行環境では普通に導入出来ました。

cpanm PAR::Packer

後は以下のようにして目的のPerlスクリプトをexe化します。

pp -o test.exe test.pl

‘Use Archive::Tar’などモジュールが含まれたものも問題なくexe化が可能でした。

参考ページにオプションの説明があります。そこにも書かれていますが、実行の際にライブラリやスクリプトそのものはC:\Users\xxx\AppData\Local\Temp\par-*に展開されます。削除はされません。

xmmini_dlna

小米ルーターminiを全くルーターとしては使用せず純粋にDLNAを使用したメディア・サーバーとして構成してみました。たっぷりと音楽やら動画ファイルを入れるためにちょっと贅沢にIntelのSSDをUSB接続しました。OpenWrtが導入直後の状態ではUSBにデバイスが接続されたことはログを見ると分かりますが、USBストレージとしては認識されません。

[ USBストレージの設定 ]
参考ページ : OpenWrtメモ: USBメモリを使える様にする
# opkg update
# opkg install kmod-usb-storage

やっと /dev/sda が現れます。
# opkg install kmod-fs-vfat
# opkg install kmod-nls-cp437
# opkg install kmod-nls-iso8859-1

これで準備完了です。
mount -t vfat -o iocharset=utf8 /dev/sda2 /mnt
みたいな感じでマウントします。後ほどファイルのコピーやDBの構築でMac OS XやLinuxに接続するため取り回しやすいようにFAT32でフォーマットしました。また、日本語ファイル名を正しく取り扱うためにiocharset=utf8の指定が必ず必要です。英字のみのファイル名だけならば気にしなくても大丈夫です。

またせっかくSSDを接続するので小さなパティションにswapを確保しました。
# mkswap /dev/sda3
# swapon /dev/sda3

今のところswaponとmountはブート後に手動で行っています。fstabとか存在していないので、自動マウントは色々と手順を踏まなければなりません。そのうち気が向いたら試すことにします。

[ DLNAサーバーの導入 ]
opkg install minidlna
これだけで動きます。minidlnaと控えめな名前ですが、わたしの必要としている機能的には十分な内容です。そのまま/mntにメディア・ファイルを置くだけでサーバーとして機能しました。ただし既定値ですと小米ルーターをサーバーとして接続した端末(小米ルーターのOpenWrtからDHCPでIP Adderessを取得する端末)に対してDLNAサーバー機能を提供します。

わたしの場合は、既存の家庭内ネットワークに小米ルーターを接続し、家庭内ネットワークに接続している端末にDLNAサーバー機能を提供するため構成を変更しました。まずはOpenWrtの設定で家庭内ネットワークの無線LANに接続を行いました。ifconfigでインターフェース名を確認します。わたしの場合は2つの別々のネットワークに2.4GHzと5GHzのインターフェースを接続したのでwlan0とwlan1が現れました。-> (注:実際に使用すると2.4GHzの方はデータの流れ的にちょっと厳しいです。5GHzは概ね良好ですが、HDに映像でたまにカクカクします。有線接続が良いかも)

minidlnaの構成ファイル /etc/config/minidlna  の option interface ‘br-lan’ の部分を interface ‘wlan0′,’wlan1’ と書き換え /etc/init.d/minidlna restart を行います。これで目的の構成になりました。

ただし、沢山のファイルを持とうとするとminidlnaサーバーがDBを構築するのに時間がかかったり、不可能だったするそうです。解決するためには、別途Linuxマシンを用意して、そこにUSBストレージ上でDBを構築する方法が公式ガイドに書かれています。

公式ページ: OpenWrt MiniDLNA

このページのChaos Calmer Tips以下を忠実に実行すればLinuxマシンでのDB構築が出来ます。あまり頻繁にファイルを更新しなければ、この方法で大丈夫でしょう。同じ環境をLinux上に作成しファイルの入れ替えとDB再構築後にrsyncで同期するみたいな運用が楽で良いかも知れません。

[ DLNAクライアント ]
– VLC : 使いやすいです。macOS, iOS, Androidで使用しています。
– KODI (旧XBMC) : 定番ですが、ちょっと使い方に癖があります。Android STBで使用しています。VLCがテレビ対応すると楽なんですが、まあKODIがあれば大丈夫。日本語のタイトルが表示できない(KODIの問題では無いかも)。
– YAMAHA RX-V473 : 愛用のお値打ちAVアンプ。残念ながら動画の再生は出来ませんが、音楽再生には一部適していると思います。
– YAMAHA BD-S473 : ブルーレイディスク・プレーヤーです。最近あまり使っていないのでEthernetケーブルを接続してみました。動画だけ再生できて音楽はダメ。タイトルの表示が遅いし、たまにハングして電源コードを抜かなければならなくなる。期待はずれでした。

[ トラブル ]
時々、小米ルーターmini自体がハングして電源コードを抜かなければならなくなります。ちょっと無理してるのかも知れません。ただいま原因の切り分け中ですが、OpenWrtでのDLNA構成例という意味では有効と思われますので、原因が判明する前に記事を公開することにしました。

追記) ハングの原因は小米ルーターminiのUSBポートの電力不足でした。IntelのSSDを直挿しするとマウントしなくても数時間放置するとハングします。電源付きのUSB Hubを使用することで安定稼働することが出来ました。ちなみに小米ルーター3にIntel SSDを直挿しした場合は24時間以上安定稼働します。

nanofalcon

珍しく日本製のナノ・ドローンというかヘリコプターを飛ばしてみました。壊れにくいと箱にも書いてありますが、ローターも柔軟性がありますし、今まで試したものと比べると壊れにくい感じがします。

ちゃんと飛びます。高度を維持するのにかなり苦労しますが、それも飛行の面白さの一部と言えます。新しい機種には一定高度を維持出来るものもあるようです。

ただし仕組み的に3ch動作になっています。いわゆるエルロン(左右に傾く動作)がありません。わたし的には、そこが今ひとつではあります。写真を見るとジンバル的な機構があるので、最初は小さいのによく作ったものだと感心していましたが勘違いでした。二重反転プロペラの回転を制御することによりラダー(機体の向きを制御)、テールローターが一般的なヘリコプターと違う向きに付いています、これでエレベーター(機体を前後に傾ける)、それとスロットルの3chで操縦します。行きたいところには行けますが、ヘリコプター特有の横滑り動作は出来ません。バンクを取っての旋回も難しいと思います。