諸星大二郎の世界(コロナブックス)

コロナブックスから「諸星大二郎の世界」というムック本が出ました。

 

表紙
f:id:bunji2:20161218203705j:image

 

目次
f:id:bunji2:20161218203714j:image

専門家の先生がたの評論と、諸星先生が幼少期を過ごした町を再訪する企画がのってます。

 

特筆すべきは、諸星先生の書斎の本棚の蔵書のリスト。
f:id:bunji2:20161218203722j:image

1000冊を超える書籍の書名と著者名が網羅されています。

マニアにはたまりません。

 

リストをじっくりながめました。「図説金枝篇」と「ハーメルンの笛吹男」の二冊が私の蔵書とかぶりました。

 

 

 

おまけ。

p60より。
f:id:bunji2:20161219010754j:image

ハラハラしちゃいました?

いいえ、「ハリ・ハラ」が正解。

 

おまけ2。

p135に気になる記述発見!
f:id:bunji2:20161219011759j:image

2017発売予定って…

これってまさか…

暗黒神話」の完全版かな?!

さらに修正とか入るかな?!

楽しみです。

「BOX〜箱の中に何かいる」第14話

書くの忘れてました。(^o^;

現在発売中の月刊モーニングtwoに諸星大二郎先生の「BOX〜箱の中になにかいる」第14話が掲載されています。

 

表紙。
f:id:bunji2:20161126123525j:image

 

タイトルページ。巻頭カラーです!
f:id:bunji2:20161126123556j:image

 

物語は前回から引き続き、光二くん・惠くん・神宮さん・キョウコの四人で出口に向かってるところです。

 

いわゆる三角関係的なやりとりがあったり。
f:id:bunji2:20161126123714j:image

 

なんとか出口が見つかりました。
f:id:bunji2:20161126123826j:image

 

甲田さんはしつこくキョウコを追い回してました。(しつこい男はきらわれるぞ〜)
f:id:bunji2:20161126123913j:image

 

出口を出たら終わりかとおもったら、深淵に続いてそうな階段が現れたり…先は長そうです。
f:id:bunji2:20161126124005j:image

 

今月の諸星先生!
f:id:bunji2:20161126124157j:image
f:id:bunji2:20161126124222j:image

新刊と新装版二冊でました!

 

巻末のツーチャンネルにコメントがありました。
f:id:bunji2:20161126124544j:image

まだまだ続くみたいです。

 

 

bunji2.hatenablog.com

 

新装版「私家版鳥類図譜」「私家版魚類図譜」

諸星大二郎先生の「私家版鳥類図譜」と「私家版魚類図譜」の新装版が出ました。

 

表紙。
f:id:bunji2:20161123120228j:image

 帯で庵野秀明氏が絶賛してます。

 

帯を取ったところ。
f:id:bunji2:20161123120255j:image

 新装版に新しい表紙絵を用意されたのですね♪

 

表紙カバーを取ったところ。
f:id:bunji2:20161123120307j:image

 

目次。
f:id:bunji2:20161123120318j:image

 旧版と同じようです。

密かに書き下ろしを期待してましたが。

でも新しい表紙絵が素晴らしいし、仕方ないでしょう。

 

旧版と比較しました。
f:id:bunji2:20161123120334j:image
f:id:bunji2:20161123120349j:image

 いずれも博物学の図鑑的な雰囲気。

旧版はややごちゃごちゃした感じでしたが、新装版は一枚絵でコンセプトを語ってますね。

 

背表紙の比較。
f:id:bunji2:20161123120407j:image

 

個人的にはA5サイズの方がいいのですが、B6サイズというのもいいですね。

(読みやすさでいえばB5サイズなんですけどね)

いずれ文庫版になるのかなぁ。

 

それにしても、吉祥寺の書店BOOKSルーエはエラい!諸星先生の単行本が発売日にちゃんと店頭に並ぶなんて♪

新刊「BOX〜箱の中に何かいる」1巻

諸星大二郎先生の新刊「BOX〜箱の中に何かいる〜」1巻が本日発売されました!\(^o^)/

 

表紙。
f:id:bunji2:20161122214422j:image

予想外にポップな色使いで

少々戸惑いました(^o^;)

帯をとると…
f:id:bunji2:20161122214453j:image

表紙カバーをとると…
f:id:bunji2:20161122214525j:image

光二くんの顔の迷路が出現。

 

目次。
f:id:bunji2:20161122214621j:image

巻末に「キョウコのこと」が載ってます♪
f:id:bunji2:20161122214646j:image

 

奥付。
f:id:bunji2:20161122214749j:image

 

そして、続巻は来春!
f:id:bunji2:20161122214823j:image

 

吉祥寺の書店、「BOOKSルーエ」はエラい!

ちゃんと諸星先生の単行本が

発売日に店頭に並ぶなんて!(^o^)b

諸星大二郎劇場3『上流からの物体X』

 ビッグコミック増刊(12月17日号)に諸星大二郎劇場3『上流からの物体X』が掲載されています。

 

表紙。
f:id:bunji2:20161120103950j:image

 

タイトルページ。
f:id:bunji2:20161120104003j:image

 

川辺で原始的な生活を送る男。

何故か必要なものは上流から流れてくる…という設定。
f:id:bunji2:20161120104013j:image

 

これ、単行本の「諸星大二郎選集・第二集」に収録された書き下ろし作品『クーリング・オフ』の続編でした!\(^o^)/
f:id:bunji2:20161120104022j:image

 

その選集・第二集とやらはこれ↓
f:id:bunji2:20161120104102j:image
f:id:bunji2:20161120104214j:image

クーリング・オフ』では、結婚というイベントを諸星先生的な解釈で描かれました。

 

本作では「子供を授かる」ことについて描かれています。

 

この『上流からの…』はシリーズ化ができそうですね♪

 

 

SensorTag をラズパイから操作する

Texus Instruments の SensorTag (CC2541) を触る機会があったので、またもラズパイから操作してみました。

技術情報がオープンになっているので非常にわかりやすいです。

  • SensorTag User's Guide

http://processors.wiki.ti.com/index.php/SensorTag_User_Guide

  • SensorTag attribute table

(ググるとPDFの表が出てきます)

外形はこんな感じ。赤い筐体がかっこいいです。

それでは SensorTag のプライマリサービスを見てみましょう。

$ sudo ./gatttool -i hci0 -b 78:A5:04:19:6D:DB -I
[78:A5:04:19:6D:DB][LE]> connect
Attempting to connect to 78:A5:04:19:6D:DB
Connection successful
[78:A5:04:19:6D:DB][LE]> primary
attr handle: 0x0001, end grp handle: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle: 0x000c, end grp handle: 0x000f uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle: 0x0010, end grp handle: 0x0022 uuid: 0000180a-0000-1000-8000-00805f9b34fb
attr handle: 0x0023, end grp handle: 0x002a uuid: f000aa00-0451-4000-b000-000000000000
attr handle: 0x002b, end grp handle: 0x0035 uuid: f000aa10-0451-4000-b000-000000000000
attr handle: 0x0036, end grp handle: 0x003d uuid: f000aa20-0451-4000-b000-000000000000
attr handle: 0x003e, end grp handle: 0x0048 uuid: f000aa30-0451-4000-b000-000000000000
attr handle: 0x0049, end grp handle: 0x0054 uuid: f000aa40-0451-4000-b000-000000000000
attr handle: 0x0055, end grp handle: 0x005c uuid: f000aa50-0451-4000-b000-000000000000
attr handle: 0x005d, end grp handle: 0x0061 uuid: 0000ffe0-0000-1000-8000-00805f9b34fb
attr handle: 0x0062, end grp handle: 0x0068 uuid: f000aa60-0451-4000-b000-000000000000
attr handle: 0x0069, end grp handle: 0x0073 uuid: f000ccc0-0451-4000-b000-000000000000
attr handle: 0x0074, end grp handle: 0xffff uuid: f000ffc0-0451-4000-b000-000000000000

この中で加速度データに関するサービスの uuid は f000aa10-0451-4000-b000-000000000000 で、 関連する characteristic のハンドル番号は 0x2b 〜 0x35 が割り当てられていることがわかります。

それぞれの characteristic のタイプをみてみましょう。

[78:A5:04:19:6D:DB][LE]> char-desc 0x002b 0x0035
handle: 0x002b, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x002c, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x002d, uuid: f000aa11-0451-4000-b000-000000000000
handle: 0x002e, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x002f, uuid: 00002901-0000-1000-8000-00805f9b34fb
handle: 0x0030, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0031, uuid: f000aa12-0451-4000-b000-000000000000
handle: 0x0032, uuid: 00002901-0000-1000-8000-00805f9b34fb
handle: 0x0033, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0034, uuid: f000aa13-0451-4000-b000-000000000000
handle: 0x0035, uuid: 00002901-0000-1000-8000-00805f9b34fb

"SensorTag attribute table" と見比べていくと、SensorTag で加速度サービスを 使うのに必要そうなハンドル番号は以下のようです。

  • ハンドル番号=0x2d 加速度の読み出し
  • ハンドル番号=0x2e 通知モードの設定
  • ハンドル番号=0x31 レンジの設定
  • ハンドル番号=0x34 計測間隔時間の設定

それでは、gatttool のインタラクティブモードを使って SensorTag を操作するコマンドを以下に記述していきます。

(1) SensorTagとの接続開始

コマンド:connect

(2) 計測値のレンジの設定(ハンドル番号=0x31)

使用するレンジに応じて設定値が異なる。 またデフォルトでは加速度の計測が無効になっていることに注意。 無効 → 0x00(デフォルト) ±2G→ 0x00 ±4G→ 0x02 ±8G→ 0x03

コマンド:char-write-cmd 0x31 01

(3) 計測間隔時間の設定(ハンドル番号=0x34)

計測間隔は最小100ms/最大1000ms(デフォルト)で、設定値は10分の1の値を指定する。 最小とする場合:100ms → 100x0.1=10 → 0x0A

コマンド:char-write-cmd 0x34 0a

(4) 通知モードの設定(ハンドル番号=0x2e)

SensorTag から加速度データの通知の有無を設定する。 通知なし→ 0x0000 (デフォルト) 通知あり→ 0x0100

コマンド:char-write-cmd 0x2e 0100 (通知ありに変更)

コマンド:char-write-cmd 0x2e 0000 (通知なしに変更)

(5) SensorTag との接続終了

コマンド:disconnect

実行例は以下のようになりました。

$ sudo gatttool -i hci0 -b 78:A5:04:19:6D:DB -I
[78:A5:04:19:6D:DB][LE]> connect                     (1)
Attempting to connect to 78:A5:04:19:6D:DB
Connection successful
[78:A5:04:19:6D:DB][LE]> char-write-cmd 0x31 01      (2)
[78:A5:04:19:6D:DB][LE]> char-write-cmd 0x34 0a      (3)
[78:A5:04:19:6D:DB][LE]> char-write-cmd 0x2e 0100    (4)
Notification handle = 0x002d value: 3e 07 f3 
Notification handle = 0x002d value: 3e 07 f3 
Notification handle = 0x002d value: 3d 06 f3 
Notification handle = 0x002d value: 3e 06 f3 
Notification handle = 0x002d value: 3c 06 f3 
Notification handle = 0x002d value: 3d 06 f2 
Notification handle = 0x002d value: 3d 06 f2 
Notification handle = 0x002d value: 3c 05 f4
...(snipped)...
[78:A5:04:19:6D:DB][LE]> char-write-cmd 0x2e 0000
[78:A5:04:19:6D:DB][LE]> disconnect                  (5)
[78:A5:04:19:6D:DB][LE]> exit
$ 

(4)のコマンドを入力すると、加速度データが SensorTag から順次通知されてきます。

gatttool では通知がきた時刻がわからないため、(3)のコマンドで設定した計測間隔100ms なのか確認できません。

そこで、gatttool のソースを修正してリコンパイルしてみました。

$ tar xfJ bluez-5.23.tar.xz
$ cd bluez-5.23
$ cp attrib/interactive.c{,.ORG}
$ vi attrib/interactive.c
$ make

bluez-5.23.tar.xz を bluez.org からダウンロードし、 展開してできる attrib/interactive.c を次のように修正。

修正前

static void events_handler(const uint8_t *pdu, uint16_t len, gpointer user_data)
{
        uint8_t *opdu;
        uint16_t handle, i, olen;
        size_t plen;
        GString *s;

        handle = get_le16(&pdu[1]);

        switch (pdu[0]) {
        case ATT_OP_HANDLE_NOTIFY:
                s = g_string_new(NULL);
                g_string_printf(s, "Notification handle = 0x%04x value: ",
                                                                        handle);
                break;

修正後

static void my_g_string_printf_with_time(GString *s, uint16_t handle) {
        struct timeval myTime;
        struct tm *time_st;
        gettimeofday(&myTime, NULL);
        time_st = localtime(&myTime.tv_sec);

        g_string_printf(s,
                "%d/%02d/%02d %02d:%02d:%02d.%06d Notification handle = 0x%04x value: ",
                time_st->tm_year+1900,
                time_st->tm_mon+1,
                time_st->tm_mday,
                time_st->tm_hour,
                time_st->tm_min,
                time_st->tm_sec,
                myTime.tv_usec,
                handle);
}

static void events_handler(const uint8_t *pdu, uint16_t len, gpointer user_data)
{
        uint8_t *opdu;
        uint16_t handle, i, olen;
        size_t plen;
        GString *s;

        handle = get_le16(&pdu[1]);

        switch (pdu[0]) {
        case ATT_OP_HANDLE_NOTIFY:
                s = g_string_new(NULL);
                /*
                g_string_printf(s, "Notification handle = 0x%04x value: ",
                                                                        handle);
                */
                my_g_string_printf_with_time(s, handle);
                break;

この改造版 attrib/gatttool で実行するとマイクロ秒単位での時刻付きで表示されます。

$ sudo attrib/gatttool -i hci0 -b 78:A5:04:19:6D:DB -I
[78:A5:04:19:6D:DB][LE]> connect
Attempting to connect to 78:A5:04:19:6D:DB
Connection successful
[78:A5:04:19:6D:DB][LE]> char-write-cmd 0x31 01
[78:A5:04:19:6D:DB][LE]> char-write-cmd 0x34 0a
[78:A5:04:19:6D:DB][LE]> char-write-cmd 0x2e 0100
2016/11/12 19:23:26.818633 Notification handle = 0x002d value: fb 02 42 
2016/11/12 19:23:26.886093 Notification handle = 0x002d value: ff 04 42 
2016/11/12 19:23:27.021098 Notification handle = 0x002d value: 00 06 41 
2016/11/12 19:23:27.088594 Notification handle = 0x002d value: 00 06 41 
2016/11/12 19:23:27.223609 Notification handle = 0x002d value: fe 04 41 
2016/11/12 19:23:27.291091 Notification handle = 0x002d value: ff 06 41 
2016/11/12 19:23:27.358580 Notification handle = 0x002d value: ff 03 42 
2016/11/12 19:23:27.493601 Notification handle = 0x002d value: fe 06 40 
2016/11/12 19:23:27.561082 Notification handle = 0x002d value: fe 04 3f 
2016/11/12 19:23:27.696095 Notification handle = 0x002d value: 00 06 41 
...(snipped)...
[78:A5:04:19:6D:DB][LE]> char-write-cmd 0x2e 0000
[78:A5:04:19:6D:DB][LE]> disconnect
[78:A5:04:19:6D:DB][LE]> exit
$ 

目測ではありますが、設定通りに 0.1 秒くらいの間隔で計測データが通知されていることを確認できました。