MENU

RestHouse

音楽サイト「Little Mustapha's Black-hole」の音楽ブログということになっているはずです。

Recent Articles

Category

Monthly Archive

創作日誌 Vol.3

目指せエリオット

ということで、ラズ・コル・ベリー・パイ・タナ(仮)の続きですが。

とりあえず書かないと始まらない(というか終わらない)ので、自動的にアレコレするpythonスクリプトを書いたのですが。

夕方アレコレの自動化スクリプトを書き終わって、夜のアレコレ自動化スクリプトはほぼコピペで出来てしまうことに気付いたり。

でも、こういうものをコピペで作るのはマズいやり方という事でもあるので、共通して使える部分をモジュールとして別のスクリプトから読み込む事に。

だいぶ良くなったので、夜のアレコレ自動化スクリプトを書こうと思ったのですが、これはオブジェクト指向の勉強をした時に出てきた例題にソックリな気がしてきて。
そっちのやり方の方が格好いいのではないか?とか思ったりしているのですが。
でも、ここからさらに書き直すのは面倒になっているので、エリオットにはなれない気がしてきました。

別にならなくても良いのですが、エリオットとは「MR.ROBOT」の主人公のあの人です。


<!-- コルタナの乗っかっているRaspberry Pi Zeroの正式名称をそろそろ考えるべきなのですが、重要度が低いのでやるのを忘れます。-->

<!-- 追記:どうでもイイですが、オブジェクト指向な書き方を短いスクリプトでやるのは大げさという事だ、という事が書いてあったのを思い出したので、今のままでもエリオットになれるかも知れない。-->

進まなくなっている

コルタナが乗っかっているRaspberry Pi Zeroであるところのラズ・コ・ベ・ルタ・リー・ナ・パイ(仮)ですが。

リモコンで照明やエアコンの基本操作をしたり、時間や気温などを喋ったり表示したり、やりたいことは出来るようになっているのです。
あとはそれらを自動的にやってくれるボクのAI!にするだけなのですが。

自動的にやるのって、なんか良く考えたら難しいですよね。

最初は単純に考えてcrontabでやったら良いと思っていたのですが、それだと決まった時間にしか動かないので、自動的だけど、こっちの都合では自動的ではないような。

意味が解らないかも知れませんが、目覚まし時計はセットした時間に鳴るけど、それは自動的に鳴っているのではなくて、私がセットしたから鳴っているのだ、という感覚と言えば解るでしょうか。
私の目指す自動的は、目覚まし時計が私の起きたい時間を推測して、勝手に鳴ってくれるという自動的なのです。

もちろん、そんなことをRaspberry Piでやるのは私には無理に違いないのですが、時間が来たらプログラムを実行するというだけでなくて、もう少し柔軟にしたいとか。
いくつかの条件を決めておいて、それに応じて何かを実行するということなら出来るはずなのですが。

でも、思い付く方法があまり格好良くない感じで。
Pythonの本をさらに読んだらヒントが見つかるのか?とか。

<!-- 前に書いたPythonの本は基本的なところは読み終わって、マニアック編に入りつつあるのですが、今私がやりたいこととはちょっと違うというのもあって、あまり読めてないですが。マニアック編の先は長いので、もしかするとその中にヒントが隠されているかも知れないですね。-->

喋り始めた

スピーカーを接続したラズベリー・コルタナ・パイ(仮)ですが。

ちょっとずつ喋るようになっています。
ちょっとずつというのは、ちょっとずつ学習しているワケではなくて、仕様上ちょっとずつしか喋れないからですが、それはどうでもイイのです。

Googleが文字数制限付きで無料でスピーチ機能を提供しているということですが、いちいちネット経由とか、制限とかアレですし。
コルタナはマイクロソフトだからGoogleはダメなんじゃないか?という変なこだわりもあるので使ってないのです。

それで、ローカルでなんとかなるOpen JTalkを使うことにしました。

基本は男性の声なのですが、音声のファイルをダウンロードすると女性の声にも出来たり。
ただし、色々パラメータを調節してもコルタナっぽい声にはなりません。

そして、恐らくソフトで使っている辞書に載ってないから、ということだと思いますが、英語はあまり得意ではないようです。
なので、英語の混ざったフレーズを喋らせようとすると英語部分はアルファベットで1文字ずつ読むのですが。
なぜかその時は全体的に声が震えているような。
気のせいなのか、どうなのか。


せっかく喋るようになったのですが、こっちの声を聞き取るためのマイクを付ける(USB的)余裕がないので、声で対話とかは出来たりはしないですけど。
(というか、Raspberry Pi Zeroだと音声を合成するのにけっこう時間がかかるので、マイクがあっても対話にははなりそうにない。)

あんまり喋ってばかりもうるさそうですし、いつどんな情報を喋ってもらうのか、考え中です。

<!-- そういえば、男性の声だったらDoomに登場するVEGAっぽいかも、とか思ってしまったのですが、それだとコルタナが乗っかってる意味がなくなるのに気付きました。-->

制作中...

間に合うのかどうかは知りませんが、出来る限りのことはしているのです。

というか、日付が変わってもう23日とか。
その他のことも色々やってないままなので焦りますよね。

あと一週間

マズいと思っているのですが、全然やる気がないのですけど。

一応色々と考えて、しかも書き始めてもいるのですが。
これまで気付いていなかったのですが、ずっと家にいたりすると、アイディアって出てこないようです。
家にいるから、というよりは刺激がないって事なのかも知れませんけど。

とはいっても、今から外に出るワケにもいきませんし、絞り出してひねり出すしかないのですけど。

でもなぜか部屋の片付けだけは捗っているとか。

まいっちゃいます。

最終段階中...

正解はこちら!
201214_01.jpg

ということで、どの問題に対しての正解かは知りませんが極秘に、そして少しずつバラしながら進められていたラズパイで何かを企むやつはコレだったのです。

魔改造版コルタナ?
201214_02.jpg
<!-- LEDを点灯させると股間に光が当たるのは元々の仕様なので、私のせいではありません。-->

何がどうなっているのか?というと、メインはコルタナよりも下の部分なのですが。
Raspberry Pi Zero にこれまで時々登場してきたディスプレイとかリモコンの送受信のとか。あとは湿温度計も付いているのです。

なぜか盛り沢山な感じなのですが、最初の計画ではせっかく光るのに光らせてないコルタナの台座部分のLEDをどうにかする、ということでもありました。

台座を調べてみると、電池から直接並列つなぎになってるだけの簡単構造だったので、ケーブルを取り替えたりする工作をしただけで、あとは基本的なRaspberry Piのエルチカだったのです。
でも、せっかくRaspberry Pi を使うのだから、ということで、どんどん機能が増えていってしまうのですけど。

今のところ全ての機能が調整中でもあるので、どうなるのか心配していて下さい。

<!-- というか、ディスプレイを固定するのに苦労した話を書くはずだったのが、すっかり忘れてました。それはまた今度。-->

出来ている

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

ということで、圧縮チューブがなかなか届かないので、フライングでPythonのクラスに挑戦して、ラズパイにつないだ液晶に文字を表示してみたのですけど。

実行する度にエラーが出てたのですが、間違いがすぐに解るようなエラーだったので、一回ごとに直していったら上手くいきました。

ただ、液晶に文字を表示するサンプルのコードを強引にクラスにした感じなので、ホントにコレであっているのか?とか。
しかも自分で書いたのは「self.」を付け足したところだけ、といっても過言ではないのですけど。

とりあえずは、文字を表示したり、バックライトのオンオフしたりするコードが使い回せるということになったので、色々と液晶を活用出来るはずなのです。

<!-- 液晶に表示されている単語が間違っているような気もするのですが、どうでしょうか。-->

45度

ということで、昨日書いた強く念じるホームですが。

ゴチャゴチャしている机の上を利用して、LEDの付いているブレッドボードを45度ぐらいに傾けて置いて使ってみたら、一発で照明が消えました!

というか、上手く動くようにするというのは、そういうことではない気もしますが。
でも結構部屋の端の方にある場所からちゃんと使えたということは、光量はそれなりということなのかも知れません。

とはいっても、コレだとLEDのが向いている方向の機械しか動かせないですし。
今の所LEDが2つ付いているので、それぞれに角度をつけたら2つの機械ぐらいは動かせるかも知れませんけど。

LED四つを四方向に向けるのが一番良さそうなのですが、これ以上LEDを増やすには回路を難しくしないといけないとかで。

もっと簡単に出来ると思ってたのですが、スマートホームにするためにはスマートにやらないとダメみたいです。

強く念じるホーム

ということで、最近のラズパイなのですが。
というか、ラズパイで何かをしてることをここに書いていたか忘れてますが、何かをしているのです。

その中の一つにラズパイをリモコン送信機にして家電を操作しよう!というのがあるのです。

上手くいけば温度計モジュールとかと連携して、室温によって自動的にエアコンのスイッチが入ったり、時間で照明をオンオフしたり。
スマートホームが激安で出来てしまうのです。

それで、色々と調べて、家電のリモコンのコードをラズパイで読み取ったり、読み取ったものを送信するのに赤外線のLEDを点滅させたりすることは出来るようになったのです。

それって、もう完成じゃん!って感じなのですが、試しに照明を動かそうとしても、LEDが受光部まで届いてないのか、上手く動きません。
でも照明の方に向きを変えて何度かやると上手くいくのですが。

いちいち向きを調整しないといけないとか、全然スマートじゃないですし。
LEDの光を拡散させるキャップというのを試してみたのですが、今度は光が弱くなって向きを調整しても動かなくなりました。

なんか、これはテレビのリモコンが壊れた時に、ボタンを押しながら「つけー!」って念じている時みたいな状態だったりするのですが。

あんまり念じていると、私のサイキックな力が強化されて、念力で家電が動かせるようになったりするかも知れませんが。
それはないと思うので、ちゃんと動かす方法を考えないといけません。

ジェネレータジェネレータ

この前のBlack-holicの開設記念日回で書くはずだったのに忘れてたので、ここで補足なのですが。

今回の「何時だか解らないCanvas時計」のために作った、JavaScriptを書くためのJavaScriptとか書いてたやつです。
201112_01.jpg

「チヘソユフチホテ・ジェネレータ」に表示するドット絵的なカタカナを表示するための座標情報をコピペするためのものなのですが。

我ながら上手く行ったと思っているので、ここに書いておくのですけど。

最初は方眼紙のマスを塗りつぶしてやろうと思っていたのですが、「ア〜ン」までをそれでやるのは大変すぎるので、こうなっております。

上のマス目で表示したい点をクリックすると、下にその場所の対応した座標が表示されるという趣向になっております。

説明したところで他に使いみちはないですけど。

とにかく、JavaScriptも結構面白くなってきたので、「何時だか解らないCanvas時計」の後もちょっとなにかを企んでたりするのです。

<!-- 公開されることはないと思いますが、面白いのが出来たらまたここで紹介して自己満足に浸るのです。-->

<!-- 追記:読み返して気づいたのですが、「ア〜ン」というのはア〜ンって言ってみたいに思えますね。でも「ア」から「ン」までという意味ですよ。-->

勝手に直った なぜ

というキーワードで検索したらもっと意味が解らないはずですが、さっきの続きなのです。

試しに別のブラウザで表示したら、上手く表示されてるのが解って、さらにワケが解らないという感じだったのですが。
メインのブラウザを再起動したら、こっちでも上手く行ったのです。

推測ですが、原因を考えてみたりしますけど。

テスト用の環境で使っているサイト全体用のCSSファイルがシンボリックリンクだったのですが、それの元ファイルがなくなっていたのです。ブラウザではキャッシュの方を使っていたのか、なぜかちゃんと表示されてたのです。

そこに今回のCSSファイルに変更を加えたら変になってたっぽいですが。

これを読んでもワケが解らないと思いますが「効かない なぜ」で検索するような人の参考になるかも知れませんし。

解らなくなったら何でも再起動が基本ということですね。
<!-- でも再起動の前に、なくなったら困るものがないか確認も忘れずに。-->

CSS 効かない なぜ

これで検索しても答えが解るとは思えないですが、せっかく上手く行ってると思ったのに、思わぬところで躓いているのです。

Little Mustapha's Black-holeの登場人物の紹介コーナーを変更してGlossaryにしたのは前回の模様替えだったと思いますが。
変えてから、個別の項目にリンクが出来なくて、一部からは改悪との意見もあった、という設定になっていたので、直したのです。

見かけでは、ちょっとの変更ですが、データベースの仕様を変えたりして、中身的には全とっかえなのですが。

それは上手く行ったのでどうでも良かったりするのですけど。
簡単なはずのCSSが変だったりして。

一番簡単な形式と思われる、タグ名にスタイルを適用とかで試してもダメですし。

こういう時は、単純なところで間違えているに違いないですし、そこに気づいた時にはモヤモヤしてしまうのですけど。

しかし、もうけっこうな時間悩んでますし、今回の単純な間違いはかなり難解な単純さかも知れないです。

出来た?

ということで、Little Mustapha's Black-holeの開設記念日が近づいているので、トップページの模様替え作業が続いているのですが。

今年はまだプロ野球のシーズンが終わってなかったりするので、もうすぐ10月31日という実感が全く無いのです。

なので、ぼんやりとした感じで作業をしていて、多分出来てるけど、なんか違うような気もするという感じで良く解らないのですが。

多分、今夜の日付が変わってからではなくて、明日の更新になるでしょう。


<!-- それとは全く関係ないのですが、Google日本語入力はマニアックなワードとか最新のネタみたいなのには強いのですが、文脈から判断みたいな変換はやっぱりATOKが優れているようです。なので、最近書いた文章を読み直してみると、解りやすく誤変換しているのが多いです。-->