22/7コラボのNW-A105とWH-XB900Nが届いた

NW-A105が届いたのは一週間くらい前だったんだけど、WH-XB900Nは注文が遅くなっちゃったのもあって、やっと今日届いた。
という訳で、ただただ「届いた」というだけの記事。また中身ない日記だ!
大事に使おうと思っているので、保護用の何かが必要…という訳で、NW-A105本体保護に以下2つを購入。 ケース選びの条件は、
・裏側が見える
・側面は柔らか素材
という感じで、ドンピシャのものを発見したのでチョイス。側面が硬い素材だと、脱着の時に本体に傷をつけるよなと思っていて(元々持っているNW-A55はそういうケースで、お陰で本体-ケース間のホコリを取るのが億劫になってしまい…)
ただ、全部柔らか素材だと、(昔使っていたiPod with videoがそうだったのだが)だんだん経年でぶよぶよになっていって、全然保護できない状態になっちゃうのが悲しいんだよね。
それに、今回はみゃーこの刻印イラストがある訳で、これを隠さないためにはどうすれば良いかという事で、前述の条件になるわけ。
ガラスフィルムの製品チョイスに理由はあんまりない。
ちなみにサイズについては特に問題無いと思います。この組み合わせで、ケースとガラスフィルムが干渉することもないです。 ほんで、ヘッドホンつーのは、イヤーパッドに皮脂と汗が死ぬほどつくので、これの対策をしないといけない。てきとうにぐぐってみたとこ、以下の製品を発見。 普通にカバーだね。くぼみが無くなるので装着感は結構変化するだろうけど、背に腹は代えられないよ。
こいつは実はまだ着弾していないので、装着次第追記しよう。 ウォークマン、ヘッドホンとして以上に、コラボモデルだからという気もするのだけど、満足度高い買い物でした。箱もずーっととっておく所存。 ところで、まだ元々使ってたNW-A55からデータを移していないのでわからないのだけど、データ管理は結局それ用のアプリケーションを使わなくてもいけるもんなのかね?
x-アプリだったりMedia GoだったりMusic Centerだったり、無限にそれ用のアプリケーションを作ってきたSONYだが、NW-A55ではマスストレージとして認識させて、そこにただただぶっこむだけで使えていたんだよねー、それと同等ならそのままでいきたい…(手持ちの楽曲管理は、mka(tak+cue)でまとめてfb2kで再生・エンコという感じにしているので、そこからあんまり外れたくない)

dconfを使ってみる

EPSON DS-50000とかいうのを買ってみたのだけど(大変高価でした、ノリで購入するべきものではない)、Arch Linuxで使うにはimagescanを入れれば解決するとか。SANE/スキャナー別の問題 - ArchWiki で、こいつはutsushiとかいうフロントエンドを使えと要求するのだけど、微妙に使い勝手が悪い。ひとまず、保存先くらいは毎度初期値じゃなくて前回のものを使ってほしいなぁと思う。 utsushiはGPLv3っぽいので好きに改造して良いはずなので、いじってみた。いじったのはottyajp/utsushi – githubに置いたので、設定をいじる話だけこちらに書く。 schema定義をつくってコンパイルする。この後、dconf-editorでいじれるようになる。

$ cat /usr/share/glib-2.0/schemas/apps.utsushi.gschema.xml
<?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="utsushi">

  <schema path="/apps/utsushi/" id="apps.utsushi">

    <key type="s" name="previous-path">
      <default>"~/"</default>
      <summary>previous path</summary>
      <description>previous path.
      </description>
    </key>

    <key type="i" name="resolution">
      <default>100</default>
      <summary>scan resolution</summary>
      <description>scan resolution.
      </description>
    </key>

  </schema>
</schemalist>
$ sudo glib-compile-schemas /usr/share/glib-2.0/schemas

C++から設定を読み込んだり書き込んだりする。

#include <gio/gio.h>

// load settings
GSettings *settings = g_settings_new("apps.utsushi");
GVariant *gvar = g_settings_get_value(settings, "previous-path");
gchar *path;
g_variant_get(gvar, "s", &amp;path);

// save settings
GSettings *settings = g_settings_new("apps.utsushi");
string str = "hoge";
GVariant *gvar = g_variant_new_string(str.c_str());
g_settings_set_value(settings, "previous-path", gvar);

本当はこれまで使っていたCanoScan LiDE 210みたいに、simple-scanでほいほい使えるとよかったんだけどなぁ。まぁ、DS-50000のスキャンはマジで早いしきれいだし、ハードウェアに文句は無いけどね。

ArchLinuxでAndroidビルド

久々にAndroidビルドの需要が自分の中で高まった。何年も前にP-01D向けCyanogenmodのビルドにチャレンジした事はあるが、その時のソースコードは人の作ったものだったので、今回は自分でやってみたい。自分で試行錯誤したい。 大抵Ubuntu向け記事ばかりだが(そもそも公式の文書がUbuntu向け)急にUbuntuホストを用意するのも面倒。手元のArchLinuxでそのままやりたい。というわけで、一先ずソース修正の類は何もせず、Pixel用でビルドしてみる。 それっぽいパッケージ群のインストール。必要なもののみかどうかは自信無い。

$ yay -S base-devel
$ yay -S git gperf zip curl zlib lib32-glibc ccache mesa libxslt unzip jdk8-openjdk rsync
$ yay -S multilib-devel # lib32-ncurses5-compat-libsに必要
$ yay -S lib32-ncurses5-compat-libs # 実際必要かどうかは不明
$ yay -S ncurses5-compat-libs
$ yay -S python2

repoコマンドのインストール、pythonリンク作成、git初期設定。

$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ ln -s /usr/bin/python2 ~/bin/python
$ ln -s /usr/bin/python2-config ~/bin/python-config
$ git config --global user.email "hoge@fuga.com"
$ git config --global user.name "hoge"

Androidソースコードの入手。バージョンは8.0.0の最新にしてみる。

$ mkdir ~/git/aosp/android-8.0.0_r36
$ cd ~/git/aosp/android-8.0.0_r36
$ repo init -u https://android.googlesource.com/platform/manifest -b android-8.0.0_r36 # すぐ終わる
$ repo sync # めっちゃかかる

ビルド。

$ source build/envsetup.sh
$ lunch # 好きなデバイスを選択。今回はsailfish向けにしていた
$ make -j2

エラー出るので修正。pythonが無いよって言うけど、まさかパス決め打ちじゃないよね…?

/bin/bash: prebuilts/clang/host/linux-x86/clang-3859424/bin/clang++: /usr/bin/python: bad interpreter: No such file or directory
$ cd /usr/bin
$ sudo ln -s /usr/bin/python2 python
$ sudo ln -s /usr/bin/python2-config python-config

Jack serverと通信できないみたいなエラーが出るのでぐぐって対応。

Communiction error with Jack server (52). Try 'jack-diagnose'
$ ./prebuilts/sdk/tools/jack-admin stop-server
Stopping background server
No Jack server running. Try 'jack-admin start-server'
$ ./prebuilts/sdk/tools/jack-admin start-server

メモリがいっぱいになる件。

Out of memory error (version 1.3-rc6 'Douarn' (4418000 22a11d4b264ae70e366aed3025ef47362d1522bb
by android-jack-team@google.com)).
Java heap space.   
Try increasing heap size with java option '-Xmx<size>'.
$ ./prebuilts/sdk/tools/jack-admin stop-server
Stopping background server
$ ./prebuilts/sdk/tools/jack-admin cleanup-server
$ export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4g"
$ ./prebuilts/sdk/tools/jack-admin start-server

あとはビルドが終わるまでひたすら待ち。Pixelデバイスが手元に無いので動作確認すら取れない。どうしよう…買うか…?

LinksMateを契約した

メインとして使っているドコモ回線の高速通信容量を使い潰すと、128kbpsというマジで使い物にならない速度に落ちてしまうのでとても厳しい。

この状態になるとブラウジングは当然まともにできないし、アプリの通信だってタイムアウトしまくり。(ようわからんがツムツムは通信するデータが少ないみたいで、速度制限下でもそれなりに快適にプレイできていた)

という訳で、逃げの回線としてexciteの最適料金プランを用意した、というのは以前書いた通り。でも、不満が出てきた。主には以下の2つ。

当時はドコモ回線の高速通信容量を使い潰すのは稀だろうと思っていたので、逃げの回線を使うかどうかはわからんな、と思っていた。だから使わない時には安く抑えたいという気持ちが強く、最適料金プランが結構適しているなという判断だった…が、蓋を開けてみると、マジで毎月通信制限食らう状況であった。つまり、どうせ毎月使うのであれば、使わない時には安いという利点を活かせない。

もう一つの不満は通信速度。トイレに篭っているときとか、待てばゼロ円的な漫画アプリを使う事が多いのだけど、まともに読めない。読み込み待ちとか失敗とかで、全然読み進められない。通信制限されたドコモよりは幾分マシだけど…みたいな感じ。

という訳で、それなりに安くて、実績の通信速度がそれなりに出るという方向で探してみると、LinksMate案外良いじゃんという結論になった。

カウントフリーオプションとかゲームへの特典とかが目に入りがちだが、自分の使い方ではそちらの利点は一切得られない。なんてことだ…

でも、速度比較とか見てると、かなりの実測値が出ているようだ(直近7日間の実効速度を公式で出している)。どうもゲーム等のインセンティブがあって、LinksMate自体は赤字でも、ほか事業の収益的には問題ないらしいみたいな記事をどこかで見たけど、ありがとうございますの気持ちしか生じないな。ゲームもコンテンツも利用しない自分は完全に赤字顧客なので。

という訳で契約しました。Amazonで350円で売ってるコードを入力すると契約事務手数料が0円になるらしいので、それを利用して契約。

実際の利用感とかはまた後日〜

NETGEAR AC785 + エキサイトモバイル最適料金プラン

以前書いた通り、NETGEAR AC785 + エキサイトモバイル最適料金プランで契約した。

モバイルルータ+MVNO SIMな感じを用意しようかな – お茶漬けぶろぐ

 

んで、2ヶ月くらい経ったので雑感をば。

 

まず、電源。

思ったより電池が保たない。ガンガン減っていく。想定用途は常時接続ではないんだろうなぁと思う。必要なときに電波を掴んで電波を発して、ってするんだろうな。

50%くらいまで減ったら充電しているのだけど、1日は全く保たず、日に2回くらい充電している。という事は100%ぶんくらい平然と使い切っているという事だ。

つっても、平日は目の前に充電器が常にある環境で生きているので、特に不便は無い。

ちなみにGL04Pを使っていた頃感じていた、発熱問題については特に問題無かった。

 

次、通信。

結構遅い。Youtubeで動画をなんとなく見る分にはそこまで気にはならないけど、それより普通のネットブラウズの方が厳しい。画像はもとより、レイアウト(CSS)が降ってくるまでの待ち時間がストレスフル。

この遅さがルータ由来なのか回線由来なのかは未調査だけど、どうせ回線由来なのでは?と思っている。

取り敢えずMVNOの回線提供元であるドコモSIMを挿してみようと思ったけど、microSIMを1枚も持っていないので試しようがない…。

データ通信回線を1本契約しようかなと思っても、定期契約ありで1900円/月、定期契約なしで3400円/月(どちらもシェアオプション)。まぁまぁ良い値段するのよね~。定期契約なしで2ヶ月くらい契約してみるのも良いかもだけどね。

あんままともに考えてないけど、そういえばL-04EがmicroSIMだったような気がするので、復活させて挿して見るってのもありかな。

 

最後、NETGEAR AC785本体

1万円しないやつだから、当然だし望んではいけないんだけど、安っぽいよね。

ボタンがパカパカ。ぎっしり感が一切無い。バッテリーカバーがしっかり閉まった感が薄い。

 

はい、今後。

遅さの理由を見つける。デバイスを変えたり回線を変えたりしよう。

それと、普通に安っぽくて物欲が一切満たされないので、ルータの新調。もっと重くていいので、しっかりしたものがほしい。

 

…と思っていたけど、結局、家族と一緒の回線で使っていくのがしんどいという話なので、そこを独立しようと思うと、つまりそもそもモバイルルータ不要なのでは?という気持ちになってくるな…

まぁそのへんは追々って感じ。17歳。(?)

 

kindle paperwhite買ってみた

別段すごく安くなってたって印象ではないけど、こないだのプライムセールで多少安くなってたので、買ってみた。

Wi-Fiモデル、キャンペーン情報無し。

もともと、買うならキャンペーン情報は無しだなと思ってたし、3Gモデル楽しそうだなとは思ってたけど案外価格差あるしで、取り敢えずエントリーしてみるのに丁度よいモデルを選んだつもり。

一応画面保護フィルムと、ぱたぱたのカバーも用意(Amazon純正)。スクリーンに対する防御が2重になっちゃってやり過ぎ感もあったけど。充電器はスルー。USB microBで充電できるので、わざわざ専用に用意する意味がない。

 

 

使ってみた感じ、やっぱ画面はきれいだ。画素密度もきちんとあるので。それから、ぱたぱたのカバーはスマホも含めて一切使ったことが無いんだけど(持つ手を制限される構造が気に入らない)、でもカバーの開閉でkindleのスリープが自動で切り替わるのはなかなか快適。

一週間ほど使ってみて、思ったより電池が持たない。別に画面輝度最大にしてるって訳じゃない。必要な時以外は輝度最低にしてるし、必要なときも半分以下くらいしか光らせてない。それでも、日に2時間程度の利用で、電池残量表示が目減りしていく印象がある。印象なので、事実からは大きく離れているかもしれないけどね。

 

 

さて、kindle使って外で気軽に読もうと思ってたのは、物欲を刺激されない(取り敢えず読めればいい)ラノベやコミック、あとてきとうな読み物、それから、できたらお勉強の本も読めたらなーとか。

 

いざ買ってみて思ったのは、結論から言うと、元々が文庫本サイズじゃないとかなり厳しいということ。

加えて、(これは前からずっと思ってるけど)画像として配信される書籍はもっと厳しい。

 

まず読んだのはラノベ。そもそもサイズが近いという事もあり、また文字データとして配信されているから字もきれいで、大変読みやすい。惜しむらくは、表紙やカラーページも白黒で見るしかないということ。まぁその辺は他のデバイスで見ればいいんだし、そこはぶっちゃけ中身に大きな影響を与えない。挿絵はそもそも白黒で印刷されているし。

ちなみに妹ちゃん推しです。

 

次に読んだのはコミック。長く続いているからモノを集めるのはしんどいけど気楽に読みたくなるもの、という事でNARUTOをチョイス。

大判コミックじゃないのはわざと。丁度いいサイズを狙った結果。物欲刺激されないが読みたいというタイトルがぱっと見つからなかったのもある。

これもかなり読みやすかったが、見開きページがつらい。一応画面下の方に「全体のうちのこの辺がうつってますよー」という表示はあるのだが、これがあるからと言って見えていない範囲が見えるようになる訳じゃない。

 

次はこちら。

結城浩著、暗号技術入門。もとはA5判らしく、そんなに大きくないのでいけるかなと思い。

しかしこれが一番キツい。文字がめちゃくちゃ小さい上に、凄く薄い。画像として配信されているので、調整しようもない。

薄くて何も見えない

 

正直かなり目を凝らして読む状況で、全然無理。

電子版で買ってしまったので、どうやって読もうかめっちゃ悩んでいるところである。

 

きちんとものを選べばかなり快適に読める事がわかったのは、大変収穫だった。つまりは、画像としてではなくテキストで配信されているコンテンツは、大変快適。

 

今は、ラノベとして

これを読みつつ、読み物として、じわじわと

これを読んでいる。

まぁなんていうか、予想できていた事だけど、めっちゃ気軽に迂闊に本を買っちゃうので、Wi-Fiモデルでよかったなって思うよ。無限に購入しちゃうもん。

Kumanの3.5インチモニタを回転させる

これ

今回はRaspberry pi 3 model Bに挿してつかう。

付属のCDにそのまま使えるRaspbianのイメージが入っているが、これを使うのは何されるのかわからんな?という声もよく見る。しかしまぁ、どのネットワークにも接続しないで使う予定だったので、ドライバ等の自前導入はせず、付属のイメージを使うことにした。

で、用途上はモニタを90度回転させると丁度良い感じなので、回転させる。

 

類似の商品が多いのでてきとうに調べていたら、2種類の情報があって、/boot/config.txtに

・display_rotate=90

・lcd_rotate=90

とかを書くとかいうのを得た。

ただし、前者だと画面は回転するがタッチスクリーンが回らなくて操作しんどい、後者だといい感じ!みたいな論調ばっかり。この口ぶりから分かる通り、うまくいきませんでした。lcd_rotateだとそもそも画面が回転しなかった。(要は別製品の情報なのかね)

 

Kumanのこの製品はWaveshareの3.5inch RPi LCD (A), 320×480 – waveshareのコピー製品、という情報を得たので(下の方にAnti-PiracyとかThis product is protected by patentとか書いてあるけど気にしない…)、Waveshareのそれっぽいサイトを眺めることにする。

5inch HDMI LCD -Waveshare Wiki

Screen orientation settings及びTouch screen calibrationの項で全てが解決した。キャリブレーションはメニューにも選択肢が最初からあったのでそっちを使っても良いかも。

 

きちんと一次情報を当たろうねとか、自前できちんと環境構築しようねとか、思いました(いつもの事では?)

Raspberry Pi 3 Model BでBrother HL-L2300を使う

環境はRaspbian(久々のDebian系だ)

 

一先ずCUPSを入れておく

$ sudo apt-get install cups

brotherから公式に提供されているドライバはi386なのでRaspberry piでは使えない…

という訳でぐぐってみたところ、それっぽいものをgithubで発見。

pdewacht/brlaser – github

対応プリンタ一覧にHL-L2300は無いが、HL-L2300Dがある。同一モデルのロケール違いっぽいのでそのまま突っ込む。

ビルドに必要なものをインストールしてから、REAMD.mdの通りに操作

$ sudo apt-get install build-essential
$ sudo apt-get install cmake libcups2-dev libcupsimage2-dev
$ git clone https://github.com/pdewacht/brlaser.git && cd brlaser
$ cmake .
$ make
$ sudo make install
$ sudo service cups restart

プリンターを接続し、CUPSのWebインターフェイスからプリンターを追加。

brlaserをインストールすると、モデル一覧にBrother HL-L2300D, using brlaser v4が出現するので、ここから追加すればおk

 

このままlprコマンドから印刷しようとすると怒られる。

$ lpr -o fit-to-page ./test.pdf
lpr: エラー - 利用可能なデフォルトの宛先がありません。

登録してやれば良い。一覧をlpstatで表示して、これをlpoptionsで指定する。

$ lpstat -p
プリンター Brother_HL-L2300_series は待機中です。2018年03月02日 00時55分09秒 以来有効です
$ lpoptions -d Brother_HL-L2300_series
copies=1 device-uri=usb://Brother/HL-L2300………(以下略)

あとはlprコマンドで普通に印刷できる。

GPD WINとArchLinuxInstallBattle

今更な話な上に大した内容でもなかった感。(この記事、実は何ヶ月も前に書いてあったんだけど、どういう訳か下書きのまま放置されてたんだよね、それを今回公開しただけという…)

 

本体ストレージをいじらずにいきたいので、小型のUSBメモリを用意して、そこにインストールする事にする。

BIOSでなくUEFIな環境にインストールする事を念頭に作業を進めれば特に問題は無い。

 

以下、引っかかったところとかをピックアップ。

 

・Live環境の起動時にUSB error -110を吐いて死ぬ

最初の見た目の状況としてはUSBメモリのラベル名が正しく設定されてない時に近かったが、USBメモリを見失って起動できなくなっているという状況の方が正しかった。

よくよく見てみるとUSB error -110を吐いて死んでるっぽかった。

usb – device descriptor read/64, error -110 – Stack Overflow

によると、要は電力が足りてないらしい。

USB3.0ポートにUSB3.0メモリを刺してるんだから動いて当然っしょと思っていたけど、何らかの理由で、電力供給が不安定になっていたみたい。しょうがないのでUSB2.0の延長ケーブルを通して接続してみたら、問題無く認識するようになった。

延長ケーブルを使うのは持ち歩きに邪魔なので、USB2.0メモリを使う事にした。

 

・画面向きがおかしいやつ

ArchWikiの通りに。

インストール後の環境にも適用するために、てきとうに設定しておく。今回はブートローダにgrubを使ったので、/etc/default/grubのGRUB_CMDLINE_LINUXにi915.fastboot=1 fbcon=rotate:1を追加しておく。

設定の適用はgrub-mkconfig -o /boot/grub/grub.cfgみたいな感じで。

 

・インストールしてからwifi-menuがdialogとかwpa_supplicantを要求するのでwifi-menuが使えない

これはGPD WINつーかただ自分がアホなだけ

Live環境からてきとうに入れておきましょう

 

GPD WINはおもちゃとして面白いと思うんだけど、外でホイホイっと使うには、入力系統がしんどくてあんまり気が乗らないんですよね。そういう意味ではGPD Pocketの方が優秀なんだけど、両方なんて買うお金は無いし、GPD WINの頃にGPD Pocketなんて知らなかったし…という

DAPを作る妄想その2

その2ってお前、その1はどこだよって思うかもしれないけどその1はあるんですよ、うんうん。

DAPを作る妄想

正直言って一体いつの話だよ、という感じだけど(実際一番最初に思いついたのは3年くらい前だったりする)、多少やる気を出してきたのでちょろっと書く。具体的な作業はあまりない。

 

・モニタ

NTSC/PAL (Television) TFT Display – 2.0″ Diagonal – AdafruitをAdafruitから仕入れたのは以前の記事の通り。駆動には最低6V必要だけど、電源には余ってるモバブを使う心積もりなので(生セル買ってきてもいいけど、電源管理ちゃんと考えないといけないし爆発怖いのでやめとく)、昇圧回路が必要。

昇圧回路には最大24V出力 LMR62421昇圧型スイッチング電源モジュール基板 – 秋月電子通商らへんを考えている。30mm四方なのでそんなに場所取らないんじゃないかなという思い込み。

ここにUIをうまく表示してやろうと、昇圧回路と後述のDACが届くまで、てきとうなプッシュスイッチ使って色々実験中。(後述)

 

・制御本体

Raspberry pi を使うつもりだったけど、Raspberry pi Zeroが手に入ったので、これを使おうかと。大幅なスペースの削減を達成できるはず。

ただし、これに伴って本体から直接出力してくれなくなったので、DACが本当に必要になった。

ケース関係で頼ろうと思っている人に相談してみたら、前の記事で書いてたようなデカいDACは場所食っちゃって使いにくそうと強めに言われたので、後述のDACを使う事にしてみる。

 

・音

pHAT DAC – Pimoroniを使ってみようと思う。これならRaspberry pi Zeroと同じような面積だし場所も取らない。

ちらちら見るに音としての品質はアレみたいな感じっぽいので、不満があったらまた考える事にする。

 

・ストレージ

Raspberry pi Zeroに変えた都合で、USBポートがmicro-Bが1つのみとなった。USB Hub必須っぽい?これが地味に場所を食いそうなので、迷いどころ。目処が立たない。メインストレージのMicroSDとは別に用意したいんだけどなぁ。

 

・UI

てきとうにコンソールアプリケーションとして作ってみるテストちう。具体的な構想も何もない。実験したのは以下みたいな感じ。

1.GPIOの特定ピンをON/OFF出来る(wiringPi使ってる)
2.プッシュスイッチの様子(つーかGPIOの各ピンの様子)をC++コードから見に行く
3.コンソール画面を随時書き換えてUI風味を作る

音に関係する部分はpHAT DACが届いてから手を付けるつもり。UI風味を発展させて、ファイルシステムからデータベースを作って、そこから選択するとかを実験してみる予定。

今はPoderosaで接続しに行ってそこで開発しているけれど、本当のモニタを使わないと表示具合がわからない(特に1画面内に収められる情報量がシビアになりそうだし)。昇圧回路の用意が出来たらそっちに移行しようと思っている。

 

pHAT DACの到着を待つか、昇圧回路をとっとと入手するか、どちらかが無いと、先には進めなさそうだなぁ。