投稿

6月, 2023の投稿を表示しています

鍋で飯を炊く

イメージ
  たまに鍋で飯を炊く。慣れないのでフッ素コーティングの透明ブタの鍋を使う。最初から最後まで弱火で行く。はじめチョロチョロ中パッパと聞くが、江戸時代のルールをそのまま鵜呑みにするのもシャクなので、全ての工程をチョロチョロでやってみます。弱火のハズがけっこうな勢いでアブクが沸き立つ。蓋の小さな穴から湯気が飛散る。てかこれ以上弱火にはできない。コンロのツマミが最低を指している。泡も引き、グツグツ音がパチパチ音に変わったらそろそろ火を止める。わざとに焦げをつくっても面白い。最後に10分くらい蒸らしという名の放置。 漬けておく時間と蒸らす時間を除けば10分から15分くらいで炊ける御飯。 水加減は米1合に水200cc。180ccだと硬め、220ccだと軟かめ。 こうやって炊く飯はなぜかうまいに決まっている。

同じscriptを2重に配置

イメージ
       BeagleBoneBlack(以下BBB)で温度センサーからの数値をsocket.ioでサーバーからクライアントへ送るのですが、setInterval()関数を使って指定間隔で送っています。しかしこのsetIntervalは指定時間後に発動されるので、アクセス直後は待たされます。待ち時間が1秒程度なら問題は小さいでしょうが、待たされる時間が30秒、時には5分、10分という場合は「使えません!!」となります。  素人なりに考えると… socketが繋がった直後に一回発動されるscriptを置きます。 二つ目は関数で包んでおきます。この関数をsetInterval()で指定時間ごとに発動させます。簡単です。が、古い頭ではなかなかこのアイデアが出た来ません。ま、その考えてる時が一番楽しいのかもしれませんけど…。        

BeagleBoneBlackブラウザーからの操作

イメージ
   ふぁ〜、やっとこここまでたどり着きました。Socket.ioによるブラウザーからのLEDのON・OFF操作です。 様々な物を操作出来る事を意味します。ま、 ON・OFF だけならSocket.ioじゃなくても良いでしょう。Socket.ioだと繋ぎっぱなしなのでラジコン的なことも可能なはず…。 それにしてもBesgleBoneBlackは楽しいわ。この Socket.ioにもっと気軽に誰もが気軽に楽しめる手段があれば…もしかするとPiとは違う個性をアピールできたのかもね。ま、十分手軽で自由度も高いけどね。  
イメージ
  やっとこsocket.ioが通ったと思ったのもつかの間、今度はリアルタイムにというのか、ライブ的なと言うのか、繋がりっ放しならどんどん情報をもらいたい場面もあるよな〜と考える。でもそのやり取り方がわからない。 なのでjavascript王道のsetIntervalを使う。クライアントから接続があったら setIntervalでセンサーの温度(電圧)を1秒ごとに読取りクライアントに送っている。でも接続があったら処理するってことは1接続に1 setIntervalってことか!負荷がすごいな。温度なら5分に1回程度の更新で十分だけど、それならsocketの意味がないな。理想は setIntervalが1つで、接続ごとに参照するのがイイな。 今後の遊びだな。   BBBにはJavaScriptをベースとしたBoneScriptがあり、自身のpinなどにも BoneScript( JavaScript)でアクセスできる。つまり入口から出口まですべてJavaScriptで書けてしまう。その打込み環境がCloud9という事で一括管理がとても助かる。 という理由でBBBは webデザイナー系には最高のオモチャだと思う。   にしても、°Cに度をつけてどうする(上の映像)。    

BeagleBoneBlack

イメージ
   やっとこスタートラインに着いたBeagleBoneBlack(以下BBB)。目的はNode.jsでのSocket.ioで遊ぶことです。マニアック過ぎて分かりずらいかもしれませんね。   写真の黒いボードがBBB。ラズパイと同じ分類。   Node.jsはサーバーのソフトで、特徴はJavaScriptでサーバー開発ができる事。   Socket.ioは Node.js の機能を拡張しています 。サーバーとクライアント(ブラウザー)を繋ぎっぱなしにしてくれるのがSocket.io。   サーバーもクライアントもJavaScriptで動いて、それが繋がれっぱなしの状態になるということは…、つまりその辺を遊んでみたいんですよね。  

すずめっ子がやってきた。

イメージ
  わが家の巣箱にすずめがやって来た。 日々すずめを楽しめるように居間から見える木に巣箱を取り付けた。でも位置も低いし、家の軒下じゃないし、家から離れてるし、もう6月だし、すずめはここを選ばないだろうと思っていた。でもどうやら1組のカップルが巣を選んでくれたようです。今はまだ巣づくりの最中です。 でも経験が浅そうです。先日も巣に入らないほどの長い枝をむりやり押し込んで巣箱から飛び出していました。 手は出したくないのですが、2~3日しても枝が刺さったままの巣箱からそっと枝を抜いてやりました。   がんばれ~!

BBBのSocket.IOがなんとか開通!!

イメージ
     いや~ハマったわー。かれこれ2週間はハマってたんじゃない?BeagleBone Black(以下BBB)のSocket.IOってやつにね。素直にウィンやPiに今のバージョンのNode.jsをインストールしようかな?とも考えたんですが10年前のBBBをどうしても使いたくてね。だって開発環境のcloud9っていうWebアプリケーションがイイ感じなんですわ。慣れるまで大変だけど色んなフォルダー間を駆けずりまわらなくてもイイんですな。サーバーが完成したらautorunというフォルダーにぶち込んでおけばOKみたいです。(試してないけど・・・アドレス変更するのかな?)   でなにが悪かったかと言うと、いろいろあったけど決定打はjquery.min.jsが認識してませんでした。って落ち。BBBがネット環境につながっていなくて、クライアントとは仮想LanのUSB接続だから外には出られない。で念のため古いjqueryを落として同階層に置いたけど…なぜかHTMLで認識しないんだよね。で、そもそも何を担ってるのと思ったら。単にJavaScriptの処理をHTMLすべてを読んでから処理させるためだけにあるんですわ。まJavaScriptなのでページのどこにあっても動いちゃうから、そういうことならHTMLタグが終わった、一番下の欄外で動かせば jqueryなしでも安心ねってことだよね。で命令をページの下部に移動しました。ま~受け取ったDATAはいったん変数に格納してから大事だいじに保管しておいて、後で取り出すのが吉なのかな。   いや~現役を離れてから10年くらい経ったけど、やっぱ電子とwebの組み合わせは楽しいわ~。  

雀のお家は果たして・・・。

イメージ
   訳あって今シーズンの雀ハウスは居間の近くの木に取付ました。窓からばっちり確認できます。昨年までは家の換気口の中で巣をつくっていました。壊れた部分を利用して出入りしていたのですが、これ以上スズメっこのために修理をしないというのはいかがなものか!という妻と私の心の声に従って写真の巣箱を設けました。6月も入り気温も一気にあがったのにスズメが巣をつくる気配はありません。正直諦めていたのですが先日家の下見をする2羽雀を確認しました。その後は毎朝きては巣づくりをしているようですが、すぐに姿を消します…。このまま引っ越し先に採用してもらえると良いのですが、果たして雀の選考に残ることができるのでしょうか!?しばらくはそっと様子見です。  

socket.ioを再勉強しなきゃ

イメージ
   判らない。つながらない。 Node.jsでサーバーを立てる。で、socket.jsでクライアントとサーバーでリアルタイムな情報を…やり取り…ができない。わからない!なぜだ~!! という事で一から勉強し直しです。当時の本を引っ張りだしました。てか…BeagleBone Black(以下BBB)にこだわらずにPiで最新のNode.jsという方が良いのでしょうが…BBBをこのまま終わらせたくないですな 。  

やっとこのハンドシェイクも…

イメージ
     BeagleBone Black(以下BBB)がクライアントとつながった。正確にはネットで拾ったJSのデータを利用してやっとこさっとこつながった、それまでの何が悪かったのかはこれからの検証。 でもこんどはデータが届かない。クライアントからサーバーへデータが送れないのです。socket.ioが繋がっているのは監視でわかっているので、怪しいのはJavaScriptとなる。タイプミスか?  コレでやっとsocket.ioでdataをやり取りができる〜、と思っていたのに…。  

BeagleBone Blackがエラーを吐く

イメージ
    BeagleBone Blackがエラーを告げる。? 判らないから速攻でグーグル先生に聞いてみます。 おお、さすが10年前とはNode.jsに関する情報量が違いますね~。10年前は非同期通信のAJAXでしたっけか?その余波が残っていまいたよね。そこについに非同期どころかソケットでがっしり連結されるwebsocketやsocket.ioがでてきてね大変でしたね。情報も薄くて英語のページばかり。まだまだ先生の訳の精度が悪くてね~。それでもすごい時代だなーと感じていましたね~。おっと何のはなしでしたっけ?   cloud9でエラーが出ました。nodeのjsデータ、具体的にはサーバーを立ち上げるデータです。エラーはよくわからないけど、なんだかんだで、どうやら8080ポートが使われてるぞって話みたい。?誰が使ってるの???…Apacheさんみたい。そうだったか80だけじゃないんだ。 で、どうしよう? あ、もうでなくちゃ。じゃ。  

BeagleBone Blackにsocket.ioをインストール

イメージ
     やっとこのBeagleBone Black(以下BBB)へのsocket.ioをインストール。 どうやら…やはり本の通りBBBのCloud9にsocket.ioをインストールしないとダメみたい。しかし困った事にsocket.ioが対応していないのか?インストールでエラーが出る。どうしたものか?原因はおそらくBBBが古すぎる事だと考える。socket.ioの方でいつの話し?とりあえず全部もってけ~!ってことなのか?結局BBBのCloud9には入らない。調べると古いバージョンのsocket.ioだけをピンポイントで入れる事ができそうなのでやってみる。で例のnpm list -gとやらでBBBに入っているバージョンを覗いてみる。0.8.7とある。 で、npm install socket.io@0.8.7 を実行。   さてさて    

40円温度センサーICは正確なのか?

イメージ
    前に秋月電子で買った温度センサーIC( MCP-9700E )が転がっていたのでBeagleBone Blackで遊んでみることにしました。40円という事と誤差がMAXでプラマイ4度という事で性能が気になりはじめた。いや、当初はどうせすぐに失くすからと性能より値段最優先で決めたはず。でもいざ遊んでみるとやはり性能が気になる。 誤差があれば適当に補正をかけよう…。 あれ? …意外と完璧。 すばらしい。これで数少ない極寒での冬の楽しみが増えたぞ!果たして氷点下での誤差はどう出るか?  

BoneScriptで温度を測る

イメージ
      sockt.ioを試す前にBoneScriptで遊んでみます。   温度の変化を電圧の変化に変えて出力してくれるIC(秋月電子で40円。代引き手数料だけで300円(笑))をBBBにつないで電圧変化を読み取ります。読み取った電圧を具体的な温度(数値)に戻して表示します。動画は開発ソフトcloud9から温度を覗いてる状況です。Bonescript(JavascriptでBBBのハード的サービスにアクセスできる、言わばBBBだけで使えるJavaScript)を使って書かれています。   でややこしい話ですが、sockt.ioもBoneScriptもたぶんnode.js。てことは全てがJavaScriptです。ま、今更な話ですが…。でBeagleBone Black(以下BBB)はそんな特徴を活かした開発ができるオモチャ(楽しいを具現化したという意味です!もちろん褒め言葉です!!)ですな。 正確な話しではないが10年前と言えば…それまではHTMLによる表示の拡張機能程度の位置づけだったJavaScriptがどんどん守備範囲を広げ、ついにはサーバー側で扱えるようになったとさ!がnode.js。そんな環境でつくられたBBBですな。 次はhtmlでブラウザーから覗いみる。が目標です。  

BeagleBone Blackにsockt.ioインストの件

イメージ
間違ってぼかしてしまいました。   なんだよ、なんだよ!ヤッパリBeagleBone Black(以下BBB)には元からsockt.ioが入ってたね。BBB内にあるサーバー内のデモの内容を覗くとそれがわかります(上写真)。情報を求めてネットを検索するもどこのページを見てもsockt.ioは自分でインストールしろ~!なんだよね。納得いかないよね。だってsockt.ioがなきゃBBBの魅力が半減するんじゃないかしら?中途半端な商品になっちゃうよね。実際私もインストールを試みるもエラーではじかれました。ま、10年前に買ったものを今さら使う方もどうなの?って話でもありますがね。ま~上記のデモを手本に遊んでみますかね。ちょうど電子のおもちゃ箱に温度センサーがあるからそれで遊んでみますかね。( https://akizukidenshi.com/catalog/g/gI-09692/ ) そもそもsockt.ioってなに?ってことだけど、サーバとクライアント(ブラウザー)とを繋ぎっぱなしにする代表的な技術の一つ。たしかアドビのフラッシュで使われて注目されたんじゃなかったかな?(当時はすげ~なアドビと絶賛でしたな)でもアップルのアイフォンでフラッシュが禁止されたから廃れたかと思いきや、nodo.jsでしっかり使われてましたね。 ちなみにnode.jsはJavaScriptをサーバーで使えるようにした技術(プログラム言語ではない)。たしかアクセスしたクライアントに対する処理が柔軟でとても効率が良いのだとか!?(この辺はよくわかりません)   で BBBって?ですが、約10年前に出たラズパイの対抗馬的存在で注目されてましたな。ラズパイはまだ3が出ていなかったのでBBBの性能は魅力でした。でもしばらくするとラズパイの3がさらに魅力的な性能で出てきたので、そこで勝負がつきましたな。 それと今回いじって感じたのは「複雑!!」。まずネットの向こう側なのかBBBの内部の情報なのか区別がつきにくいことが人を迷子にすると思うのです。ネットにつないだ覚えが無くともブラウザーに立派なホームページが表示されれば無意識にネットが繋がっていると思う人も多いでしょうね。複雑も楽しめれば良いのだが、 説明書も何にもないんじゃ話にならない訳です。特にキモとなるcloud9なんかいまだにわかりませ...

あれ?インストール済み?

イメージ
     BeagleBone Black(以下BBB)のその後ですが、とっちょ停滞気味です。というのも当時買った本の参考プログラムが走らない。boneスクリプトは生きているし、それをcloud9っていう開発環境で操れることまでは確認しました。でもLanごしのnodoが通らない。node.jsの特徴であるソケット機能が使えない!これが魅力なのにね~!これができなきゃアパッチを使うわ!!おっとちょっと熱くなってしまった。本にはsockt.ioは BBBにはインストールされているが cloud9にインストールされていないから cloud9の階層にインストールしろ!とある。迷いなくその指示に従うもエラーでインストできず。。。?で、npm(nodの管理ソフト)でグローバルインストールされているか調べると確かにsockt.ioがある。でローカルインストールも調べてみると、載ってない。ちなみにboneスクリプトもグローバルだけにインストールされている。でもってcloud9からboneスクリプトは認識している!?どういうこと。 ま~得意のプログラム打込み時のタイプミス か???