あるいは出来ている事になっている。

ということで、圧縮チューブがなかなか届かないので、フライングでPythonのクラスに挑戦して、ラズパイにつないだ液晶に文字を表示してみたのですけど。
実行する度にエラーが出てたのですが、間違いがすぐに解るようなエラーだったので、一回ごとに直していったら上手くいきました。
ただ、液晶に文字を表示するサンプルのコードを強引にクラスにした感じなので、ホントにコレであっているのか?とか。
しかも自分で書いたのは「self.」を付け足したところだけ、といっても過言ではないのですけど。
とりあえずは、文字を表示したり、バックライトのオンオフしたりするコードが使い回せるということになったので、色々と液晶を活用出来るはずなのです。
<!-- 液晶に表示されている単語が間違っているような気もするのですが、どうでしょうか。-->
ということで、昨日書いた強く念じるホームですが。
ゴチャゴチャしている机の上を利用して、LEDの付いているブレッドボードを45度ぐらいに傾けて置いて使ってみたら、一発で照明が消えました!
というか、上手く動くようにするというのは、そういうことではない気もしますが。
でも結構部屋の端の方にある場所からちゃんと使えたということは、光量はそれなりということなのかも知れません。
とはいっても、コレだとLEDのが向いている方向の機械しか動かせないですし。
今の所LEDが2つ付いているので、それぞれに角度をつけたら2つの機械ぐらいは動かせるかも知れませんけど。
LED四つを四方向に向けるのが一番良さそうなのですが、これ以上LEDを増やすには回路を難しくしないといけないとかで。
もっと簡単に出来ると思ってたのですが、スマートホームにするためにはスマートにやらないとダメみたいです。
ということで、最近のラズパイなのですが。
というか、ラズパイで何かをしてることをここに書いていたか忘れてますが、何かをしているのです。
その中の一つにラズパイをリモコン送信機にして家電を操作しよう!というのがあるのです。
上手くいけば温度計モジュールとかと連携して、室温によって自動的にエアコンのスイッチが入ったり、時間で照明をオンオフしたり。
スマートホームが激安で出来てしまうのです。
それで、色々と調べて、家電のリモコンのコードをラズパイで読み取ったり、読み取ったものを送信するのに赤外線のLEDを点滅させたりすることは出来るようになったのです。
それって、もう完成じゃん!って感じなのですが、試しに照明を動かそうとしても、LEDが受光部まで届いてないのか、上手く動きません。
でも照明の方に向きを変えて何度かやると上手くいくのですが。
いちいち向きを調整しないといけないとか、全然スマートじゃないですし。
LEDの光を拡散させるキャップというのを試してみたのですが、今度は光が弱くなって向きを調整しても動かなくなりました。
なんか、これはテレビのリモコンが壊れた時に、ボタンを押しながら「つけー!」って念じている時みたいな状態だったりするのですが。
あんまり念じていると、私のサイキックな力が強化されて、念力で家電が動かせるようになったりするかも知れませんが。
それはないと思うので、ちゃんと動かす方法を考えないといけません。
この前のBlack-holicの開設記念日回で書くはずだったのに忘れてたので、ここで補足なのですが。
今回の「何時だか解らないCanvas時計」のために作った、JavaScriptを書くためのJavaScriptとか書いてたやつです。

「チヘソユフチホテ・ジェネレータ」に表示するドット絵的なカタカナを表示するための座標情報をコピペするためのものなのですが。
我ながら上手く行ったと思っているので、ここに書いておくのですけど。
最初は方眼紙のマスを塗りつぶしてやろうと思っていたのですが、「ア〜ン」までをそれでやるのは大変すぎるので、こうなっております。
上のマス目で表示したい点をクリックすると、下にその場所の対応した座標が表示されるという趣向になっております。
説明したところで他に使いみちはないですけど。
とにかく、JavaScriptも結構面白くなってきたので、「何時だか解らないCanvas時計」の後もちょっとなにかを企んでたりするのです。
<!-- 公開されることはないと思いますが、面白いのが出来たらまたここで紹介して自己満足に浸るのです。-->
<!-- 追記:読み返して気づいたのですが、「ア〜ン」というのはア〜ンって言ってみたいに思えますね。でも「ア」から「ン」までという意味ですよ。-->
というキーワードで検索したらもっと意味が解らないはずですが、さっきの続きなのです。
試しに別のブラウザで表示したら、上手く表示されてるのが解って、さらにワケが解らないという感じだったのですが。
メインのブラウザを再起動したら、こっちでも上手く行ったのです。
推測ですが、原因を考えてみたりしますけど。
テスト用の環境で使っているサイト全体用のCSSファイルがシンボリックリンクだったのですが、それの元ファイルがなくなっていたのです。ブラウザではキャッシュの方を使っていたのか、なぜかちゃんと表示されてたのです。
そこに今回のCSSファイルに変更を加えたら変になってたっぽいですが。
これを読んでもワケが解らないと思いますが「効かない なぜ」で検索するような人の参考になるかも知れませんし。
解らなくなったら何でも再起動が基本ということですね。
<!-- でも再起動の前に、なくなったら困るものがないか確認も忘れずに。-->
これで検索しても答えが解るとは思えないですが、せっかく上手く行ってると思ったのに、思わぬところで躓いているのです。
Little Mustapha's Black-holeの登場人物の紹介コーナーを変更してGlossaryにしたのは前回の模様替えだったと思いますが。
変えてから、個別の項目にリンクが出来なくて、一部からは改悪との意見もあった、という設定になっていたので、直したのです。
見かけでは、ちょっとの変更ですが、データベースの仕様を変えたりして、中身的には全とっかえなのですが。
それは上手く行ったのでどうでも良かったりするのですけど。
簡単なはずのCSSが変だったりして。
一番簡単な形式と思われる、タグ名にスタイルを適用とかで試してもダメですし。
こういう時は、単純なところで間違えているに違いないですし、そこに気づいた時にはモヤモヤしてしまうのですけど。
しかし、もうけっこうな時間悩んでますし、今回の単純な間違いはかなり難解な単純さかも知れないです。
ということで、Little Mustapha's Black-holeの開設記念日が近づいているので、トップページの模様替え作業が続いているのですが。
今年はまだプロ野球のシーズンが終わってなかったりするので、もうすぐ10月31日という実感が全く無いのです。
なので、ぼんやりとした感じで作業をしていて、多分出来てるけど、なんか違うような気もするという感じで良く解らないのですが。
多分、今夜の日付が変わってからではなくて、明日の更新になるでしょう。
<!-- それとは全く関係ないのですが、Google日本語入力はマニアックなワードとか最新のネタみたいなのには強いのですが、文脈から判断みたいな変換はやっぱりATOKが優れているようです。なので、最近書いた文章を読み直してみると、解りやすく誤変換しているのが多いです。-->
大変なことになりそうだった昨日の思いつきなのですが、JavaScriptを書くために書いたJavaScriptのおかげで大体できた感じになっているのです。
おかげで今回のCanvas時計はかなりバカげた事になっているのですが。
そして、その他の模様替え要素は全く進んでないという事もありますけど。
今回のアレはベータ版から公開ということになったりするかも知れません。
ヤバいので技術部ソコノこと曽古野貴美じゃないんじゃないか?ってことですが。
JavaScriptの季節なのに、すごく面倒なことを思いついてしまったのですが、JavaScript を書くためのJavaScript を書けば出来る!とか思って頑張って作ったら、それは出来たのですが。
果たしてコレをやるだけの価値があるのかは解らないですし、間に合わない気もしてきましたが。
せっかく書くためのJavaScriptを書いたので、使わないともったいないとかもありますし。
あと3日でなんとかなるのか?
まあ、ならなくてもどうということはないのですが。
私としては締切に追われて、なんとか間に合った方が達成感がありますから、そうしたいのです。
昨日のbeginPath()に続いて、という感じですが。
綴りが間違っていただけなのに気づかずに、一時間以上原因を考えてたりしましたが。
こういう時ってなぜかブラウザのコンソールではエラーにならないんですよね。
JavaScriptでも他の関数とかだと、そんなのありません、とかエラーが出るんですけど。
Canvasに使われる関数みたいなのは、なくても気にしないという感じで、何事もなかったように動いている。(というか、間違っているので動いていないのですが。)
と、ここまで書いて気づいたのですが、今日の場合は「ホニャララ = "ハニャララ"」というところを間違えていたので、JavaScript的には普通に変数を宣言したことになってる、ということなのか。
なので何事もないですし、エラーにはならず無事に動かないのでした。
それはともかく、最近は何をしているのか解りやすいように変数名とか関数名を長めにしているのですが、そうすると綴りを間違えたりして。
上手い名前の付け方を考えないといけませんです。
ということで、何時だか解らないCanvas時計の季節ですが。
時間がないのに基本的なことが解らない...、とか思ってたのですが、良く見たらbeginPathに()をつけ忘れてた(あるいはbeginPath()を書く場所を間違えてた、かも知れないけど、両方を一気に直したのでどっちが原因か解らない)ということでした。
こういう間違いは毎回必ず起こるのですが。
ブラウザーのコンソールだとエラーにならないから原因が解るまで大変なのです。
そんな感じなのですが、beginPath()の間違いのせいでCanvasで描く図形の色が変わらなかったので、原因を探るために色が解りやすいように図形ごとの色をそれぞれ原色系の違う色にしていたのです。
それで、問題が解決してちゃんと色が変わるようになったら良い感じでカラフルだったり。
ヨーロピアンなメーカーがやりそうな色使い、あるいはアフリカンアートというか。
良い感じではあるのですが、これはLittle Mustapha's Black-holeには眩しすぎるのさ、ということなので、最終的にはダークになりますけど。
そして、あと一週間で間に合うのか?とかも。
JavaScriptの季節がギリギリになってないか?ってことなので焦っているのですが。
慌てて書くと後からゴチャゴチャになるような気がするので、作るのに必要な項目を書き出してみたりして慎重にやってるのです。
でもどうせ後から足りないものに気づいてゴチャゴチャになるというオチも期待できますが。
それよりも、今回は書き始める前に最近のJavaScriptについて調べたりしてたので、どういう書き方をするのが良いのか迷ってなかなか先に進めないとかもありますけど。
自分で書いたとおりに動いただけで盛り上がっていた初心者のテンションで出来たら楽しいんですけどね。
<!-- そして、書き出しのところで久々に技術部ソコノこと曽古野貴美が登場するんじゃないか?って思ったんじゃないか?ってことですが、気持ちに余裕がない時はなかなか出てきません。-->
プロミスと聞いてワカパイを思い出してしまう人がJavaScriptを書くのは難しい。
というネタはどうでも良いのですが、そろそろJavaScriptを書く季節になってきたので、実際に使うか解らないけどPromiseというか非同期処理みたいなのを調べたりしているのです。
前にベランダ温湿度計のデータを取り込んで色々やろうと思った時に非同期処理が必要になったのですが。
その時はワケがわかないままサンプルを写しただけみたいなことになってました。
何が解らなかったのか?というと、参考になりそうなページとかを読んでも、それぞれ違うことが書いてあって、どれが正解なのかわからないということだったのですが。
その後色々と勉強して解ったのですが、書き方が違ってもやってることはみんな一緒だったというのにやっと気づいたのです。
なのでちょっとは理解したと思っているのですが、実際に自分で書くコードの中で使えるのか?というとビミョーなのです。
<!-- というか、JavaScriptはいつの間にか色んな書き方が出来るようになって、初心者は混乱するに違いないって感じですが。-->