何故かこれをやったら完成した気分になったりするのですが。
かつてラ・イパルタ・コルベリーナと呼ばれていたインチキ・スマートホームの新しい名前が発表されるのです。
その名も「パコリタ・ナラ・ズイルベー・Zero」通称パコリタちゃん、あるいはパコベーです。
そしてイメージ画像も。
ついでにファビコン的なものも作ったので、スマホでホームに追加をやると、パコリタちゃんがアイコン的に表示されるのです。
最初はマギー司郎の喋り方に似ているということで、マギーにしようかと思ったのですが、マギーというと美しいマギーさんもいたりするので、女性の声で喋るコンピューターに「マギーちゃん」とか呼び掛ける私は変態事案なので却下でした。
そして、パコリタちゃんですが、出身は山奥の村で、大学進学と同時に都会へやってきて、卒業後はナンデ君の通う学校の先生になったという設定になってたりもするのです。
せっかく絵を描いたので、そうなりました。
専門は英語ということですが、英語の発音もビミョーというか、解らない単語は全部アルファベットで読む* といわれています。
面白いですね。
<!-- *)登録されてない単語をアルファベットで読むのは Open JTalk の仕様でもあるのです。-->
という感じで、細かいところが気になるのですが、もうお腹いっぱいな感じになってきたので、このインチキ・スマートホームは完成ということにしておきます。
さっき先走ったやつの続きですが。
スマホ用のレイアウトを作るの面倒だ!
と思っていたのですが、CSS で Flexbox を使ったら結構思ったとおりになりました。
というか、元のパソコン用の方もFlexboxでやってたら、ほとんど書き直さないでスマホ用が作れたような気もしますが。
これからは困った時にはFlexboxにしたら、大抵のものは綺麗に並ぶということです。
それとは関係なく、パソコン上の疑似スマホ画面では上手く収まっているので、実際にスマホで見てみると縦がはみ出していたりするとか。
各要素の高さをパーセントで指定して100%より少なくなっているはずなのですが。
スマホ用はパソコン用のコピーを編集する感じで作っているので、パソコン用の方にスマホで上手く行かないような何かが書かれているに違いないです。
CSSもゴチャゴチャしてきているので、こういうのを見つけるのも大変だったりしますけど。
<!-- もしかするとLittle Mustapha's Black-holeを作る時より頑張っている気もするのですが、使うのは私だけとか。でも自分が使うものにこだわるのも良いですよね。-->
新しい名前を決めたけどまだナイショのコルタナの乗っているラズパイ、またの名をラ・イパルタ・コルベリーナ、あるいはインチキ・スマートホームですが。
スマホ用のレイアウトを試す時には何度も再読み込みするので、その度にラズパイのデータを取得するとサイバー攻撃状態になってしまうので、JavaScriptをオフにしているのです。
それで作業をしていると寒くなってきたのですが、パソコンではJavaScriptをオフにしているのでリモコンの操作もできないとかで。それで、まだレイアウトができてないけど、スマホでアクセスしてエアコンをオン!
すると動いたのです!
さらに、オンになったあとに、ブラウザの表示でもエアコンがオンになったランプが点灯(しているように見える演出)している!
全部パソコンでは出来ていた事なのですが、なぜかスマホで出来ると嬉しかったりして。
ついでに書くと、パソコン用のレイアウトのままでも結構いけてたりするのですが。
もうちょっとこだわるのです。
なぜかヤッター!ってならないのは何故か?という感じの、ラズパイのインチキ・スマートホームをブラウザから操作するやつです。
ついに、照明を点けたり、消したり、それからエアコンも点けたり、消したり出来るようになったのです。
でもスッキリしないのが、照明がオンの状態の時には、オンにするボタンをクリック禁止のカーソルにしたいのですけど。
コードがゴチャゴチャ過ぎて、どこを直したら良いのか解らないのです。
一応、オンの時にオンをクリックしても何も起きないようには出来ているので、かなり惜しいという気もするのですが。
修正するのに色々書き換えないといけないようなら、これで第一弾は完成で良いかな?とか。
そうなると、これからコルタナをはずして、コルタナはコルタナで予定があって、コッチのラズパイも色々と企みがあったり大変なのですが。
最近はラズパイ周辺が充実しているのです。
<!-- そして、また書いている途中に消灯時間になったので、ラズパイが喋ってお知らせしてくれたのですが。やっぱり癒やされるビミョーな日本語です。-->
というか、終わらせたいのですが。
今のところコルタナの乗っかっているRaspberry Pi Zero でインチキ・スマートホームの続き。
ブラウザでいろいろ操作できたらそれは素晴らしい事に違いない、というやつは昨日からあまり進んでいないような。
JavaScriptのコードはかなり書いたのですが、実際にリモコンを動かすための部分じゃなくて、オンにしたらボタンが光る(ように見える)機能とかを書いてたらヘトヘトなのです。
しかも、一つ終わって次を始めるたびに、これってさっき書いたやつとスゴく似てるとか思って、これは絶対にClassとかを使って書くべきとか、今になって気付いたのですけど。
作りながらやることを決めたりしているので、最初の段階でそんなことに気付けるはずもないとも思いますが。
やることはあと少しなので、このまま似たようなものを追加していくのです。
もしも、書き直したらどのぐらいスッキリするのか、あるいはしないのか?というのも気になったりします。
<!-- 終わったとしても、さらにスマホ用のレイアウトを作らないといけないのである!-->
余計な部分だけはかなり出来てきました!
ということで、早くラ・イパルタ・コルベリーナじゃない名前にしたいラズパイのインチキ・スマートホームですが。
昨日完成した、真ん中の一番面積の大きい部分はラズパイの稼働状況が表示されているのですが。
これは、なんというか「これって必要?」って事ですよね。
まあ、そろそろ再起動すべきか?とか、そんな気分になるような情報もありますけど。
<!-- ベランダで気温と湿度を記録しているほうのラズパイはもっと長い期間起動しっぱなしなので、気にしなくても良いのかも知れませんが。-->
そして、一番下の部屋の気温と湿度はダミーだったのが、実際の数値になっているのです。
さらに、そのちょっと上の三つならんだ青いマルは、コルタナ部分に点いているLEDをオンオフするボタンなのです。
もともと、このLEDをラズパイから操作するのが目的で、コルタナのフィギュアとラズパイが繋げられたのですけど。
他のことをやりたくなったらコルタナが邪魔になってるとか。
コルタナ部分をはずしても他のLEDをつなぐので、この機能は無駄ではないですし、はずした後にもいろいろと企んでいるので、大変です。
そんな感じですが、ブラウザで操作するために、ラズパイにインストールしたサーバのユーザーがどんどん偉くなっているのです。
偉いとはどういうことか?という感じですが。
ラズパイのlighttpdというサーバの場合は、www-dataという名前のユーザーがサーバを動かしているということになっているのですが。
最初はサーバを動かすための最低限の権限しかないので、温度センサとかLEDにアクセス出来なかったりするので、権限を与えて偉くしているのです。
これが外部のネットワークとつながっているサーバだったら怪しい感じもしてきますが。
でも本物のスマートホームとかは、外のネットワークとつながってますし、実際に外から家の中の家電を動かしたりしてるってことなので、やっぱりちょっと恐い気もします。
<!-- 素人の私が家の中だけでやっているのと、ちゃんとした人が作ったもので、外とつながっているものと、どっちがどうでしょう?って事でもあったり。-->
そして、タイトルを最初に書いたら内容が全然違うものになってしまったのですが、確かにお腹は空いているのです。
ということで、前と同じようでやってることはかなり違うアレでございます。
昨日からやっていたのは、上から三段目の全体的に黄色っぽい場所に情報を表示するところなのですが、
やっとPythonから送られて来たデータを取り込めると思ったら、こんどはJavaScriptの方で、変数が未定義みたいなエラーがでて。
良く考えたら、これは非同期ってやつをやるべきところだ...!と思って気が遠くなってたのです。
JavaScriptの非同期処理で使うPromise とかAsyncというのは、けっこう最近できたものみたいなのですが、同時にJavaScriptの書き方みたいなのも最近になって変わってきたりしてるんですよね。
もちろん古い書き方でも大丈夫なのですが、問題なのは非同期処理について調べようとすると、出てくる記事ごとに書き方が色々あって頭の中が大混乱なのです。
一応なんとかなったので表示出来ているのですが。
後で自分のコードを見ても何がどうなってるのか良く解らないに違いないです。
ついでに書くと、Morning というところが10:15になっていたのですが、遅いと思われそうなので、05:15に変えてあるのです。
というか、あれは起きる時間ではないのでどうでもイイのですけど。
今回作ったところは、オマケ要素なので、こんなに頑張らないでも良いのですが、先に必要なものを作ってしまうと他をやる気にならないかも知れないので、意味の無いところから順番にやるのです。
そろそろ終わらせたい、ブラウザからインチキスマートホームことラ・イパルタ・コルベリーナと呼ばれているラズパイを操作するやつですが。
まあまあ進んだのですが、今日やりたかった部分までは出来てないのです。
Pythonの方が一つ完成したので、次はJavaScriptと連携という事なのですが。
Pythonからの出力がなぜかカラになっているとか。
PythonとJavaScriptのやりとりは、以前に一応成功しているので、途中のどこかが間違っているということなのですけど。
1個ずつ調べていったら、vcgencmd というコマンドでパーミッションエラーみたいなのが出ているのに気付いたのです。
このコマンドは普通のユーザでも実行できるので大丈夫だと思ってたのですが、Webサーバを起動しているユーザではダメだったようです。
というか、lighttpdってエラーログを見ても、CGIのエラーが書いてなかったりするのですが、これは設定のせいなのか、どうなのか。
間違いを探すのが大変なCGIでもありますが、この先もパーミッションでエラーになりそうなところが多いですし、終わりはまだ先な感じがしてきました。
<!-- 面倒なことは多いのですが、Little Mustapha's Black-holeのサーバでは(危険なので)出来ないようなこともやっているので、けっこう面白いのです。-->
インチキ・スマートホームことラ・イパルタ・コルベリーナじゃなくなると思うラズパイのブラウザ連動機能ですが。
この前の状態から、スイッチとボタンが追加されました。
というか、一つはすでに表示はされているのですが、ちゃんとクリックすると動いて、何かが切り替わるようになっているのです。
でもまだページ上での設定を変えるだけ、というところで、まだ実際に照明を点けたりとか出来るのか解ってないのですが。
思っていたよりもやることが多くてなかなか進まないのですが、急いでやると後からいろいろと問題が発生したりして面倒なので、慎重にやった方が良いに違いないのです。
<!-- 凝り出すと面倒になる、とか書いてましたが、もうすでに充分凝っているとも思えたりして。実を言うと、今日作ったスイッチとかは、絶対に必要というものではないのに作ってますし。これは性格なのでアレですけどね。-->
昨日のラ・イパルタ・コルベリーナじゃないようなやつですが、良く見ると時計のところの月が間違ってますね。
どうしてそうなるのか?というと、Little Mustapha's Black-holeの何時だか解らないCanvas時計のコードからコピペしたからに違いないのですが。
あの時計は数字で時間を表すことが滅多にないので、普通にgetMonth()でやると、実際の月マイナス1になるというのを忘れていたのです。
修正のためにJavaScriptのファイルを開いたら、getMonth()のところだけ、謎の括弧で囲われてたりしてますが。
恐らく元のコードもコピペで、括弧の外に何か計算とかが書いてあったのかも知れません。
こういう感じだと、ちょっとずつ間違っているものが新しいコードにコピーされていって、新しいコードでさらにちょっと間違えたりして、ということの繰り返しで、最終的には文明が崩壊するかも知れませんし、コピペは問題なのです。
そして、そのたのJavaScriptですけど、簡単に出来ると思ってたら、変なところで手こずって、まだ見た目ではなにも変わってない状態だったり。
けっこう面倒なことになってきています。
ということなのですが、ラズパイでやってるアレコレとか、予定では去年のうちに終わってる感じだと思っていたのですが。
面白いけど、結構面倒なことも多かったりするので、ダラダラ長くやってしまいますね。
ブラウザで操作できるようにする、というのもすぐ出来ると思ったら、まだ半分ぐらいですし。
さらに、去年の12月に出来ているはずだったベランダのアレもまだですし、余った木材で予定している更なる企みは、もしかするともっと時間がかかったりしそうですけど。
そして、去年は一休み期間という事になっていたメインの創作も、自粛のアレの影響で一休みしないまま再開しないといけませんし。
ゲームでイライラしている場合ではなくなってきましたね。
<!-- とか書いておきながら、Xbox Live Gold の特典でダウンロードしてあった「The Raven Remastered」というのを始めてみたりしているのですが。推理で事件を解決するやつっぽいのですが、英語なので大変なのです。でもイライラすることはなさそうですけど。-->
スキャナでアレのアレをパソコンに取り込んでいたのですが。
いつもはJPEGでやるのですが、今回はアート(!)なので、圧縮しない感じでTIFFでやることにしたのです。
何枚もあるから面倒だなあ、とか思いながらやっていたのですが、そういう感じの時に限って間違ったりします。
一枚ずつファイル名に番号を振りながら保存するつもりが、原稿セットしてスキャンされるのを待って、というのを繰り返していると、ファイル名を変えるのを忘れたり。
これはやり直し、とか思ったのですが。その前にファイル名がすでに存在する時には警告が出るんじゃないか?ということになって。
これはパソコンのせいだってことにしようとしたら、そうでもなくて、実はTIFFって一つのファイルに複数ページの画像を保存できるんですね。
なので、同じ名前で次々にスキャンしていくと、新しいページとして保存されることが解ったのです。
こんなことなら、もっとスキャナを活用すべきだったと思ったのですが、買って10年以上経ってやっと気付いたのでした。
それはどうでもイイのですが、今度はそのTIFFファイルから一枚ずつページを取り出すのが面倒じゃないか?って事になってきます。
最初の数枚はMacの「プレビュー」で開いて一枚ずつ保存してみたのですが、これじゃスキャン時の便利さが台無しだ!という感じで面倒くさい。
それで調べてみたら、ImageMagickに "tiffsplit" という、まさにコレなコマンドがあることが解ったのでやってみたら、一瞬で終わりました。
面倒なことも実は楽に出来たりするので、とりあえず方法がないか調べるというのは重要ですね。
そして、何がスキャンされたのか?というと、貴重なコンセプトアート(!)なので、乞うご期待。
そして、これは骨組みであり、枠組みでもある。
どっちでもイイのですが、ラ・イパルタ・コルベリーナじゃなくなるかも知れないラズパイを、スマホなどからブラウザで操作したいので作っているHTMLファイルなのです。
上の三行はこれまでのテスト用のが残されているだけですが、下はかなり最終形態に近いものなのです。
こんなのは項目を並べただけ、という感じなのですが、見えないところではちゃんとHTMLが書いてあるので、CSSとJavaScriptで操作パネル風になるはずなのですけど。
ただ、こういうのっていつまでにやらないといけない、というのがないので気がつくと全然やってないとかいうことも多いんですよね。
しかもいつものLittle Mustapha's Black-holeでやってるHTMLとはちょっと方向性が違うので、考えるのも大変ですし。
でも、上の画像の状態から、ちょっとずつ形が出来ていくのは面白いかも知れないので、頑張ってやるのです。
<!-- こういうのは凝り始めると面倒な事になるのですが、凝りたくなる要素が沢山あるので困る。-->