毒食らわば皿まで

RPiと言えばraspbian=debian直系。そしてdebianと言えばPython。今はどうか知らんがひと頃、この方面には厄介な輩が多かった。それにとりたてて興味もなかったので、Pythonには長いこと近づかずにいた。

その後PostgreSQLの関数を書くのにPL/pgSQLではあんまりだと思い、勉強を兼ねてPL/Pythonを使ってみた。が、あれがないこれができないの連続でイライラ、そしてトドメは「三項演算子がない!」でテンション急降下。いちおう動くところまでは持っていったが「これ以上深入りはすまい」と心に誓ったものだ。

あの日から10年。そのRPiをいじっちゃいるがPythonはちょっと、という思いからPHPとCだけでここまで来たが、さすがにそうも言ってられなくなってきた。そこで再度調べてみたら、2.7でその三項演算子がインプリメントされたというではないか。まあ例によって変な書式だが、あるとないとでは大違い。本業の方でもいよいよ無視できないところに来ているし「ここはいっちょ再履修しますか!」という気分に、ようやくなったところ。

ただ、公私あわせこれで日常的に接する言語が9種。「浅く広く」という、俺的には最も忌まわしい状況になりつつある。何するにもCとアセンブラだけだったあの頃が懐かしい … あ、その前にBASIC乱立な時期があったなー。今の状況って、これと良く似ている気が。時代は巡るという事かな。俺にはよくわからん。うーん ….

まだまだLチカ段階だが

世の中を見渡すと、RPiでのサンプルはその殆どがPythonかRubyかCで書かれている。そしてどれもみなループの途中にsleep(1)を挟んで、というやり方。

むろんそれはそれでいいんだが、これだと点灯もしくは消灯させるという動作にかかる時間が考慮されていない。なので正確に言うと「1秒間隔で点灯・消灯」ではなく「点灯・消灯後に1秒待つ」となる。これをキッカリ「1秒毎」とするにはどうすれば良いのか?  今回はそれを、使い慣れたPHPとPHP-GPIOで実践した結果を備忘録がわりに。

答えから先に言うと、1秒間隔でその処理を別スレッドで実行して貰うようにすれば良い(というかそれしかない)。しかし現在のraspbianに含まれるPHP5.4にはこの機能がないので、拡張機能「Ev」をPECLで導入する。あとはEvのマニュアルを参考に、EvPeriodicあたりで。

# ネットに関連情報が少ないのは、PHPでこういう事をする人がいないから?

さて「Lチカを1秒間隔で」ぐらいならこれで充分だが、処理の内容が「データベースにアクセス」とか「リモートホストにデータを送信する」とかになってくると、それが確実に1秒以内に完了するようにするか、さもなくば処理が完了するまで次の処理を行わないようにしなければならない。またこれよりクリティカルなタイミングを要求される局面では、より正確なタイマーと、高い優先度での実行が必要となる。

実はこれ、いま企てているモノでは非常に重要なところでもある。どこまでの精度が必要となるのか、どういう実装とするか、これからじっくり考えることにする。

Super weapon 導入!

superWeaponその昔、ルーペ付きのスタンドでハンダ付けしている奴を見て「あーははは、なさけねー!」と笑い者にしていた俺は、なんてイヤな野郎だったんだろうと思う。先日も書いた通り、視力がここまで低下してはもうプライドがどうこう言っちゃおれない。観念して、そのルーペ付きスタンドを注文した。そんな高いもんじゃなかったし。

それが本日届いたので、組んでみたところ。クリップされているのが鼻炎薬なのは、別にこれを加工しようと考えたわけではない。たまたまそこにあったから(この季節の必需品)。ウ~~~~ン、かっこいい! やる気がモリモリっとキター。今日はしないが。

そういや俺の知人に工具フェチがいて、何も作らないのに部屋中こういうのだらけだった。なんかアイツの気持ちがわかった気がする。ま、次の出番は当分先の予定だが、これならイケそう。楽しみになってきたぞっと!

子供と魔法とわたしと東京文化

昨日は東京文化会館で、マエストロ・オザワの「子供と魔法」を堪能してきた。前半はナタリー・シュトゥッツマンの指揮でベト2。若いオケと
若い曲、それにナタリーさんのヒップ意欲とがマッチしてナカナカ。

# 3楽章に入る前に奏者の配置転換をしたのは音楽塾ならでは?

そしていよいよ後半はラヴェル。オペラ・ドラマティコ形式での上演とあったので歌手もオケもステージで、と思っていたら、休憩時間にピットが沈んでステージには豪華なセットが出現。字幕もついて、普通にオペラだった。

そしてマエストロの無事登場からは、ラヴェルの描いた夢物語の世界にどっぷり。小澤征爾さんの後ろ姿が語り部という感じで、ステージよりもむしろそちらを見ている時間の方が長かったかも。そして静かに幕。

演奏も素晴らしかったが、もうひとつ思ったのは「やはり東京文化の響きが好き!」。ラヴェルに限らず、俺の好きな方面の曲はこういう鳴りでなきゃアカンのよね。またここでシャキッ! とした音が聴きたいという期待感も膨らませてくれた一夜。いろんな意味で楽しかったわホント。

※ 終演後、世界的なフランス人テナー某氏が一人で楽屋口から出てきて、そのままJR山手線へ! すっかり日本慣れしておいでの様子。

工作も好きなわたし

啓蟄を過ぎ、俺の中でも電子工作の虫が久々に蠢きだした。以前TA2020でデジタルアンプを作った時以来だから、実に12年ぶり。尤もあれはキットにガワを被せた程度のものだったので、特に創意工夫があった訳ではない。

Junk!
301F (3.69mm, f/2.2, 1/24 sec, ISO150)
その残骸

 

今回はRaspberry PiのGPIOを使って「ある」事をする(予定)。が、いきなり回路図書いて動かしてができるほどの知識はないので、ここは基本からと所謂「Lチカ」から始める事にした。ブレッドボードも紛失していたので新たに購入。そして取り回しが楽なようにと「ブレッドボード接続T型基板」なるものを注文したのが届いたので開けてみたら、キットだった。いきなりハンダの登場である。

まあハンダ付けは得意な方だったので「しょうがねぇなあ」ですぐに取り掛かろうと思ったら、吸い取り器とスタンドが見当たらない。やむなくペンチで基板を押さえて開始したところが、ここでハマった。見えないのだ、端子が。今やメガネなしでは本も読めない体になっていた俺に、1.0mmのハンダ付けはあまりに困難だった。

ハンダが雑なのはご愛嬌

焦りで手が震え、額からは大粒の汗。それでもどうにか全部の端子(80箇所!)に流し込み、RPiと接続してLEDが点灯するのを見てひと安心。更にピンを#25に繋ぎ変え、WiringPiのgpioコマンドで点灯と消灯も確認。これをスクリプトからやればLチカ完だが、疲れたのでそれはまた明日以降。先は長い。

# この基板挿すには、ブレッドボードが小さかったね …

C.Debussy “Berceuse heroïque pour rendre hommage à S.M. le Roi Albert Ier de Belgique et à ses soldats”

昨日「春らしく」とか言った舌の根も乾かぬうちに、この時期ならではのをもういっちょ。ドビュッシーの「英雄的な子守唄」。

作曲の経緯とか背景とかタイトルの長さとかはさておき、陰惨というのを絵に書いたらこうなりました、みたいな曲。夜中に大音量で聴いたらトイレに行けなくなるかも。

「印象主義」って括り、好かんがこれなど正にその典型。初めて聴いたのが大学受験で第一志望に落ちた時で、そのあまりのハマリ具合に笑ったもんだ。

4年前、あの日の俺

俺が日頃「あの日から」と言う時の「あの日」というのが3.11を指す様になって、今日で丸4年。今回はあの日、あの瞬間の俺がどういう有様だったのかを記しておこう。

あの日は夕方から都内で打ち合わせの予定が入っていたので、その準備のためPCに向かっていた。その時「ズン!」という衝撃と、それから少し間を置いて「ズズズッ」という感じの大きな揺れが襲ってきた。するとその直後「バチッ」という音と共に停電、PCの電源が落ちてしまった。それまでにも大きな地震は幾度も喰らってきたが、こんな事は初めてである。

そのうち書棚が倒れそうなほどに揺れが酷くなり、立ち上がってそれを手で支えた。ベランダの窓越しに外を見ると、送電線が狂ったように踊っている。ヘタするとこのマンションも崩落するかもしれないと感じ、足が震えてきた。そして「もしここでベランダの窓が割れたら外へ逃げるべきか、それともここにいるべきか」とそんな事を考えているうちにようやく揺れが収まり、静かになった。

「これは大きな被害が出ているに違いない」と思ったが、TVはつかないし携帯も使い物にならない。そこですぐに上着を纏い、駐車場へ走った。目下クルマのラジオだけが頼りなのだ。だがこの時点ではまだ情報が錯綜していて、わかったのは東北地方が震源で、この付近の震度が5以上というところまで。都内にいるであろう息子の事が心配になったが、どうしようもない。

と、ここで燃料計を見ると、E間近で既に警告ランプが点いている。GSにはクルマが殺到しているだろうし、どうしたものかと思っていたら、またそこへドアに肩があたるほどの大きな揺れがきて、歩道を歩いていた女性の悲鳴が聞こえた。もしここでクルマを出したらどこかで地割れに飲まれるかも、とこの時は真剣に考えた。最悪今夜はクルマの中で過ごす事になるかもしれないと思い、エンジンを切りラジオだけにして情報を待つ事にした。

ところがそれから約1時間後、そのラジオがぷつっと切れてしまった。アーッと思ったがもう手遅れ。バッテリーがあがってしまったのだ。やむなくここで部屋に戻る事にした。いつでも逃げ出せるようにと土足のまま玄関から上がり、非常用の手回しラジオを探し出して必死にハンドルを回した。ノドが乾いたので水を、と思ったが、なんと水道も出ない。仕方ないので再度外に出た。多くの人がリュックと毛布を手に、同じく駅に向かっていた。1台しかない公衆電話には長蛇の列。自動販売機で飲み物を買って戻った。

そのうち暗くなってきたが、停電しているので暖房器具が一切使えない。仕方なく台所に椅子を置き、ガスの火で暖を取った。ラジオではまだ「火を消してください」とか言っていたが、そんな事言っちゃおれない。するとそのうち、放っておいた携帯に息子からメールが、そして実家からは無事かと電話が入った。少しホッとしたが、相変わらず家の中は真っ暗、情報は手回しラジオのみという状況である。どうやら停電はこの一帯全部なようで、カーテンを開けても閉めても真っ暗。音もせず、なんとも心細い気分なところへ、疲れがどっと押し寄せてきた。だがまだ何が起こるかわからないし、今日はずっと起きていようとも考えていた。

が、そのうち疲れも増してきて「もうどーにでもなれ!」という気分になってきた。ガスの火を消し、頭から毛布にくるまって缶チューハイを一気に呷った。そして椅子に座ったまま、眠りにおちた。この時点でまだ20:00頃、土足のままである。

「パチッ」という音で目が覚めると、頭上のシャンデリアが灯っていた。時計をみると23:00。「ああ無事だったか」と思いつつTVをつけると、信じられないような光景が次々。あまりの事に、TVの前に立ったまま動けなくなってしまった。そのうち電車が動き出したとの一報があったので、駅まで息子を迎えに行った。改札に向かってくる大勢の人の中に、コイツの姿を認めた時の気持ちは忘れられない。

… あれから4年。忘れられない一日。きっとこの先も忘れる事はないだろう。