さまざまな物や事に関する、役に立ったり立たなかったりするテキストが綴られるブログ。

2017/01/21

[Android] JJYEmulatorを試してみる

アプリで電波時計を補正
ずいぶん前に購入した電波式の目覚まし時計。以前は枕元に置いたままでも機能していたのですが、最近ではほとんど電波を受信できません。

他の電波時計は正常に受信できているので、環境的な問題ではなさそう。いろいろとヘタって来たのかも。

ただ、目覚まし機能や液晶ディスプレイなどに問題はなく、「もう寿命」とあきらめるのもシャクな感じです。

ということで、時刻合わせの部分だけなんとかしてみることに。基本的には電波を受信しやすくしてあげれば大丈夫そうなので、窓辺に放置するのもひとつの方法です。

ところが、なかなか電波を受信してくれなかったりして、確実性がいまひとつ。電波に対する感度を上げるのが難しいのなら、逆に電波そのものを強化してしまう、という方法もあります。

例えば、NTPで時刻を合わせて標準電波を発信するデバイスも存在しますが、弱った目覚まし時計用としては費用対効果的にどうかと。具体的な製品としてはこんなのこんなのがAmazon.co.jp辺りで売られていたりします。

もう少しお手軽かつ安価な方法はないものかと探してきたのが、"JJYEmulator"というAndroidアプリ。ちなみに、JJYというのは日本の標準電波を発信する無線局のコールサインとなっております。

もちろん、スマートフォンに標準電波を発信する機能は搭載されておりません。このため、本アプリではユニークな手法が採用されております。それは、13.333kHzの音を大音量で出力することによりアンプを飽和させ、3次高調波となる(ほぼ)40kHzの電磁波を生成するというモノ。

元の音に時刻補正用のコードを乗せておくことで、標準電波と同じ働きをする訳です。このため、福島局(40kHz)に対応した電波時計はOKですが、九州局(60kHz)のみに対応した機種では動作しないと思われます。

最大の特徴はその手軽さ。用意するのはスマホとイヤホンだけです。使い方も簡単で、スマホに接続したイヤホンのケーブルを対象に巻きつけて電波時計の機能である強制受信モードをONに。そして、アプリを起動して待つだけです。

うまく行けば、数分で時刻合わせが完了。ダメな場合には、イヤホンケーブルの巻きつけ方を変えるなどしてみて、それでもダメならイヤホンを外して端末のスピーカーを対象に近づけるという方法も試してみましょう。

セットアップの一例
当方では、こんな感じにセットアップしてみました。イヤホンは直径10cm程度にまとめてループアンテナ風に。それを、目覚まし時計にかぶせただけです。

アプリを起動してボリュームを最大化すると、クリック音のようなサウンドが流れます。いわゆるモスキート音と同様、年齢や耳の状態によって聞こえ方や内容が異なる場合がありますのでご注意を。

聞こえなくても、ボリューム最大でサウンドが流れることに変わりはないので、高級なイヤホンは使わない方がよろしいかと。100円ショップで買えるような安物で充分です。

アプリの起動後にボケーと眺めていたのですが、約4分ほどで時刻合わせが完了しました。原理的には何となく理解できるものの、実際に時刻が合うと軽い感動すら覚えます。しかも、かなりテキトーにセットアップしたのでなおさら。

時刻合わせ不要でいつでも正確、という電波時計のアドバンテージはなくなりますが、思い立った時にでも補正すれば精度的には必要十分。しかも、買い替えや機器を追加するためのコストが発生することもありません。

「電波を受信できないせいで電波時計が塩漬けになっている」そんなシチュエーションには打ってつけのアプリ。心当たりのある方には、ぜひ一度お試しあれ。



…続きを読む»

2017/01/17

リチウムイオン充電器について考えてみる

2セット分の基板となっております
Pokémon GO Plusを充電池化するにあたり、結果的にはML2032を採用した訳ですが、もしそれがイマイチだった場合のプランBも用意しておりました。

それは、CR2032とサイズ互換のリチウムイオン充電池"LIR2032"を使用するという案。これに合わせて必要となる素材の一部はオーダー済みだったのですが、紆余曲折あり今回は見送りとなりました。

このままお蔵入りしてしまうのも寂しい気がするので、この場で簡単にご紹介しようかと。"LIR2032"を使用するためには充電器が必要となる訳ですが、自分で組むと結構安上がりだったりします。

それは、充電用ICである"TP4056"(と周辺パーツ)が実装された状態の基板が安価で販売されているため。上記写真のアイテムです。これを利用すれば専門知識を必要とせず、DIY感覚で充電器の製作が可能。しかも、USB電源が使えるのでいろいろと便利です。

ただし、充電電流を"LIR2032"に合わせるためのカスタマイズが必要となり、それなりのハンダ付けスキルが求められます。

"TP4056"の場合、2番ピンに接続する抵抗器の値によって充電電流が決まるので、すでに実装済みのチップ抵抗を撤去し、新たなチップ抵抗を付け直すという作業をします。

抵抗値を求める計算式は"TP4056"のデータシートに記載されているのですが、その辺の説明は割愛させていただきます。

いろいろすっ飛ばして結果だけを書くと、今回の場合では33KΩのチップ抵抗に載せ替えれば、"LIR2032"の定格に近い約36mAで充電することができます。ちなみにネタ元はこちら

チップ抵抗の入手が少々面倒かもしれませんが、共立エレショップマルツオンライン辺りなら大丈夫そう。なお、今回入手した基板では1608(0603)サイズのチップ抵抗が使用されておりました。

2032用の電池ボックス
チップ抵抗の入手と換装がクリアできれば、もう完成したも同然。あとは電池ボックスとつなげるだけです。

当方では、こんな電池ボックスを入手してみました。基板に実装するタイプとなっており、本来はArduinoでの利用が想定されている様子。充電機用の電池ボックスとしては無意味ですが、ON/OFFスイッチが付いていたりします。

充電基板と電池ボックスはいずれもAliExpressで購入しました。該当するチップ抵抗も売られているので、ほぼすべての素材を集めることもできます。まぁそれなりに時間はかかりますが。

トータルでも$5(USD)は超えないハズなので、完成品の"LIR2032"充電器を購入するより安価となります。中身がブラックボックスの怪しい充電器よりは信頼できそうだし、何より工作感が楽しめます。

若干の危険物でもあるリチウムイオン充電池を扱うため、積極的にオススメする訳にはいきませんが、電子工作好きには良いオモチャになりそう。

なお、"TP4056"が乗った充電基板に関しては国内でも流通しており、電子パーツショップはもちろん、Amazon.co.jp辺りでも扱われているようです。



…続きを読む»

2017/01/12

PTM-BTLLTを試してみる

見た目の雰囲気よりはコンパクト
遅延が極めて少ないaptX Low Latency対応がウリなBluetoothトランスミッタ"PTM-BTLLT"を購入してみました。

主にビデオ視聴のために導入した"HS-BMT001"と"LBT-TVOH03ABK"の組み合わせは現在も快適に機能しているのですが、万一の故障時に備えてスペアのトランスミッタが欲しくなった次第です。

で、今度も同じ"HS-BMT001"を購入しようと思っていたのですが、すでにディスコンらしく購入は不可。なので、据え置き型でバッテリ非搭載の"PTM-BTLLT"を選んでみました。新製品でもないのですが、個人的には初物なので簡単にレビューなどしてみようかと。

まずは外観のチェックから。比較するモノがないと大柄に見えますが、実際には手のひらにすっぽりと収まってしまうほどのサイズ。据え置き型としては充分にコンパクトであると思われます。

筐体の表面は前後の面が光沢、その他は梨地仕上げとなっているのですが、成形が甘くヒケの部分に梨地のムラがあったりします。機能にはまったく問題ありませんが、結構いいお値段なのだから、もう少しこだわって欲しかったところ。

本体に可動部は一切なく、スイッチはおろかペアリングボタンすらありません。インターフェースとして用意されているのは、USB microBの電源入力端子、サウンド入力用の3.5mmステレオミニジャック、そして動作確認用のLEDインジケータのみとなっております。

続いてはキモとなる機能に関して。本体にはスイッチもペアリングボタンもない訳ですが、実は電源ケーブルを接続するとONになり、抜くとOFFになるシンプル設計。で、電源がONになると接続待機シーケンスがスタートし、30秒以内に接続されない場合、自動でペアリングシーケンスに移行します。

さらに、約2分間のペアリングシーケンス中にペアリングが行われない場合、"PTM-BTLLT"は沈黙します。こうなると何もできなくなるので、一度電源ケーブルを抜き差しして再起動をかけます。

ユニークな方式ではありますが、一度ペアリングしてしまえば、以降は"PTM-BTLLT"とレシーバの電源をONにするだけで接続可能となります。ちなみに、"PTM-BTLLT"を常時給電で使用する場合、レシーバの電源をOFFにすれば待機状態となり、次回はレシーバの電源をONにするだけで接続されます。

ちなみに、消費電力は以下のとおりとなりました。

通信時:0.037A@5V
未接続時:0.007A@5V

待機時においても大きな電力は消費しないので、電源を繋ぎっぱなしにする使い方でも心配はなさそう。

で、いろいろと試してみて気になった点を2つほど。これは独自に検証したモノであり、不確定情報なのでご注意くだされ。上記では"沈黙"と表現しましたが、電源投入時にペアリングシーケンス終了まで放置すると初期化が実施されます。ペアリング情報も失われるため、初期化後にはすっかり最初からやり直すハメに。

また、製品説明にもマニュアルにも記載はないのですが、一度だけマルチペアリングで接続されました。もちろん、切り替えが正しく行われるのも確認。なのですが、それ以降成功したことはなく、どのような方法・タイミングでマルチペアリングが成功するのかは不明なままです。

そんな感じで一部不明な動作もありますが、1対1の接続で使用する限りでは特に問題ありません。マルチペアリング不可と割り切っても、その都度ペアリングすれば切り替えは可能な訳ですし。

遅延も仕様どおりの少なさ
ということで、aptX Low Latency接続時の遅延もチェックしてみました。トランスミッタに"PTM-BTLLT"を使用するのは当然として、レシーバには"HEM-BTRATX"を組み合わせてみました。

チェック方法としては、ひとつのステレオソースを2分配し、それぞれからL側のチャネルだけを抽出。

一方は有線で、もう一方はBluetoothで伝送し、最終的にそれぞれをLRの両チャネルに入力・合成し、ひとつのステレオソースとしてPCのサウンドエディタ"Audacity"で取り込んでいます。

上側がBluetoothで伝送した音の波形、下側が有線接続の波形となります。緑の矢印で示した選択範囲が遅延幅。選択範囲の時間はウィンドウ中央下部に緑の線で示されております。その値0.041秒。すなわち41ミリ秒となります。

パッケージでは40ミリ秒以下の遅延と記載されているので、おおむね仕様に沿った結果となりました。実際にテレビで使用した場合でも、音声のズレを知覚するのはほぼ不可能。フレーム単位での音ズレが致命的となる音ゲーでは厳しそうですが、他のジャンルのゲームであればイケそうな気配です。

低遅延なのに加え、LEDインジケータの色でコーデックが確認できるのも地味に便利な機能。aptX Low Latency(赤点滅)を確認すると安心できます。

aptX接続(青色点滅)やSBC接続(紫色点滅)も判別可能なので、レシーバの仕様チェックに使えるかも。ただし、本機にはコーデックを選択する機能はありませんので、あくまで簡易チェックということで。

そんな感じの"PTM-BTLLT"でありました。aptX Low Latency対応のトランスミッタを求めるなら買って損はなさそう。何より、据え置き型でバッテリ非搭載、技適マークの付いたお手頃製品となると、(現時点で)他の選択肢がなかったりしますので。

価格的なところに関しては、楽天市場Amazon.co.jp辺りをチェックしてみるのがよろしいかと思われます。



…続きを読む»

2017/01/07

USB A(メス)-MicroB(メス)な変換アダプタを試してみる

メス-メスで変換
モノは写真を見てのとおりなのですが、USB A(メス)-MicroB(メス)という構成の変換アダプタを購入してみました。データ/電力線はそれぞれ対応する端子に接続されており、双方向での変換が可能。

例えばAndroidデバイスの充電・データ転送で使用することが多いUSB A(オス)-MicroB(オス)のケーブルの場合、2パターンの使い方があります。

本アダプタをケーブルのMicroBコネクタに接続すればUSB Aの延長ケーブルとして、本アダプタをケーブルのUSB Aコネクタに接続すればUSB MicroBの延長ケーブルとして機能します。

基本的な使用イメージはそんな感じ。もちろん、工夫次第でいろいろと使えます。で、当方の場合ですが、先日購入したML2032充電器で使用することを目論んで購入してみた次第。

この充電器、USBのバスパワーで動作するのですが、微電流でチョロチョロと充電する仕様のため、24時間以上の給電が求められたりします。なので、PCのUSBポートで使用するのは非現実的。そうなると、常にスタンバイ状態にあるUSB-ACアダプタを使用するのが正解となります。

USB-ACアダプタの空きポートに接続すればそれで話は終了...ではあるのですが、USB-ACアダプタがちょっとだけ手の届きにくい場所にあり、ML2032充電器の着脱や電池の入れ替え作業がちと面倒です。

さらに、USB-ACアダプタの各ポートにはUSB A(オス)-MicroB(オス)なケーブルが接続されており、手元で被充電デバイスの着脱を行うというのが基本姿勢。スマホやタブレットはもちろん、充電にDCプラグを使用するデバイスでも変換アダプタで対処するなど、手元での着脱を徹底しております。

あくまでもイメージです
で、手元まで来ている充電用のUSB MicroBコネクタにML2032充電器を接続するために本アダプタが必要だった、という次第。接続イメージはこちらの写真のような感じとなります。

モバイルバッテリが写っておりますが、これは電源としての象徴であり、モバイル環境でML2032を充電するという意味ではありませんのでご注意を。

電気的な接続に関しては、電力線さえ繋がっていればOKというアバウトな感じなので、動作および充電に問題はナシ。手元で着脱が行えるようになり、使い勝手が格段に向上しました。

さらに、本アダプタを接続したままでML2032充電器を着脱することで、本体のUSBコネクタを酷使しないで済むというメリットもあったり。

そんな感じで便利に使っております。コネクタを変換するだけのシンプルな構造ゆえ、1個持っていると何かと役立ちそうな感じではあります。

一見、100円ショップ辺りで売っていそうな雰囲気ではありますが、さにあらず。なかなかにレアなアイテムなので、アキバや日本橋などの電気街が近所でないのなら、素直に通販を利用するのが吉というモノ。

価格的なところに関しては楽天市場Amazon.co.jp辺りをチェックしてみるのがよろしいかと思われます。



…続きを読む»

2016/12/29

Android Nekoで遊んでみる

カラフルなネコたち
もはや隠し要素とは言えないレベルで有名になったAndroidのイースターエッグ。特にLollipop(とMarshmallow)ではゲーム性が強まり、実際に遊べるコンテンツとして成立しておりました。

で、Nougat。今回は人気アプリ"ねこあつめ"に影響を受けたらしい"Android Neko"というゲームアプリ(?)が搭載されております。しかも、クイック設定パネルや通知を活用する本格仕様。

そのおかげか発現方法も複雑化しており、簡単にはたどり着けません。"設定"→"端末情報"→"Androidバージョン"を激しくタップすると"Nマーク"が表示されますが、これで終わり?と思ったユーザも多いのではないかと。

ちょっと詳しいユーザなら、Lollipop(とMarshmallow)同様に複数回タップしたり長押ししてみたりする訳ですが、それでも画面中央下部に謎のアイコンが表示されるだけ。何かが始まる様子はありません。

Nougatの場合、さらに作業が必要となります。上記操作で何やらネコっぽいアイコンが表示されたらOK。このアイコン表示は"Android Neko"の動作状況を示し、トグルで切り替わります。

このため、以前試したなど場合によっては駐車禁止のアイコンが表示されることもあります。この状態では機能が停止したままなので、もう一度同じ操作をしてネコっぽいアイコンを表示させます。

そのまま(またはホームに戻って)クイック設定パネルを引き下ろし、最上部の鉛筆アイコンをタップしてタイルの編集モードに入ります。

パネルをスクロールして未掲載タイルを表示させると、そこにはネコっぽいアイコンで"???? Android Easter Egg"と示されたタイルが見つかるハズ。これをドラッグして、クイック設定パネルに追加すれば準備は完了です。

続いてはセットアップした"Android Neko"の遊び方。タイルに追加する前はネコっぽいアイコンですが、追加後はお皿のアイコンとなります。

ネコ寄せアイテムを選択
お皿をタップするとこちらのスクリーンショットのように、4つのネコ寄せアイテムが表示されます。どれかをタップし、あとはネコが現れるのを待つだけ。ただし、ネコがやってくる様子を見られる訳ではなく、通知で知るのみとなります。

通知に"A cat is here."と来たらネコが現れた証拠。その通知を開くと現れたネコのコレクション画面(冒頭のスクリーンショット)が表示されます。

ネコに名前はなく番号表記のみ。番号は3ケタなので1000種類いるのかもしれません。

で、ネコが来るとクイック設定パネルでセットしたネコ寄せアイテムはなくなるので、再び選んで...と、その繰り返しでネコのコレクションを充実させるというゲームになっております。

その他の操作として、ネコ寄せアイテムをセットした状態でパネルをタップすると選び直すことができ、長押しすればコレクション画面を開くことができます。さらに、コレクション画面でネコのアイコンを長押しすると共有も可能に。

ネコの画像をメールで送ったり、Googleドライブに保存したりできます。画面上では小さなアイコンサイズですが、共有するとオリジナルな大サイズ(600×600ピクセル)の画像となります。「何に使うのだ」と言われると困ったりしますが。

激しく面白い、というモノではありませんが、放置ゲーなので時間もテクニックも不要。ネコのアイコンがたまっていくだけではありますが、それが地味に嬉しかったりします。

1000種類いるハズなのに、初期段階から頻繁に同じネコが現れたりするのもガチャ全盛な今時のスマホゲーム感覚。もちろん、アイテム/コンテンツ課金はないので心配無用です。

とにかく気軽に遊べるので、ネコ好きなNougatユーザには一度試してみるのもよろしいかと思われます。



…続きを読む»

2016/12/24

[Android] Adguardを試してみる

UIは洗練されてます
Webブラウザやアプリなどで表示される広告をカットしてくれるツールはいろいろとありますが、今回は"Adguard"なるアプリを試してみることに。

一応フリーですが、無料なのはWebブラウザの広告カットのみ。アプリ内の広告カットやフィッシング防止機能などの利用には課金が必須となります。ちなみに、年次契約なら$9.95、永年契約なら$24.95(いずれもモバイル版のみの場合/2016年12月現在)といった感じ。

とは言え、初回のインストール後には1週間の試用期間があり、すべての機能が利用可能。継続使用するか否かの判断はその間に行います。試用期間の終了後は、Webブラウザの広告カットのみの機能制限版となります。

で、この"Adguard"、ローカルなVPN(Virtual Private Network)とプロクシにより機能を実現しております。この方式のメリットは端末のroot権限を必要としない点。このため、ストックのROMでも使用することができます。

デメリットとして上げられるのは、ネットワークに対するレスポンスの悪化。ローカル環境とは言え常時VPNを使用するため、理論上わずかな遅延が発生することになります。その程度は環境や設定により異なりますので、実際に試してみるのがよろしいかと。

インストールは簡単で、こちらのページにてapkファイルをダウンロード&インストールすればOK。PCなどでダウンロードして端末に転送した場合、パッケージインストーラを起動できるファイル管理アプリなどからインストールします。いずれにせよ、いわゆる野良アプリとなりますのでその辺にはご注意を。

続いて設定ですが、基本的にはスタート画面(本エントリのトップ画像)にある電源ボタンアイコンをタップして"Adguard"をenabledにすればOK。なのですが、以下のフィルタを追加するのもお勧めです。

280BLOCKER(実際に追加するフィルタの実体はこちら)
豆腐フィルタ(実際に追加するフィルタの実体はこちら)

いずれも、"Adguard"のSettings→User Filter内にあるIMPORTにて各フィルタの実体URLを指定すれば取り込まれます。ただし、User Filterに登録したフィルタ定義が自動でアップデートされることはないので、適時自分で再登録する必要があります。

なお、上記2フィルタを追加したならば"Adguard"の標準フィルタは無用となるため、Settings→Ad Blockerにてすべてのチェックを外しておくと、少し動作が軽くなるかもしれません。

常駐する通知アイコンを非表示に
"Adguard"の利用によりステータスバーには通知アイコンとVPNのカギアイコンが常駐することになります。VPNのカギアイコンを消すことはできませんが、通知アイコンに関してはシステムの設定で対処できます。

こちらはAndroid7.1.1にて通知の長押し→詳細設定した際のスクリーンショット。画面中央のスライダーにより通知の表示レベルを設定することができます。

通知アイコンの常駐化を阻止するなら、一番左またはその隣のレベルに設定すればOK。

当方ではスクリーンショットにあるように左から2番めのレベルに設定しております。この場合、ステータスバーのアイコンは消えますが、通知を引き下ろせば一番下に"Adguard"の通知が表示されるため起動状況をひとめで判別できます。

で、実際の使い心地ですが、アプリ内の広告をカットするぐらいならまったく問題ナシ。通常状態との違いはほとんど感じません。

Webブラウザにおいては、ページの切替時に若干のもたつきがあるような気もしないではありませんが、広告がない分だけ軽快な感じもあったり。

総じて快適に動作してくれるため、広告をカットするのが目的であるなら試してみる価値があるのではないかと思われます。

広告を掲載しているブログで書くのもアレですが、ユーザが広告をカットする自由もあるハズなので、その辺は尊重したいと思う次第でありました。



…続きを読む»

以前の投稿へ ホームへ