SyntaxHighlighter

2017年7月25日火曜日

HP Stream 11-y004tuを購入した

HP Stream 11-y004tu(2016年12月モデル)を購入した。
Celeron N3050搭載の非力なマシン(10年前のCore2Duoに負ける性能)だが、
その価格(3万2千円)に負けて買ってしまった。

Windows PCとしてはポータブックがあるのだが、Linux入れる用のマシンが欲しくなったのだ。
HP Stream 11シリーズは比較的有名で、前々からLinuxを導入した報告が多かった。
同価格帯のasusのE203NAとかなり迷ったのだが、asusのマシンはLinux導入時のトラブル報告が多いので、
Linux初心者の自分には向いていなさそうということでHPを選択した。

で、届いた。


開封した印象としては
・割と本気でおもちゃっぽい
・筐体が軽くて薄くて良い
・通常のACアダプタケーブルの他に、ACアダプタに直結できる
 L字型コンセントアダプタがついているのはかなり好感度が高い。携帯性が高まる
・キーボードは、良くもないが悪くもない。パタパタといった感触
・Windows 10はじめてブック的なものがついているのは初心者にすごく優しい
・タッチパッドになにかの跡が... 製造時のかな?

まず、デフォで入っているWindows 10の方を使ってみた。
・クソ重い。正直使用がきついレベル。ポータブックのほうがまだマシ
・すべてが遅い。使いにくい。
・ポータブックと違って液晶はマトモな方。(超きれいではない)
・One Driveの2年間100GB無料使用権利が紙で同梱されていて、それは良い
・HPの製品登録をすると、さらにDropboxの1年間25GB無料権が手に入るのも良い
・入っているのは1507あたりのかなり古いWindows 10であり、
 即Creators Updateにする必要が(もちろん問題なく終了する)
・ファンレスなのは良い

次に、Ubuntuを導入するついでにBIOS設定に入る。
・普通に64bit UEFI
・HPは自己診断ツールが充実していて良い
・起動時パスワードや、起動順位設定などが普通に設定できるのが素晴らしい
・レガシーBIOSサポートまで入っている(Windows7以前も問題なく入りそう)
・POST delayの設定もできる。素晴らしい。
・当然のようにUSBブートもCDブートも対応
・セキュアブートもオフにできる(次回起動時に確認画面が出る)
・音量キーなどは、デフォだとFn押さずに利用できる
 (つまりF1等のキーが後ろに回っている)が、
 Action Key設定をdisableにすると、通常ファンクションキー有効で、
 Fn押すと音量等の操作になる普通の設定にすることができる。
とても良い。

最後に、Ubuntu 16.04 日本語Remix(64bit)のライブCDで動作確認
・起動順位を設定し直しておけば、なんの問題もなく起動する
・起動は遅いが、起動後はそこそこ軽快に動作する
・カメラ OK
・キーボード OK
・microSD OK
・Wi-Fi OK
・Bluetooth OK
・オーディオ OK
・イヤホン端子 OK
・タッチパッド OK(※)
・モニタクローズでのサスペンド NG
・手動でのサスペンド OK
・サスペンドからの復帰 OK
というわけで、デバイス周りの問題は何も概ね起こらず使用できた。
素直で素晴らしい。

もちろんセットアップ時にもWi-Fiは問題なく使用できている。

※タッチパッドは、2本以上の指で触れると、時折左上や左下に吹っ飛んでいくことがある。
 頻繁には起こらないが、そこそこ起こるので注意。Windows使用時も同様かは不明
 (どうやら、クリックするときに反応するのが原因らしい。クリック時にカーソル操作する側の指を離せば発生しないが...)


結論: Linux入れて使うのに最適。Windowsで使うなら大変な気長さが必要そう


Ubuntu導入後
・タップでクリックする、や、二指でのスクロールは切っておいたほうが良さそう

2017年6月24日土曜日

最近ちょっとFelicaにハマっている

最近ちょっとFelicaにハマっている。

Felicaで色々するのが流行ったのは2008年ごろだろうか。
当時自分も、Felicalibを使ってIDmを読み込んで認証するプログラムを作った覚えがある。
その時、RC-S330を購入したのも覚えていた。

最近、といっても1年ほど前だろうか。
ふとしたことで、NFC搭載のSDカードを手に入れた。
東芝のアレだ。

当時自分はNFCを読み取れる機材がなく、SDカードも別に不足していなかったので、
戸棚にしまったままになっていた。

3月頃、ふとAndroidアプリ開発をしたくなってNexus5Xを購入していた。
NFC読み取り機能もあることだし、と、免許証や電子マネーの読み取りアプリも入れていた。

それで、ふと先のNFC-SDカードを思い出した。
Nexsus5Xにアプリを入れ読み取ると、ちょっと使いづらいながらも
無事サムネイルとカード名を読めるようになった。

NFC-Type Fなので、PC+PaSoRiでも読めそうだが、公式にはないし、
やっている人も見かけない。

ここでふと思った。ざっと探してもネット上でこのSDカードを解析している人はいない。
しかし、自分は前にFelicalibで少しだがFelicaには触っている。
ちょっと調べれば実は簡単にできるのではないか?と。

実際、このSDカードの仕様とメモリマップは公開されていた。
見た感じ結構単純そうであるし、行けるだろう、と思ったのが罠だった。

詳細はFlashAir開発者向け非公式wikiを参照してほしい。
http://seesaawiki.jp/flashair-dev/d/NFC%3aPC%a4%ab%a4%e9%c6%c9%a4%df%bd%d0%a4%b9
のだが、ここでもかいつまんで説明しよう。

まず、Felicaには現在最低でも2種類ある。
Felica Standard: これは、いわゆるSuica等の普通の高セキュリティなFelicaだ。
 いわゆるカード型Felicaのそれは全部これである。
Felica Lite: これは機能が省略された安価なFelicaで、そのかわり小型省電力。
 もともとNFC用に作られたと言ってもいいもので、ポスターやフィギュア、
 シールや小さなカードなど、小型軽量薄い、そして安いが、
 暗号化機能はごっそり削られ、容量もかなり少ない
 一部では会員証として普通のFelicaと同じカードの形をしていることもある。

で、2008年ごろのFelicaといえば、Felica Standardのことだった。
Felica Liteはあとから出てきたもので、いわゆるNFCはほぼこっちである。

そう、2008年で更新が止まっているFelicalibはFelica Standard用に作られており
一方、NFC SDカードは、NFCの名の通りFelica Liteなのである。

Felica Standardは、かなり複雑な階層構造になっており、
システム→サービス→エリア→データブロックになっている。
”システム”でEdyやSuicaなどが別れ、そのシステムも共有の領域な場合があって
そこはサービスで分ける。(Edyなどは共有領域を使っている)
そして、サービスの中はエリアで別れていて...と言った感じ。
(エリアは8階層まで可能らしい)
なので、ディレクトリ構造になる。
またこれらを扱うために多種多様なコマンドがある。
アクセス手法もランダムや、サイクリック、パースなどあるし、暗号化も様々できる。
トランザクション処理もできる。

一方、Felica Liteは、システムもサービスもエリアもない
ブロックしかない。ブロックしかない。
そのため、ブロックアドレスのマップ、メモリマップで全てが表せる。
さらに、コストカットのためコマンドも削られている。
・ポーリング
・暗号化なし読み取り
・暗号化なし書き込み
しかない。

ただ、互換のためシステムコードは0x88B4(Felica Lite) or 0x12FC(NDEF)で反応し、
サービスも0x0009(読み書き可)と0x000B(読み取り専用)がある。
(2つのサービスは同じ1つの領域を読み書きする。権限が違うだけである)

...であることから、通常Felica Standardで使われる普通の手順
1. ポーリングする
2. システム一覧を取得
3. システムの中のサービス一覧を取得
4. サービスの中のエリア・ブロックにアクセス
が成立しない。

もう2も3も成立しない。

そのため、Felica Standardで使われるダンププログラムを使うと、
謎の00領域00サービスの山に悩まされることになる。
(実際にはコマンドエラーで失敗していると思われる)

一方、単純故に解決も簡単で
1. 0x88B4で決め打ちポーリングする
2. サービスは0x000B固定で、エリアも無視して、ブロックアドレス与えて単に読み書きする
に愚直に従えば良い。

良いのだが、ここでまたFelica Standardで現れなかったのであろう問題がぶつかった。
Felicalibが1バイトアドレスにしか対応していなかった。

そもそも、Felica Standardは細分化された構造にデータが置かれているから、
そんなに1つの領域に大量にデータを置くことがなかったのだろう。

一方、Felica Liteは1つの領域しかないため、そこに置くしかない。
そのため1バイトで表せるアドレス数では足りなかった。
(※本当のFelica Liteは足ります。Felica Plug等の外部メモリがついているタイプのが困るのです)

Felicaには2バイトアドレスでアクセスする方法が予め用意されていたので、
それでアクセスすれば問題なし...なのだが、ライブラリにはその機能がなかった。

そのため、改造が必要になった。
ちなみに、改造したライブラリはここにあります。
https://sites.google.com/site/gpsnmeajp/tools/felicalib_segfix
エラー対処や、いろいろな改善(改悪含め)が入ってます。

んで、読み書きできればこちらのもの。
あとはメモリマップに従ってやれば、読み出しできる。

Felicaなんで、標準242kbps、高速424bpsしかないけど。
さらに1ブロック単位アクセスをするとなお遅い。

おそーい。

それでも読み出すツールはできましたので、こちらに置いておきます。
https://sites.google.com/site/gpsnmeajp/tools/nfcsddumper
同梱されているライブラリは最低限の改造しかしていないものですので、
プログラムに組み込んで使うのであればこちらではなく、上のを使ってください


2017年4月27日木曜日

FlashAir W-03の新ファームウェア調査(FA9CAW3AW3.00.02)

FlashAir W-03に新しいファームウェアが公開されています.

ざっと調べた結果.

隠し関数の変更:1件(ConnectNum → ConnectedSTA)
隠し関数の追加:1件(search)
隠し関数の削除:0件
でした.

この変更により,現在FTLEのメニューが動作しません.
近いうちに修正予定ですが,それまでは
・FlashTools.luaのConnectNumをConnectedSTAに修正するか,
・直接/FTLE/edit.htmにアクセスしてご利用ください.
ご不便をおかけします.

未公開の関数を利用する際は,同様のリスク(変更・削除による動作不良)が
発生することを理解した上でお使いください.


2017年4月23日日曜日

Twilioを使って,FlashAirから電話をかけよう。(あと他の通知手段あれこれ)

電話/SMSをAPIから発信・着信できるサービスTwilioを使って,FlashAirから電話をかけます.
電話のほか,SMSも利用できます.また,将来的にはFAXも利用できるかもしれません.

簡易的な非常通報装置や,セキュリティ装置,呼び出しボタンなんかが作れます.
ネット上のサービスを利用するので,インターネットに出られるWi-Fi接続が必要です.

※画面にFlashAirを貼り付けてるのは,電話番号が画面に表示されるため

FlashAir開発者向け非公式Wikiに,サンプルのスクリプトと使い方の記事を上げました.
http://seesaawiki.jp/flashair-dev/d/Lua%3a%20Twilio%a4%f2%bb%c8%a4%c3%a4%c6%c5%c5%cf%c3%a4%f2%b3%dd%a4%b1%a4%eb

アプリもスマホもなしで,電話の着信さえできるなら誰にでもつかえる利点は
あるんですが,このサービス,有料,それも従量制課金のサービスなので,
どっちかというとFAとかそっち向きな気がしますが,
無料体験もできるので,気になる方は試してみてください.

ちなみに,電話を応答拒否したり,ほったらかしで切れたりすると,
しつこく掛けなおしてきますので,モーニングコールにも便利かも.
(少なくとも3回は掛けなおしてきた.)


ちなみに,アプリ500円ポッキリ買い切りで,以後通知受け取り放題の
PushOverというサービスもあります.フツーのスマホを持ってる方はこちらが便利.
https://pushover.net/
かなり頻繁な通知もサポートしてくれるので便利.
画像の添付や,通知音の変更などの細かいものにも対応してくれます.

HTTPSアクセスで通知を叩けるのですが,
実は,メールアドレスも有り,そこにメールを送ることでも通知を飛ばしてくれる有能.

これも,Wikiにサンプルあります.
http://seesaawiki.jp/flashair-dev/d/Lua%3aPushover%a4%c7%c4%cc%c3%ce


ヤダー!無料がいいー!って人は,IFTTTの通知機能を使えばいいんじゃないでしょうか.
IFTTTは都合上,頻繁な通知はサポートしません.(15~30分に1回くらい?)
これもWikiにサンプル有りますのでどうぞ
http://seesaawiki.jp/flashair-dev/d/Lua%3aIFTTT%a4%ce%a5%c8%a5%ea%a5%ac

2017年4月17日月曜日

電子工作er向け301Zメモ

SoftBank 301Zを購入した。
まだ届いていないが、現在のところのメモ。

ソフトバンクのプリペイドは、
・基本料金かからない。
・3000円で60日。
・その後、360日着信専用で使用できる。
・つまり、着信専用として使うなら、月額214円ほどで維持できる。
・ちなみに、3000円で60日は、積み上げられるので、
 先に3000*6=1万8千円支払えば、360日通話通信可能にもできる。
 この場合月額1500円。ホワイトプラン契約したほうが安い。
 (チャージ上限は6万円)
・1年以内に解約すると2万円。ただし、1年放っておけば無料で解約される
・着信専用期間は、フリーダイヤルでも発信不可。警察等には可能
・SMSの送信はメール定額が必要。しかも他社に送れない。
 通常のメールは他社へも送れる月額約250円だが、
 その前にプリペイド期限が切れるため、メール専用でも月1500円かかることになる。
・SMSの受信は着信専用含みいつでも可。これは他社からのも受信可能。
・2回線まで持てる
・残高不足でメール定額が解約されても、電話番号が生きてるうちは
 アドレスが残っている。

301Zは、
・プリペイド専用に設計された端末。(ホワイトプランでも使えるが)
・オンラインストアで約6500円。うち4000円は初期チャージなので、
 実質2500円の端末
・本気のガラケー。というか、古い携帯電話。
・バッテリーが公称680時間(28日)持つ。ただし緊急速報メールを切った場合らしい。
・microUSB端子(500mA)で充電できる。
・着信音はプリセットされたものしか使用できない
 (しかもマナーモードの設定から編集に入る謎仕様)
・音楽はAMR形式かあるいは3GP形式に変換する必要がある。
・画像はjpgにしか対応していない
・カメラはおまけ
・ブラウザはついてるが、プリペイドでは使えない
 (メールの設定時には使えるらしい)
・USB接続ができるらしいが、まともに機能しない模様
・イヤホン端子は3.5mmで、OMTP規格。イヤホンマイクのボタンが動くかは不明
・実は壁紙は変更できる
・RTCによる自動電源ON・OFFの機能がついている
・簡易留守電がついている
・自動応答機能がついている

これらから、自動応答を有効にし、イヤホンマイク端子に
装置をつなげておけば、かなり安価な遠隔制御装置に使えると考えた。

着信専用なら月額250円程度で維持でき、操作もメインの携帯から
通話定額時間内を利用してやれば、ほぼタダで
携帯電波の届く範囲内ならどこからでも制御できる。

バッテリーの持ちの良さと、RTCによる電源オンオフを使えば、
屋外に設置、小型の太陽光電池で運用もできるだろう。

いわゆるIoT系のセキュリティや処理能力もいらない。


*追記
届いたので、色々とチェックしてみた。

作りは安っぽい、というより、懐かしい感じだ。
メールを開いたりするのに多少時間がかかるのはお愛嬌。
メールの添付ファイルに300KB制限があったりするのは、久々に思い出した。

イヤホンマイクだが、思っていたのと半々くらいの動作をする。
・着信中ボタンを押すと応答。会話中に押すと切断。
・待受中ボタンを押すと、バックライトが点灯するが、それ以外何の動作もしない。

というわけで、テレコントロールには使えるが、自動通報には使えないことがわかった。
せめて待受中、スピードダイヤルに掛けるとか、リダイヤルするくらいの挙動を
してくれてもいいと思ったのだが。

まあ一応、スピードダイヤル機能があるので、サーボモーターでダイヤルパッドを
長押しさせれば自動通報可能といえば可能である。
全部のボタンに同じ発信先を設定しておけば、とりあえずどれか長押しすれば発信されるので。

それと、携帯電話のDTMFの仕様を初めて知った。
iPhone側では長押しすると、ポーと言った感じで鳴るのだが、
携帯側では、ポッ、と切れる。音は圧縮された濁った音なのだが。
これは、交換機側で音を生成しているせいだろうか?

あと、「マナーモード」の項目が着信音の設定という謎があったのだが、
英語モードにすると「Sound Profile」になったので、納得。
なんでこんな訳し方したし。「サウンド設定」で良かっただろう。
昔のパナソニックの携帯みたいに。