読者です 読者をやめる 読者になる 読者になる

Nexus5Xのバッテリーが全然持たない問題

Nexus?Pixelではなくって?

はい。PixelではなくNexusのお話です。

もともと使っていたNexus5が延々Googleロゴで再起動を繰り返すようになりまして、中古のNexus5Xを入手していました。大きい画面になって片手で操作できなくなった以外はいい端末だと思ってました。ところがですね、Nexus5を使っていたときよりどうもバッテリーのもちが悪いのです。具体的には5がそれなりにバッテリーがヘタっているはずなのにSNSを使っていて1日もつのに対して、5Xが12時間ももたない。他のユーザーさんと比較してもどうも短いみたいです。

と言うことで検証!…の前に結論から。

ロケーション履歴で同じアカウントに紐付いている他の端末がONになっていると、Android OSがゴリゴリとバッテリーを浪費していく疑惑。
※ただし、以前使っていた端末から引継ぎ、復元した場合に限られるかもしれません

この結論に至った経緯です。

ベタだけどバックグラウンドアプリが浪費している可能性

まずは何かインストールしているアプリが問題を起こしていないかの確認です。使ったのはOS標準のバッテリー使用量とBattery Mixのグラフ。OS標準のグラフで1位、2位にランクインしているのはAndroid OSとAndroid システム。画面やセルスタンバイ(都合により一日のうちある程度圏外にいる期間があります)を差し置いての堂々のランクイン。割合としては20%と15%ぐらいですかね。パーセンテージは高くないのですが他にアプリが浪費している気配ではなさ気。

さらに気になるのがスリープに入っていない期間が思っていたより長いのです。連続的に入っていないのではなく数分から十数分おきにスリープ解除されている様子。もちろんその間は端末を触っていません。

正直これだけでは何が原因かわかりませんでした。バックグラウンドアプリに引きずられてOSがWi-Fiや位置情報で浪費している可能性を考慮して使用頻度の低いアプリを削除するも解決はしませんでした。

基地局を使った位置情報取得で浪費している可能性

実は一日の大半を過ごしている職場はau圏外です。正確に言うとLTE圏外。3Gはリピーターのお陰でなんとか繋がってはいますが。圏外だとセルスタンバイ問題が起きると思い、機内モード+Wi-Fiで運用中です。この時基地局を使った位置情報が取得できなくてバッテリーを浪費しているのではないかと疑いました。普通に考えたら機内モードなんで、その辺うまくこなしてくれていると思うのですが。バッテリー消費のグラフとともに位置情報がずっとオンになっていることもあり、ここを疑ってみました。

で、位置情報取得をGPSのみに絞るも効果なし。ですがね、完全に位置情報をオフにすると劇的に改善したんです。ここにきて大きな進歩。バッテリー消費のグラフもほぼ水平です。

位置情報の追試

では何がそんなに位置情報で浪費しているかって話です。最近位置情報を使ったアプリ一覧っていうのがあります。そこを見てみると、Google開発者サービスの他、Swarmなどがありましたがアプリごとに見られるバッテリー消費量は微々たるものです。ですが、ここで確実に浪費はしています。もしかしたらアプリの使用履歴は出てくるけどOSの履歴はでてこないのではないか、と考えました。

OSが位置情報を使う理由。Google Nowとスマートフォンの現在地がぱっと思いつきます。この辺で何か情報がないかと探してみると、最初に書いたロケーション履歴の件に行き着きます。調子が悪くて予備端末になった5含めて同アカウントで管理している端末があって、それらがオンになっていたのでオフにしてみました。その結果、バッテリーの減りが改善されたように見えたのです。


この設定で中・長期間の検証はこれからです。この設定はAndroid 6系で起きるとの情報でしたが7にあげた端末でも起きるのではないかと思います。またしばらくしたら結果を追記できればと思います。

ミラ L275Sのスピーカーを交換、移植してみる

たまにはちゃんとアウトプットを最後形にしようのコーナー。

いつか車のスピーカーを弄ってみたいという興味と、ちょっとした臨時収入に押されてミラ L275Sのスピーカーを交換してみました。

今回の作業内容はこちら。
  1. フロントスピーカーを純正からカロッツェリア TS-F1630に交換
  2. 余った純正スピーカーをリアに移植
なお、このミラさん。グレードの都合で元々リアスピーカーが付いていないばかりかスピーカー用のハーネスも途中までしか伸びていないため、ダイハツ純正部品(08290-K2004)を別途購入しております。送料諸々込で3000円ちょっとしないぐらい…だったかな。オーディオユニットも2年近く前にMVH-590に換装済みのため他には特に追加もなくリアスピーカーを鳴らすことができます。

実際の施工についてはみんカラなどのサイトで紹介されているのと同じです。ドアレバーとポケット?のネジを外して後は力尽くで開ける、これ。作業途中の様子はこちら、と言いつつほとんど写真撮っている余裕はありませんでした。涼しいはずの午前中に作業開始はしたものの、結構時間がかかり終わったのが正午。汗だくでした。


今回はデッドニングは行っていません。単純にスピーカーを交換して、様子を見てから次に回そうと思っての事です。

で、肝心の施工後なんですけど、高音がよく聞こえるようになりました。低音は以前よりマシにはなったものの、例えばDJデミオなんかと比べるとまだまだ物足りないです。古いラジオにありがちな、どうも音に芯がないような状態は完全には抜けきれませんでした。これはデッドニングも必要だったかもしれません…。そもそも防音材が少ない軽自動車なのでロードノイズなんかも邪魔していると思います。

とは言うものの、純正でフロントのみから比べると改善されたのは事実。初めての交換ということで勉強にはなったので、またお金に余裕が出てきたら手を出してみたいと思います。一番やりやすいのはデッドニングとバスレフポートの追加ですかね。

そうそう。ミラの持ち主はあまり変化に気がついてはいませんでした。まぁ…そうですよねぇ。

Fabool Laser Miniのドライバで仮想COMポートが開けなくなる疑い

フェルトを切り抜いたり紙袋にロゴを焼き付けたりと楽しんでいるFabool Laser Miniのお話です。

「Fabool Laser Miniのドライバで仮想COMポートが開けなくなる疑い」

結論から書いてしまうとFabool Laser MiniのドライバがCOMポートというCOMポートをポーリングで開いたり閉じたりをずっと繰り返していて、そのせいで他のソフトから開けないんじゃないかと疑っとります。そこに至る根拠と事の発端はこんな感じでした。

稚拙ながら電子工作をしている都合上、いまだにシリアルポート(RS-232Cとか聞き覚えがありませんか?)にはお世話になっています。制御が単純でマイコンとの相性もバッチリで大変よろしいです。今のパソコンにはコントローラが乗っていないのでUSBシリアル変換を使って仮想COMポートを使っていますが、単純に使う側からすればそんなに大きな差はありません。

で、この仮想COMポートがある時点から使えなくなる事案が起きてました。繋がっているCOMポートが軒並みアクセス拒否。

バイスマネージャではきちんと表示されて異常なし

ドライバをOS標準からメーカー純正へ更新してもダメ

USBシリアル変換のチップも数種類あるので取り替えてみても効果なし

タイミング的にWindows 10 Anniversary Updateを疑うも同じOSの別PCに変えるとちゃんと動く

COMポートは物が古いだけにOSのサポートもそれなりで、たとえばTCP/IPの様にどのポートをどのソフトが使用しているなんて簡単には出てこないようです。これがわかればそのソフトを止めてみて回復するか切り分けができます。以前はMS謹製のPortmomなんて物もあったらしいです。が、64bit OSでは動かないなどすでに時代遅れ感。色々調べた結果、Serial Port Monitorというソフトにたどり着きました。有償ソフトですが試用ができます。こういうソフトを使わないとどのソフトがポートを握ったまんまにしてるのかわからないのが辛い所。で、早速試してみた結果、


「faboollaser.exe」お前かぁぁぁ!!、とここでようやく犯人が特定できたわけです。

だいたい一秒おきにポートを開いたり閉じたりを繰り返していますね…。これじゃ他のソフトがアクセスできるわけもなく。この時点ではCOM3しか接続していなかったのですが、複数繋いだらその分アクセスが増えるのではないかと思われます。実際、COM3からCOM6まである状況でどれもアクセス拒否されてましたんで。

とりあえずFabool Laser Miniのドライバを削除したところ見事回復しました。よくよく考えてみたらFabool Laser Miniの使っているポートを設定した記憶がありません。OSが認識しているポートを定期的にスキャンしてFabool Laser Miniが応答するのを待っていた可能性があります。もし当たっていたらこの仕様は色々と面倒を引き起こしそうな予感が。

とりあえずFabool Laser MiniのドライバがCOMポートを握ったままにしてしまうのは本当なのかメーカーに問合せをさせてもらいました。もし本当だとして他のCOMポートを使うためにいちいちドライバを消したり入れたりは大変なので何かしら対策を取ってもらえると嬉しいです。実はすでに対策済みドライバを配布してたり、ただPCの環境が悪かったせいだったらごめんなさいですが。



そう言えばまだ正円が綺麗に書けないんですよ。組立て精度が出ていません。これはいけませんね、N○Kなんで。

【追記】
サポートの方から連絡をいただき、COMポートをスキャンしていることと対策について検討頂ける旨ご連絡いただきました。改善が待ち遠しいです。

FABOOL Laser Mini開封から組立て、動作確認まで

クラウドファウンディングで話題になった安価なレーザー加工機、FABOOL Laser Miniが届いたので早速組立てて軽く動作確認までしてみました。

SMARTDIYs FABOOL Laser Mini

夜中に組立てた都合もあって写真はほとんど撮れてないです。時事ネタなので取り急ぎ文字だけで。

ちょっと困った点・気をつけたほうがいい点


  1. 付属の六角レンチは使わないほうがいいかもしれません。わりとナメます。イモネジに至ってはサイズが合ってないのか、きちんと締められませんでした。
  2. マニュアルの配線近辺がちょっとわかりにくいかもしれません。Y軸モーターの左右の見分け方とかぱっと見で判断つきませんでした。モーターユニットなどに記載してあったらすみません…。
  3. マニュアルを読めば問題ないのですが基板コネクタのバカよけはされてないようなので挿し間違いに注意です。
  4. マニュアルに記載がありますがローラーやプーリーのネジゆるみはすべて確認してから組立てしたほうが無難です。

よかった点

  1. 結束バンドやネジ類は予備がそれなりに準備されているようです。プーリーのイモネジぐらいですかね、無くしたら痛い目を見るのは。
  2. ローラーの滑り調整用偏心ナットは組立てが終わってからも調整できます。最初に調整しておくに越したことはないですが、組み立て終わってから再度ガタツキや滑り具合を確認した方がいいかもしれません。
  3. サンプル素材が数種類付属していて、組立てた後すぐ遊べます。サンプルデータがあればなおよかったかも。

とりあえずぱっと気がついた点はこれぐらいでしょうか。組立てた後付属の木板に画像を焼き付けてみましたが、それなりに時間がかかりますね。早くも3Wレーザーモジュールが欲しくなります…が、それは色々と作れるようになってからですね。そうなったら次はCO2レーザーの大型版かもしれませんが(^_^;

まずは簡単に動きを見ただけなので、次は色々な素材を彫刻から切断まで試してみたいと思います。

吹上 初夏の四窯めぐり

鹿児島県日置市吹上で「初夏の四窯めぐり」が開催されていました。開催期間は5/20~22までだったようですね。

四カ所の窯元さんそれぞれで1000円以上お買い物するとスタンプが貰えます。四カ所分スタンプを集めると抽選で1万円相当の焼き物をプレゼント、というのがこのイベントの概要。参加されていた窯元さんは七然窯隠野窯陽窯松韻窯さんです。窯元さんをめぐるのは初めてでしたが、事前にパンフレットで見たとおり、それぞれ特色があって面白いですね。


で、まんまとこの企画に乗せられてきました。なんだかんだでスタンプを四つ集め応募。購入したのはタンブラー、角皿、小皿、飯碗。上の写真に写っている面々です。早速晩ごはんで買った食器を使ってみましたが、満足度は高いですね。

売っていた商品は物によって値段はまちまちで500~30000円ほど。よく使うサイズのお皿だと500~5000円ぐらいでしょうか。ニトリや100円均一にある食器からするとえらく高いです。ただ、食器や盛り付けも料理のうちと言われるように、普段そこまで気にしない食器を自分の感覚で選ぶというのは楽しいかもしれません。窯元さんの受け売りですが量販店の食器はどうしても汎用性が高くなり、逆にちょっと凝ってみたい時にどうしても物足りなく感じやすいようです。

個人的には七然窯さんのシンプルでふんわりとした感じと、陽窯さんのカラフルな感じが気に入りました。七然窯さんは椀や丼などの食器がご飯と相性良さそうで、陽窯さんのティーセットは揃えてみると綺麗だと思います。先にも書きましたがそれなりの値段がするので買い揃えるのは大変そうですが…。


今回のイベントで初めて知ったのですが、吹上も焼き物が盛んなんですね。薩摩焼=美山という印象でした。同じ日置ではありますが。日置、伊集院方面はこれからもいろいろと探してみると面白いかもしれません。

セリアの電球瓶で遊んでみる

セリアさんの電球型の瓶が一部界隈で人気のようです。

前々からLED仕込んでくださいと言わんばかりの形だなぁ…とは思っていました。他のDIYな皆さんも思うところは同じらしく、いくつか工作例がありました。例えばキャンドルLEDを分解して入れてみたり、クリスマスツリーに使うようなワイヤータイプを使ってみたりしていますね。作りやすくてクオリティもなかなか。ただ先駆者と同じ道を進むのは面白くない。と言うことで今回はちょっと工夫をしてみることにしました。以下の3点です。
  1. 電池内蔵
  2. スイッチをタッチ式にしてみる
  3. いくつか点灯パターンを準備してみる
いいなと思ったところに置きたい。テーブルの上とかだと電線が邪魔。常夜灯代わりに持ち歩いたりできるんじゃね?という理由で今回は電池内蔵方式を採用。

電池を内蔵すると電源つけっぱなしか別にスイッチをつけなければいけません。口金をよく見ると電極が2つあるんですね、当たり前ですが。これを触ってオンオフができたら面白そうということでタッチ式のスイッチを作ってみることにしました。

せっかくタッチ式のスイッチにするならタッチするたびに光り方が変わったほうがお得感があります。今回はろうそくのような揺らぎ、明るくなったり暗くなったりのフェード、点滅、明るさ3段階を揃えてみました。フェードと点滅は速さ別に2種類ずつ作ります。

今回はいろいろと機能をつけたいのでPICマイコンを使います。必要なペリフェラルはPWM。今回はちゃんとハードウェアPWMが乗ってるPICを使っています。ソフトウェアPWMだと分解能や処理スピードが足りないかもしれません。

PICのファームウェアソースコードは割愛します。一番考えたのが揺らぎの実装方法ですね。これも調べればいろいろ出てくるのですが一番実装の簡単だった1/f揺らぎを間欠カオス法で実装することにしました。タッチボタンはPNPトランジスタのベースに人体を通じて電流を流し高抵抗でプルアップしたコレクタ側をオン・オフさせてそれをPICの入力ピンで読み取るといった方法を使います。

ファームウェアの準備ができたら電子部品を実装します。今回は口金の中に大部分を隠さなきゃいけないのですが、リード品しか手持ちがなかったのでICソケットを土台にして部品を実装して、電池は電球瓶の中に転がす方法をとりました。面実装品で作れば電池も口金の中に入れられるかもしれません。実際に実装した形はこんな感じ。電池にはLR44を3個の4.5Vを使っています。電池ケースにいいものがなかったのでセロハンテープで固定…今回は試作と割り切ります。


これを電球の中に入れて組み立てます。基板?から生えているオレンジの線はタッチ用接点のうちの1つです。これは口金ネジ側に接触させます。組み立てたら点灯。最初はOFF状態で待機していますが、口金の接点2箇所を同時に触るとどんどん点灯パターンが変わります。この様子はこちら。



今後は数と色を増やしたりフルカラー対応してみたりと夢が広がります。タッチボタンではなく明るさや音をトリガーにしても面白いかもですね。筐体がもう少し大きければ無線モジュールを仕込んで同期させるということもできます。またネタが思いついたら作ってみたいと思います。

OpenCVで遊んでみる その1


仕事上ハードウェアのことばっかりなので、たまにはソフトを触ってみたく画像処理なんぞに手を出してみたり。

目標: Webカメラから映像を取得→特定の色のエリアを特定する

やっていることは先人の後追いです。実際ソースコードもほぼコピペ。

OpenCVとその他諸々を拾ってきて環境を作る

OpenCVのビルド

まずはOpenCVをビルドします。これがないと何も始まらない。わざわざビルドするのはcontribが欲しかったからで、実は今回の目的を考えると余計なひと手間です。pythonも今回はC++で実装するつもりだったので本来なら不要。

OpenCV Ver 3.1.0
cmake GUI版 Ver 3.5.1
Qt Ver 5.6 (OpenSource 64bit版)
VTK Ver 7.0.0
python 3.5
numpy Ver 1.11.0 (pip インストール)

とりあえず必要なソースコードを拾ってきて適当なフォルダに展開。VTKはcmakeを使ってビルド用のソリューションを作成しておきます(OpenCVのcmakeでVTKConfig.cmakeを指定する必要があるみたいです)。Qtやpython関連は必要なincludeやlibのフォルダを指定します。

そしていよいよOpenCVのビルド。一部モジュールがエラーでビルドできなかったので今回は外してビルドしてます(opencv_bioinspired, opencv_contrib_world, opencv_cvv, opencv_structured_light, opencv_viz, opencv_world)。あとはCUDA関連をオフにしてCinfigure→Generate→ビルド。ビルドはVS 2015 Update2を使用しました。生成されたソリューションファイルを開き、バッチビルドで「INSTALL」のdebugとreleaseを選択してビルド。あとは数十分待てばライブラリができていると思われます。python3の関連のdebugビルドでりんカーがpython_35.libの参照エラーを吐き出します。これは参照するライブラリをpython_35_d.libに書き換えると解消する…かもしれません。この辺が環境と設定によってできたりできなかったりで大変苦労しました。

環境設定と実装

OpenCVのDLLが格納されているパス、QtのDLLが格納されているパスを環境変数Pathに追加して完了だったはず。


次回以降で実際に実装してみたことについて書きます。