foresta profonda

眠くない日はない。

Gentoo LinuxでNFSマウントする

まず、cifs-utilsをインストールする必要がある。

# emerge net-fs/cifs-utils

これでマウントしようとすると以下のエラーになった。

# mount //xxx.xxx.xxx.xxx/public /mnt/nfs/
Password for hogehoge@//xxx.xxx.xxx.xxx/public: 
mount error: cifs filesystem not supported by the system
mount error(19): No such device
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

これはcifsをLinuxカーネルがサポートしていないから怒られているようだ。
以下を有効にしたカーネルでマウントするとうまくいった。

File systems  --->
   Network File Systems  --->
      CIFS support (advanced network filesystem, SMBFS successor)

Node-REDでPhilips Hueを操作する

Node-REDで組んだフロー上からPhilipsのHueを操作したくなったので試してみた。ノードは "node-red-contrib-node-hue" というのが公開されているのでコレを使う。

flows.nodered.org

インストールは以下のようにする。ローカルインストールの場合はグローバルインストールのオプション(-g)を消しておく。

$ npm install -g node-red-contrib-node-hue

インストール後、Node-REDを再起動すると、入力用のnode-hue-inと出力用のnode-hue-outが使えるようになる。パレット上に配置して設定画面を開くと、以下のようにHueのブリッジと操作したいランプを指定する。

f:id:rongon_xp:20170623222133p:plain

ブリッジのテキストボックス右にある編集アイコンを押すとIPアドレスAPIキー、あとポーリング時間を指定する画面になる。IPアドレスは自動で探してくれるようなので、ブリッジのボタンを押してAPIキーのテキストボックス横のボタンを押せばAPIキーが代入される。

次に元の画面に戻ってランプの設定を行う。ブリッジの設定直後だとランプが見つからないようだが、しばらく待つとブリッジに接続済みのランプを選べるようになるので、操作したいランプを選べば良い。

基本設定は以上。
ランプを消灯したい場合はfunctionノードで以下のようにすれば良い。

msg.payload =  {
    "on": false
};

return msg;

逆に点灯したいときは以下のようにする。

msg.payload =  {
    "on": true,
    "xy": [0.3393, 0.3316],
    "hsv": [201, 42, 100],
    "hex": "92D8FE",
    "color": "lightskyblue",
};

return msg;

これで他の機器と連携してHueを点けたり消したりできるようになった。

Linuxデバイスドライバ 第4版

オライリーLinuxデバイスドライバ 第4版が発売されるようだ。
ただし、洋書。

Amazon.co.jp: Linux Device Drivers: Jessica Mckellar, Alessandro Rubini, Jonathan Corbet, Greg Kroah-Hartman: 洋書

日本語訳されるのは当分先だろうな...

教団X

結構前になるけど「教団X」を読んだ。

https://www.amazon.co.jp/%E6%95%99%E5%9B%A3X-%E4%B8%AD%E6%9D%91-%E6%96%87%E5%89%87/dp/4087715906www.amazon.co.jp

全体的に小難しく理解するのに時間がかかるので、中盤くらいからストーリー展開に着いていけなくなった。。。

けど、仏教脳科学にもとづいて描かれている世界観はとても印象的で、これから自分の価値観として強烈に意識づけられた表現もあった。正確な表現ではないけど、以下の点はこれからも記憶に残りそう。

・原子の集合体である「私」は日々新しい原子で入れ替わっているのに、「私」というかたちで存在し続けている
・意識より先に体は動いている。意識は「私」というドラマを見ているだけ。

分厚すぎるのでなかなか読み返す気にはならないけど、どこかでまた読み直してみたい。

広告を非表示にする

Raspberry Pi Zero + IRKit + homebridgeで家電コントロール

かなり前に購入したIRKitだが、iPhoneにインストールした公式アプリでエアコンを操作するくらいにしか使っていなかった。
(これだったらエアコン付属のリモコンで十分...)

そんななか、siriで家電コントロールという記事をしばしば見かけ、ふと思い立って自分も試してみることにした。

HomeKitとhomebridge

家電コントロールにはHomeKitをエミュレートするhomebridgeというソフトウェアを使う。

HomeKitはAppleが提唱するスマート家電用のプラットフォームのこと。HomeKit対応機器はiPhoneiPad上のHomeアプリやsiriで操作できる。

そして、homebridgeはHomeKitをエミュレートするNode.jsサーバのこと。IRKitのほかにもPhilipsのスマート照明Hueなど、様々な家電と連携するためのプラグインが公開されているので、Raspberry Piなどにインストールして運用する例がよく見られる。

環境

今回はRaspberry Pi Zeroにhomebridgeをインストールする。

自宅の家電で赤外線で操作できるのはエアコン、オーディオアンプ、そしてお掃除ロボ。こやつらをiPhoneから制御できるようにする。

また、過去の記事にもあるようにRaspberry Pi Zeroには温度センサを接続中。homebridgeのプラグインには温度を取得するものもあり、これを使うとiPhoneiPadのHomeアプリに温度を表示することもできるようだ。面白そうなので併せて試してみる。

インストール手順

というわけでまずはAvahiをインストールする。

sudo apt-get install libavahi-compat-libdnssd-dev

つぎにNode.jsをインストールする。

wget https://nodejs.org/dist/v4.0.0/node-v4.0.0-linux-armv6l.tar.gz
tar -xvf node-v4.0.0-linux-armv6l.tar.gz
cd node-v4.0.0-linux-armv6l
sudo cp -R * /usr/local/

バージョンを確認。

node -v
npm -v

いよいよhomebridgeをインストールする。

sudo npm install -g homebridge

続いてIRKitと温度取得用のプラグインをインストールする。

sudo npm install -g homebridge-irkit
sudo npm install -g homebridge-temperature-file

これでインストールは完了。

設定

具体的にhomebridgeに何をさせるかは/home/pi/.homebridge/config.jsonに設定する。
config.jsonは以下のように設定した。

{
    "bridge": {
        "name": "Homebridge",
        "username": "XX:XX:XX:XX:XX:XX", ※MACアドレス
        "port": 51826,
        "pin": "XXX-XXX-XXX" ※PIN番号
    },

    "description": "my homebridge",

    "platforms": [],

    "accessories": [
        {
            "accessory": "IRKit",
            "name": "アンプ",
            "irkit_host": "192.168.1.200",
            "on_form": {"format":"raw","freq":38,"data":[17421,9061,968,1232,968,3341,1037,1150,1150,1150,1037,3341,1037,123$
            "off_form": {"format":"raw","freq":38,"data":[17421,9061,968,1232,968,3341,1037,1150,1150,1150,1037,3341,1037,12$
        },
        {
            "accessory": "IRKit",
            "name": "ルーロ",
            "irkit_host": "192.168.1.200",
            "on_form": {"format":"raw","freq":38,"data":[6881,3458,843,843,843,2626,843,843,843,935,787,935,787,935,787,935,$
            "off_form": {"format":"raw","freq":38,"data":[6881,3458,843,843,843,2626,843,843,843,935,787,935,787,935,787,935$
        },
        {
           "accessory": "TemperatureFile",
           "name": "温度",
           "description": "The temperature sensor in the livingroom",
           "file_path": "/var/log/temperature.dat"
        }
    ]

Nexus 5xを購入

超今更だけど、Nexus 5xを購入。

f:id:rongon_xp:20161005233741j:plain

Androidの書籍執筆中のため、動作確認用として。
Amazonで30,000円なり。注文して翌日には届いて、素晴らしい。

本当は、昨晩発表されたGoogle Pixelが欲しかったんだけど、
残念ながら日本での販売は現状予定されておらず。

まぁ、常用はiPhoneだし、執筆終わったら引き出し行きになる運命のものを、
10万円近くお金出すのもビミョーなので、これでよかったのかも。

広告を非表示にする

WOWOW「沈まぬ太陽」が面白い

やっぱり山崎豊子の作品は面白い。
小説は途中までしか読んでおらず、ドラマと映画しか観ていないのでにわかファンだけど、大好きだ。

www.wowow.co.jp

内容が航空機事故を取り扱ったものだけに面白いというのは不謹慎だけど、山崎作品はどれも「人間の善悪」がテーマなので、ストーリーが重厚で見応えがある。

確固たる "信念" を持つ主人公と、その主人公と対立するライバルが登場して、信念を貫こうとするが故にライバルや家族、そして自分も悩み苦しむ、というのが山崎作品の軸のように思う。その信念が誰にとっても常に正しいというわけではなく、ときに周りを傷つけてしまうこともあるという人間模様が面白いし、自分の価値観をも揺さぶってくれる。

そんな例に違わず「沈まぬ太陽」も自らの信念を貫き続けようとするがあまり、会社からは煙たがられ家族に苦労をかけてしまう主人公と、そんな主人公と志を共にしていたが、ある出来事をきっかけに袂を分かち出世コースを突き進むことになるライバルという構図が描かれている。

一般社会においてはライバルとして描かれている人物のような生き方を選んでしまう人の方が圧倒的多数だと思う。だからこそ、己の正義を貫こうとする主人公がカッコ良く見えるのだと思う。

さて、「沈まぬ太陽」は2011年の映画版も観たけど、やっぱり数時間の映画でこの巨編を描ききるのは難しいと思った。特に、10年間にも渡る僻地勤務の描写はじっくり時間をかけて描かなければ、主人公の苦しみが伝わりにくい。主人公がアフリカ駐在中、自宅で気が狂いそうになって、剥製に銃を向けるシーンなどがそうだ。その点、今回のWOWOW版では数週間かけて中東編・アフリカ編を取り扱っていたのはとても良かった。

キャスティングも素晴らしく、特に会長室編の悪役俳優陣は最高で、轟鉄也役の高嶋政伸の名演技には感動している。八馬忠次役の板尾創路も秀悦で、とてもごっつで板尾係長をやっていた人とは思えないほどだ…。

半年間の放送もいよいよあと3話で最終話となると思うと寂しい限りだけど、残りの放送を楽しみにしたい。