kogame2004のブログ

電子工作+プログラミング、書道が好きな中学一年生。 小3より各種ワークショップで色々な体験をしているうちに電子工作+プログラミング(フィジカルコンピューティング)に興味を持ち、現在に至ります。RaspberryPiでのもの作りは小4の4月から始めました。

     2017年3月 僕は小学校を卒業しました。

     卒業式後に先生に手渡した手紙と、クラスからの手紙で書いたものと二つあるので、それぞれここに書き記します。それに加えて、Y先生の素敵な所を思いつくまま、書き出しました。

 

     5年、6年と担任になってくださったY先生へ 

   ーーー心からの感謝をこめてーーー

 

Y先生へ

僕は今、この手紙に何を書こうか決めあぐねています。
理由は簡単です。Y先生との思い出が、Y先生への感謝が多すぎるからです。
例えば、学校でのトラブル。「誰々君がこうなっていて、誰々ちゃんは…。」などのどんなに些細な事もY先生は真剣に耳を傾けて下さいました。
また、プラスの声掛け。クラスの雰囲気が変わったキッカケを作ってくださいました。
Y先生との一番の思い出は5年生の時のお楽しみ会後のサプライズです。
僕はお楽しみ会の始まる2日前位に、くす玉を作ることを思いつき、図工室の端材を利用してお楽しみ会の時間に作りました。

くす玉が割れなかったのにはみんな大うけ。
何とも言えない幸せな時間だったように感じます。
六年のお楽しみ会はどうだったんでしょうか。
Y先生、涙はもちろん出たんですよね。
立科、山中湖も心に残っています。
山中湖では校長先生のおまじないで富士山が雲から顔を出してくれて、立科では一日目の夜に花粉症で僕が眠れなくて「明日のハイキングはダメかもしれません。」と言われたのは今でもしっかりと鮮明に覚えています。
また、5年の時の音楽会。
U&Iでは指揮棒を振るい、誰が欠けてもうまくいかない最高の歌を作り上げ、シンクロBOM-BA-YEでは体育館の後ろで物凄く真剣な顔で、リズムを取り、応援してくださいました。
6年の学芸会。
松竹梅の梅を目指してみんなで役に没入する苦労を分かち合いました。
本番での僕の失敗はすごく自分にとっては嫌なものです。
間違えて役を終えた時、僕はネガティブになっていました。
そこを元気づけてくれたのはY先生でした。
「大丈夫、失敗してないよ!凄く良かったよ、みんな。」そう舞台裏で言ってもらえた時、心が落ち着きました。
その言葉で、次の歌で挽回しようと前向きになり、ネガティブな心を引きずらずに、すがすがしく学芸会の幕を閉じることが出来ました。
Y先生は僕にとっての憧れであり、頼れる人であり、尊敬する人です。
Y先生からしたら、「そんな事ないよ」と思うかもしれません。
でも、僕からしたら、Y先生は陰で支える縁の下の力持ちなのです。
「自分はこんな良いことをしているんだぜ!」と主張せず、親身になってその子の気持ちを第一に行動する。
前に、Y先生がこんな話をされていましたね。
「私が先生になったのは小学校時代に良い先生にめぐりあえなかったからです。だから、自分の思う理想の先生になろうと。」
なら、僕達は生徒思いの親身になって物事を考え、いつも陰で見守り、何かあれば、すぐに駆け付ける本当に素敵で素晴らしい仁愛や思いやりに溢れる良い先生に出会いました。
Y先生、本当に今までありがとうございました。
これから、僕達の思っているY先生を超えたY先生になって、多くの生徒をその手で育て上げ、成長させてあげて下さい。                                                                                                                  kogame  2017年 3月
 

f:id:kogame2004:20170330144602j:plain

 Y先生の魅力は、何といっても子どもの気持ちを第一に考えて、色々と工夫を凝らしてくださることです。一番印象に残っているのは、5年の音楽会。

 前日の児童鑑賞日のとき、指揮者としてあらわれたY先生が、スーツの胸から「笑顔」と書いた紙をすっと出し、みんなにみせて、何事もなかったかのようにまた胸にしまったことです。

この時、ぼくは笑いが少し漏れてしまいました。

 これだけでも十分笑顔になったのですが、Y先生は、なんと、本番の音楽会では、さらに笑ってしまうことをやってのけました!
 指揮者として指揮台に立ち、保護者側を向いて礼をする時に、背中に「笑顔」と書いてある紙を貼ったのです。
 礼をした時は先生の背中の紙はギリギリ保護者に見えず、礼が終わってこちらを向くと同時に紙をはずしたので、僕達だけがその背中の紙に気づき、保護者は誰一人気づいていませんでした。
 家に帰った後、両親にこのことを話すと、「マジか!?早速ビデオで確認しよう。」となり、Y先生が僕たちの緊張をほぐし、笑顔にさせようとしているシーンを何度も繰り返し再生し、大爆笑でした。そして、バレなかったことに心底感心していました。
シンクロBOM-BA-YEの選曲も素晴らしく、僕達に合った曲で、最高の音楽会になりました。Y先生と過ごせた日々は、とにかくどれもが楽しく最高でした。

     今まで、本当にありがとうございました。       2017年3月 kogame

 

◇Y先生が他の先生と違うところ・・・生徒に対しても、敬意を示すこと(「〇〇さん」と必ず「さん付け」して、呼び捨てにしない。生徒に対する言葉も必ず丁寧語を使う)、生徒がうるさい時に「静かに!」と大声で何度も言わない。黙ってそれぞれが気付くのを待つ。

◇Y先生で良かったと思うこと・・・自分のやりたいようにやらせてもらえたこと。(僕を信頼してくれて、僕の自主性を尊重してくださった。)、生徒を褒めることで伸ばそうとしているところ。厳しいけれど、楽しい。

◇Y学級で一番思い出に残っていること・・・5年生の時のY先生サプライズ
◇Y先生に影響を受けたこと・・・ひとへの接し方、言葉遣いなど

◇Y先生がとても信頼できるところ・・・理不尽な叱り方をしないところ。いきなり叱りつけるのではなく、まず何があったのか、冷静に生徒の話を聞く。感情にまかせて怒鳴らない。トラブルがあった時、まずは双方の生徒の話をちゃんと聞いてから、対応してくださるところ。

◇Y先生の魅力的なところ・・・笑顔。よく笑うところ。お茶目なところ。涙もろいところ。共感力が高いところ。サッパリしていて引きずらないところ。「ゆず」が好きなところ。(ちなみに僕たちが一番好きな思い出の「ゆず」の曲は、5年の宿泊学習のキャンプで踊った「イロトリドリ」。)

◇Y先生の細やかな気遣いのあるところ・・・生徒が人前で発表した時、代表の言葉を言った時など、「よかったよ!」と、ねぎらったり、励ましてくれるところ。間髪いれず、言いに来て下さる時もあれば、後からの時もあるけれど、そういったプラスの声掛けを重視して、それを自ら実践してくださっている。

7月OtOMO寺子屋  「小学生からはじめるわくわくプログラミング2」 ☆発売記念ワークショップ☆

今日のOtOMOは、「小学生からはじめるわくわくプログラミング2」の著者 倉本大資さんによる記念ワークショップだった。

今回のテーマはわくプロ2の内容の「繰り返し模様」から発展させて作品を作り、倉本さん持参の小型プリンタで実際にその製作した作品を印刷することだった。

f:id:kogame2004:20160725012024j:plain

僕は虹を飛ぶフライキャットにしてみた。
そのうちの一つが下記の虹色の背景にいるScratchCatで、僕は3パターン作った。
Scratchで細かい点(7700個)をスタンプで描いて、モデルのScratchキャットフライコスチュームをスキャンして、スキャンした所に点でできたScratchキャットフライコスチュームを作った。

点の間隔を変えることによって、点の流れが十字にみえたり、クロスの流れにみえたりして、見え方が変わったのが面白かった。

f:id:kogame2004:20160725012223p:plain

みんなそれぞれ全く違うしおりが出来上がった。

f:id:kogame2004:20160725012241j:plain

そういえば、今日のOtOMOミーティングの中で、わくプロ1で響かなかった小学校の子供たちが、わくプロ2だと響いて面白がっているという話を聞いた。

家に帰って、「小学生からはじめるわくわくプログラミング2」の中を見てみて、わかる気がした。

わくプロ1では、国語、算数、理科、社会、音楽、体育と教科と教科の境があり、壁があるような感じを受けるが、わくプロ2では、すべてに図工が入っていて、みんなが好きな「図工」という共通点がある感じがいいと思った。

「総合×図工」「算数×図工」「理科×図工」「音楽×図工」という風に全部、図工と組み合わされている。しかも、わくプロ1に比べると、その表示が小さい。

f:id:kogame2004:20160725012414j:plain

わくプロ1のように、国語、算数、理科、社会などと教科が大きく表示されていると、どうしても勉強ぽい感じがしてしまう。はっきりと教科と教科の区切りがあるから、自分の好きな教科には目が行くけれど、自分が好きではない教科には目が行かない。

たいがいの子供たちは、図工が好きなので、図工が組み合わさっていると、どの教科でも親しみやすい、楽しい感じを受けるのではないかと思う。
わくプロ1に比べると、Scratch2.0に変わったこともあり、難易度が上がったというようにも感じる。

わくプロ1とわくプロ2は、なんか使い方が違う気がする。
僕がみた感じだと、わくプロ1とわくプロ2の色々な所を組み合わせて、すすめていくといいと思った。

わくプロ1は、簡単と難しいの間くらい(中間くらいから緩やかに難しい所へあがっていく感じ)の本で、わくプロ2は、簡単から難しいまで、難易度が急にグーンと上がっていく感じ(低い所から一気に高い所へあがる感じ)がした。

わくプロ2は、今まで知らなかったこと、知りたかったことが一杯でとても楽しい。
充実した内容だと思う。

シリーズの2冊目だけあって、色彩も豊富で明るいイメージなのがいいと思った。 Scratch2.0とScratch1.4の違いもあるので、わくプロ1のScratch2.0対応があるといいのではないかとも思う。


わくプロ1は、わくプロ1で、物語メーカーとか面白いものが一杯あるので、やはり2冊ともやってみるのがいいと思う。わくプロ1は、ちょっと固いイメージがあるかもしれないけれど、やってみるととても楽しい。 わくプロ1から始めても、わくプロ2から始めてもどちらでもいいと思うけれど、やっぱり両方やってみるのを僕はお勧めします。


著者の倉本大資さんと

f:id:kogame2004:20160725015145j:plain

ScratchDay in Tokyo 2016 Show&Tell 準備&説明編 その2

ScratchDay in Tokyo 2016 Show&Tell 準備&説明&発表編 その2

その1からの続きです。
Show&Tellの制約に反してしまうと連絡があり、Aプランがアウトになってしまいました。
つまり、僕には事前にデモ動画を作ることが前提になったのです。
その後、大急ぎで動画を作っていきました。
Pepperは家にはないので、「アルデバラン秋葉原」というPepperがうじゃうじゃいる所で動画を撮影させていただきました。

アルデバラン秋葉原さんでは、営業時間内はワークショップを開催されているので、その時間は撮影は邪魔になってしまうため、できません。僕の場合、Scratchで作った「曲」が流れるという「音」も重要だったため、静かな状況じゃないと撮影が難しかったからです。

ワークショップ終了後のスタッフの方のミーティングや片付けの時間、営業前の時間にスタッフの皆さん全員に協力をしてもらい、撮影をさせて頂きました。アルデバラン秋葉原の梅田さん、前田さんには特にお世話になりました。他のスタッフの方もとても協力してくださり、感謝しています。

ScratchDayまでの1週間は死に物狂いで何日か「アルデバラン秋葉原」に通い、動画を撮り、編集。何回も、良い動画を撮れるまで撮り直しをさせてもらいました。同時にScratchでshow&tellの発表スライド作りもしていました。内緒ですが、夜中2時すぎまでやって、次の日体調が悪くなって学校に遅刻することも何度かありました。学校の宿題をやる余裕は全くありませんでした。先生には事情を説明して、「ScratchDayが終わったら、溜まった宿題を提出します。それまではすみません。」とお願いをしました。いけないことだけど、動画と発表スライドの締め切りはScratchDayTokyoの前日20時なので、それまでにやらなければならないことを考えると、本当に本当に時間が無かったのです。

昨年、余裕のない状態でScratchDayを迎えたので、今年こそはゆとりを持とうと計画していました。言い訳になるけれど、連休前に学校から作文コンテストへの応募の作文を突然頼まれてしまい、断れなかったのです。連休中は遊びには行かず、ずっとブログを書いたり、ScratchDayの準備をしていました。作文を書く余裕はありませんでした。

作文を書き始めたのは、連休明けの月曜日から。作文コンテストの締め切り直前。さすがにまずい!と書き始めました。テーマが難しくて、どうやって書いたらよいのかわからず、4日間かかりました。あの4日間をScratchDayの準備に使うことができたら、もっと余裕が持てていたと思います。

僕は、一番簡単なものから確実に動画を撮影していこうと考え、まずは、Pepperと超音波センサを試すことから始めました。

 

 4月30日(土)

「超音波センサでPepperの手の動きを感知させる」

自分の手をかざして超音波センサを感知させるのは簡単ですが、Pepperにそれをやらせようとすると、うまくいきませんでした。Pepperにうまく手をかざさせることができず、超音波センサに感知させるため、手の面積を少しでも広くしようと考え、Pepperにモノを持たせようとしたけれど、うまく持ってくれない。だから、Pepperの手にハンドタオルを巻いたり、色々やってみました。でも、うまくいきませんでした。

f:id:kogame2004:20160706041626j:plain

f:id:kogame2004:20160706043702j:plain

僕が撮影していた土曜日は、アーツ千代田でイベントがあった日だったようで、観光客みたいな方?がひっきりなしにアルデバラン秋葉原をのぞいていました。海外の観光客も大勢いました。うまくいかず、やる気がすっかりダウンした僕は、途中から、その人達に喜んでもらおうと、Pepperが「こんにちは。」「さようなら。」「バイバイ。」と手を振るプログラムを即席で作り、実行してました。Pepperが手を振るとみんなすごく喜んでくれました。この時、僕はお客さんが来たら、Pepperが近づいてきて、手を振るプログラムを作ったら、もっと面白そうだなと思いました。(この時のことが後にヒントになりました。)

f:id:kogame2004:20160706042408j:plain

 

 5月13日(金)

ずいぶん、日にちがあいてしまいました。GW中は、ブログを書いたりしていて、あっという間に終ってしまいました。元々、文章を書くのが苦手だったから、ブログを書き始めました。書くのはすごく時間がかかります。

連休直後の貴重な平日4日間は、作文に苦しみました。(繰り返しになるけれど、ここで4日間取られたことは本当にきつかったです。)

かなり、まずいです。ScratchDayTokyoは21日(土)なのです。あと一週間しかありません。ここから僕は毎日必死になりました。

学校が終わると、ダッシュでアルデバラン秋葉原に向かいました。

 

まず挑戦したのは、Kinectでの制御です。
「僕の腕の動きに合わせて、Pepperの腕を上げ下げさせる」

Kinectで僕の腕を上げる動きに合わせて、Pepperの腕を上げるというのは、以前、谷口さん主催のワークショップのデモで成功していたので、簡単だと思っていました。

が、動画を撮影しようと、レインボー風車(この日は卓上版のミニレインボー風車)と組み合わせて、同じことをやってみようとしたら、うまくいかない。

Pepperに腕をあげる動作を何度もさせていると、Pepperが疲労するのです。

肩のモータに負担がかかると熱がたまります。
60度を超えると注意を促し、75度を超えるとオーバーヒートと認識され、Pepperが声を発します。
調子の悪くなる手前になると、「疲れてきました。少し休ませてくださいね。」という風な感じで言います。
そして、本当に調子が悪くなると、Pepperが「〇〇の部位がオーバーヒートしています。お休みさせてください。」とか、「僕を再起動してシャキっとさせちゃってください。」みたいな事をしゃべります。こうなると、電源を切らないといけないので、しばらく使えません。

たまたま、僕が通っていた時期は、アルデバラン秋葉原さんにある沢山のPepperはあるイベントで一度に使われたため、その直後で疲労が溜まっている状態だったそうです。

もちろん、毎日のワークショップでも使われているため、たくさんのPepperがいても、空いているPepperは限られています。「今日はどの子が使えるかなぁ?」と一台一台PCとPepperをインターネットで接続して試していくのですが、例えば、このPepper(atelier26)は、左腕は問題ないけれど、右腕の上がり具合が良くない。このPepper(atelier36)はタブレットが使えない。このPepper(atelier15)は〇〇の調子が良くない。そんな具合でした。

僕が欲しい動きは、「腕を上げる」というものだけだったので、タブレットが使えないとかは全く問題なく、ただ腕を上げるという動きが良いPepperを探すことに毎回必死でした。

谷口さん主催のワークショップでのデモでは一発でうまくいったので、すぐにできるものだと甘くみていたけれど、あれは本当に運が良くて、たまたまうまくいっただけだったということがよくわかりました。

「デモは毎回うまくいくと思うな!」です。

この日は、何とか「Kinectで僕の腕を上げる動きに合わせて、Pepperの腕を上げる」がうまくいくようになりました。


Pepperをキネクト(モーションセンサ)を使って制御

 

 

5月14日(土)

この日は、「Pepperに手をかざさせて風車を回させる」「レインボー風車(曲を鳴らしながら)超音波センサで動かす」に挑戦しました。

でも、Pepperに手をかざさせることが難しかったのです。超音波センサが反応する良い位置で停めることができなかったのです。

うまくいかないので、途中から諦めて、僕が超音波センサに手をかざし、風車が曲を流しながら回る様子を撮影しました。(風車の回転が変わると、曲も変わり、トトロと妖怪ウォッチの曲が流れます。)


2016.5.14 レインボー風車を超音波センサで動かす

レインボー風車とPepperを動かすために、Scratch、Scratch_OSC_Bridge、Choregraphe などのアプリケーションを使っているのですが、それが伝わりにくいため、アルデバラン秋葉原のプロジェクタをお借りし、画面をスクリーンに映すようにしました。アルデバラン秋葉原の前田さんにお願いしたところ、快くOKしてもらえました。ありがとうございます!これで、背景がかっこよくなりました。

f:id:kogame2004:20160706050509j:plain

が、この日、スタッフの方が後片付けをしている最中に事件が!

僕のChoregrapheのグラフィックがおかしくなって立ち上げた後に、スタッフの方が一度にPepperを8台充電してしまったそうで、ブレーカーが落ちて、WI-FIKinect、プロジェクタ等、全部ダウンしてしまいました。
Pepperの充電は時間がとてもかかるそうです。消費電力も非常に高いので、一度に7台までは大丈夫らしいのですが、この時、たまたま8台してしまったそうです。

そんなことがあり、うまくいかない理由が複数になってしまい、僕は条件の切り分けができず、時間も遅くなってしまったため、この日は原因究明ができませんでした。

f:id:kogame2004:20160706050743j:plain
なかなか思うようにいかなくて、トホホです。



5月15日(日)

午後から塾があったので、それが終わってから、18時頃アルデバラン秋葉原に到着しました。

この日にshow&tellで披露できるちゃんとした動画を何が何でも撮影しないといけない。

僕の追い込まれた困っている状況を知り、アルデバラン秋葉原の梅田さんが、遅くまで残って付き合ってくださいました。

営業時間の時は、Kinectと僕の位置、レインボー風車とPepperの配置。それらをどうするか、しっかり考えました。Kinectは1m半以上離れないといけないし、Pepperが複数いたり、壁とか机とか色々なものがあるため、ちゃんと僕を感知してくれない時があるから、それぞれのレイアウトはとても大事です。

営業時間終了後は、たくさんのPepperを移動させ、撮影できるスペース作りをして、プロジェクタも準備して頂きました。梅田さんが音も大きく聞こえるようにセッティングしてくださいました。

 

この日は何とか頑張って、まずは「Kinectで僕の腕を上げる動きに合わせて、Pepperの腕を上げる」という動画を無事撮影することができました。時間は19:50。

が、この動画は、地味でした。

実際の会場で、デモとして皆さんにその場で見せるなら、それでも盛り上がるかもしれないけれど、今回は「動画」としてスクリーンで紹介するだけなので、「Pepperの腕が上がる」だけの動きではきっと会場の人は面白くもないだろう。せっかく撮れた動画だけど、これでは足りない。だから、もっと動きを出していかないと!と考えました。

「そうだ、Pepperが前に進むとかの動きを入れよう!」と、そこからプログラムを改良していきました。できあがったのは、20:30。さあ、撮影開始。

何とか動画撮影が無事終了しました。


2016/5/15 KINECTでPepperとレインボー風車を制御 ~回転しながら前進後進編~



f:id:kogame2004:20160706055938j:plain

 

ふぅー。やっと思うような動画が撮影できた。良かった~。

 

ほっとして色々話していると、梅田さんが「レインボー風車の設置方法の良いアイデアがある、たぶん三脚でいけるんじゃないか!」と色々なアイテムを取り出し始めました。アルデバラン秋葉原の三脚、梅田さん自作の雲台、結束バンド、100均の網。。。

ちなみに僕は「雲台」という名前を初めて知りました。

「レインボー風車重いけど、大丈夫かなぁ?」と思っていたのですが、何ということでしょう、見事レインボー風車は三脚に取り付けることができました。

 そういえば、MakerFaireTokyo2015のOtOMO「ワリバシティ」のテーマが「トラス構造」だったのでした。確かに三脚はトラス構造だ。トラス構造、くらもさんからOtOMO+で説明受けて、割りばしで橋を作ったり、みんなで試したんだった!

 

梅田さんは構造力学とかを大学の一般教養で勉強されたそうで、以前の職場(明和電機)で譜面台を利用した即席PC台とか、色々なモノを自作されていたそうです。梅田さん、実は本格的な「Maker」でした!

 

レインボー風車の渦巻き型のLEDが綺麗だったので、暗闇にしたらもっとLEDが華やかに光るのではないかと考え、試してみたら、Pepperと並んだ所が未来感半端ない雰囲気になり、大興奮しました。 「宇宙人(Pepper)と光る太陽系(渦巻きLED)の融合」みたいな感じ?僕がそこに入って、地球人との遭遇。ははは。 (^_-)-☆

興奮して、ちょっとした撮影大会になってしまいました。この時の写真が気にいって、動画のエンドロールとして使いました。

f:id:kogame2004:20160718012337j:plain

 

5月18日にもアルデバラン秋葉原に来て、続きをする予定だったため、この後、三脚に設置されたレインボー風車を壊さないように、部屋の隅に移動させようと思ったら、あっけなく崩れてしまいました。もう少し、しっかりと固定しないといけなかったみたいです。

  その3へ続く (まだ書けてないです。)

 

ScratchDay in Tokyo 2016 Show&Tell 説明&準備編その1

今回は僕がScratchDay in Tokyo 2016 Show&Tellに出た話を書きます。

f:id:kogame2004:20160620151028j:plain

まずは、発表したものの説明と準備の話を。


今回のShow&Tellでは、この前の記事で書いた「 ScratchからKinectを使ってPepperを制御する」の応用編「KINECTでPepperとレインボー風車を制御」について発表しました。

f:id:kogame2004:20160620152624j:plain


KINECTでPepperとレインボー風車を制御」について簡易的に説明するとこうです。

わかりやすく伝わるように図にしてみました。

f:id:kogame2004:20160618102139p:plain

僕が左腕を上げるとScratchを介し、Pepperとレインボー風車に命令が送られます。
ScratchとPepperはScratchOSCBridgeというアプリケーションでWiFi又は有線でIPアドレスを使用し、繋いでいます。
ScratchとPepperの繋ぎ方などの詳細は、下記記事に書いてあります。

 

kogame2004.hatenablog.com

 僕が昨年の夏に作ったレインボー風車は、なのぼ~どAGというマイコンボードへ有線でScratchから制御しています。

 

結論から言うと、今回のShow&Tellは僕の中では大成功に終わりました。
でも、実はその裏には並々ならぬ努力が。←自分で書いちゃう!?😜

カッコイイテーマ曲が流れる。~~~~~~~

ブログに音源入れられたら最高だな。
と、おふざけはこのくらいに。

でも、本当に一生懸命必死に間際まで取り組みました。取り組まざるを得ない状況になっていたというか。
理由は、もちろん、僕の技術力の低さが一番ですが、発表する作品が「ソフトじゃなくてハード」だからというのもあると思います。

僕の中でハードって、失敗だらけになるものだという認識です。去年も今年もShow&Tellで僕以外に登壇した子は全員ソフト(作りこんだハイレベルのゲームとか)でした。

比べると、僕のようなハード(動かす実物がある作品)は本番での発表(デモ)が失敗に終わる確率が非常に高くなるものだと思います。何しろ、PCの他に準備するものが非常にたくさんあり、足りないものが一つでもあるとアウト。壊れる可能性も高く、不具合が見つかっても原因がハードにあるのか、ソフトにあるのか、すぐにはわからないことが多いです。

去年、他の発表者の子達は、ScratchDayでのプログラミングバトルや他のプログラムをすごく楽しんでいました。僕はというと、直前まで作品の調整で手一杯で、まったく楽しむ余裕はありませんでした。まあ、僕の作品の完成度が低いからそうなってしまうわけなのですが。

去年、Show&Tellで苦~い経験をしました。もちろん、発表した作品はハードです。
WiFi経由でRaspberryPiを積んだ車をスマホから制御するというものを発表したのですが、会場ではWiFiが混線し、実物が動かなかったのです。
でも、そんなときのために、きちんとBプランは用意していました。
上手く短くまとめた動画を用意していたのです。
が、またここで僕はとんでもない大失敗をしました。
動画を用意していたのにもかかわらず、初めてShow&Tellに出さしてもらったからなのか、緊張のあまり動画を流さずに終わってしまったのです。短くまとまるよう、何度も何度も撮影し直して準備した動画だったのに。
そのことを思うと今でも後悔の念が強く湧き上がります。
だから、今回のShow&Tellはいわば、去年のリベンジなのです😤
念には念をと今回はAプラン、Bプラン、Cプランを事前に考えていました。
去年と共通なのは、Scratchで作った作品紹介の発表スライドを流すことです。それにプラスする形で作品のデモ。


Aプランは実物を動かし、発表。(デモ)
Bプランは僕の編集した字幕入り動画で発表する。(デモがうまくいかない場合)
Cプランは会場のパソコンでなく、持ってきた自分のパソコンで発表すること。
だが、ここで悲劇が起こりました。
Show&Tellは、制約上5分で発表しなければならないのですが、今回のデモはPepperとレインボー風車で、大がかりのため、実物を準備するのは大人の手助けが必要だったのです。これはShow&Tellの制約に反してしまうと連絡があり、Aプランアウト

この制約を知ったのはScratchDayの10日前。なんてことだ!時間がない!僕は焦りました。当日のShow&Tellでは、実際にデモをするのではなく、「あらかじめ撮影した動画などで発表してください。」と連絡がきました。

 

その2へ続く。


Scratch Day 2016 in Tokyo


Scratch Day 2016 in Tokyo

MiPをScratchXで動かす「2台のMiPを同時に動かす」 

大人プログラミングで、前回に引き続き、MiPを動かすことに夢中になってしまった。 前回は石原さんのMACをお借りして、Javascriptのコードを少し変えたりしてMiPの右カーブ・左カーブのブロックを作った。

昨日の大人プログラミングでは、石原さんのRaspberryPi3をお借りして、自分のMiPに繋ぎ変えて遊んでみた。

 ScratchXでMIPをちゃぶ台に沿って走行させてみる


ラズパイ3のScratchXでMIPをちゃぶ台に沿って走行させてみる

ちゃぶ台に沿わせるのが難しく、色々曲がる角度や前進する歩数を変えて、10回くらいやり直して、ようやく成功。

帰宅後、MiPをWindowsで動かすためのBluetooth4.0のUSBアダプターを購入しようとしたけれど、Amazonプライムで注文しても翌日のOtOMO寺子屋に間に合うか微妙なため、RaspberryPi3で動かすための準備をすることにした。
NOOBSの最新版をPCにインストール。時間がかかったため、そのまま就寝。



今朝、起きて、インストールが完了していたので、「RaspberryPiではじめるどきどきプログラミング」を片手に、RaspberryPi2で使用していたサムスンのmicroSDを論理フォーマットして空にし、インストールしたNOOBSを解凍し、中のファイルを移した。

RaspberryPi3を立ち上げてみようとすると、電源問題が浮上した。
うちにある電源アダプタは最高は5V・2Aしかなかった。
だが、RaspberryPi3での推奨電力は5V・2.5Aだった。
ネットで調べてみると、2Aでできると書いている人はあまり見つからなかった。
が、1Aで動く(性能の良し悪しあり)と書いている人もいたので、まあ、大丈夫だろうと思って、立ち上げてみた。 


うまく立ち上がったので、Raspbianをインストールした。
以前、RaspberryPi2でラズビアンのインストールの時に一晩かけて行ったことがあったが、今回のRaspberryPi3ではなんと10分ほどでできた。

立ち上げてみて驚いたことは、最初の黒いコンソール画面でカーソルが出て、startxと打ち込まなくてもxwindowが立ち上がったことだった。
立ち上げると、全部英語だった。
だから、どきプロに従ってタイムゾーンの変更をした。
そして一度、rebootする。
すると、ゴミ箱の文字が日本語に変わっていたみたいだが、物凄い文字化けをしていた。
理由はネットでググって知ったが、フォントが入っていないからだそうだ。
そのため、そのネット情報に従って日本語のフォントをインストールして、文字化けを直し、日本語も入力できるようにした。

次に本題のMiPをRaspberryPi3で動かすことをしてみた。
なすラボさんのWEBページをRaspberryPiで開きながら作業を進めようと思ったのだが、ページが重く、読み込めず。
なので、阿部先生がまとめてくださっていた「WindowsでMiPを使う」というページをRaspberryPi3で開き、PCではなすラボさんのWEBページを開き、作業を進めた。
RaspberryPi3はBluetoothが標準搭載なので、どの作業も容易に進めることができた。
おかげで僕のMiPをRaspberryPi3で動かせるようになった。
となると、次は、2台のMiPを同時に動かしたくなった。
今日のOtOMO寺子屋で石原さんがMiPを持ってきてくださっていたら、2台同時走行にチャレンジできる。
僕はウキウキ楽しみに三軒茶屋に向かった。 三軒茶屋に到着。
OtOMO寺子屋の始まりだ。 2台のMiPを同時に動かしたかった僕は、石原さんが作ったscratch2mip_helper.jsファイルを石原さんにアドバイスをもらいながら一部修正して、2台同時に動かすことに成功した。
nanoエディターでJavascriptのコードを書き、編集した。 まずは2台のMiPを一緒にダンスさせてみた。
その後は、円を描かせ、正方形を描かせ、最後は相撲。
MiP、めちゃくちゃ楽しい。
が、学校の宿題がまだ終わっていない。。。
だから、ブログはダッシュで書いた。 ー>宿題、頑張るぞ、俺。w


OtOMO寺子屋 2台のMiPを同時にラズパイ3でScratchXから動かす


2台のMiPを同時に動かす 円を描いた走行


2台のMiPを同時に動かす 正方形に動かしてみる


2台のMiPを同時に動かす 相撲をさせてみる


2台のMiPを同時に動かす 相撲をさせてみる その2


2台のMiPを同時に動かす 相撲をさせてみる その3

 

 

 

ScratchからKinectを使ってPepperを制御する


今回はScratchからKinectを使ってPepperを制御してみた。

僕はアルデバランというPepperがうじゃうじゃいる所に行き、ワークショップに参加した。

ワークショップの内容は「ScratchとPepperを通信させる」こと。
申し込みWEBサイトをみたときは、目が点に・・・。とまではいかないが、本当に驚いた。


当日

道に迷い、開始時間に少し遅れてしまった。
急いでアルデバランの部屋に向かうとそこは満員電車と化していた。

石原さんに座れそうな場所を教えて頂き、やっと座れた。

f:id:kogame2004:20160503113941j:plain


部屋のすぐ外にはPepperの長蛇の列。
f:id:kogame2004:20160503113802j:plain
ちょっとPepper怖い。
さて、本題へ戻ろ。
会場にはScratchとPepperを通信させるための下準備をしてきた人は、ほとんどいなかった。
※下準備・・・下記の2つのWEBサイトに書かれたセットアップ手順に従い、ファイルをダウンロードすること。

github.com


github.com

僕はPepperを制御しようと思ったが、まだ下準備が完全には済んでいなかった。
Pepperのプログラムを開発するための「Choregraphe」をインストールしていなかったのだ。
だが、それはすぐに解消された。
スタッフの人のUSBにSetupするアプリケーションが入っていたのだ。
なんと親切な。
すぐさまChoregraphe 2.4.3Setupアプリケーションを起動し、インストール!

ポチッとな。

インストール中・・・・

タッタカターン♪
完了。
Choregraphe 2.4.3起動。
動いた。イェイ👍
さぁ、早速Pepper実機と接続だ。
WiFiのマークのような赤丸で囲ってある緑の接続ボタンを押し、繋げたいPepperを選択、接続。

f:id:kogame2004:20160429152657p:plain
これで良いはずなのだが、繫がらない😢
スタッフの人に聞くと「Windows10だからできないのかもしれない。
」と言われ、急遽、会場にあったMacをお借りして繋げることに。

 

僕はMacを本格的にプログラミングなどで使うのは初めてだった。

今回のWSの主催者の谷口さんがMacの使い方を教えてくださった。

f:id:kogame2004:20160503114243j:plain

Macで再試行するとスムーズにPepperと繋げることができた。

そのため、「やっぱり、Windows10だから動かないのかな」と僕もこの時点では思っていた。
このまま、お借りしたMacでガンガン進めようと思ったが、このMacにはScratch1.4もScratch_OSC_Bridgeも入っていなかった。
つまり、Choregraphe 2.4.3以外必要なアプリケーションが入っていないのだ😱
そこへ、谷口さんが来て救いの手を差し伸べてくれた。(少々、大げさ)


「Windows10でScratch1.4をScratch_OSC_BridgeでPepperに繋ぎ、PepperのプログラムはMacのChoregraphe 2.4.3で開発すればいいじゃないか」と言われたのだ。


最初、僕は何を言われているのか分からなかった。
頭の回転速度がついていかなかったのだ。
だが、谷口さんは再度、敬語で優しく教えて下さった。
それもあり、理解することができた。


まず、MacのChoregrapheを立ち上げ、上記Webサイトの②のPepperのサンプルプログラムを開く。
次に、僕のWindowsPCのScratch1.4を立ち上げ、上記Webサイトの②のScratchのサンプルプログラムを開き、遠隔センサ接続を有効にする。
※遠隔センサ接続については下記WEBサイト参照。

Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その1) - 僕は発展途上技術者

そして、肝心のPepperとScratchを繋げるScratchOSCBrigeを立ち上げ、下記写真の赤枠部分に「Connected with Scratch」と表示された。
「よっしゃー!」と言いたいところだが、ここからが難関。(やり方もブログの書き方も(笑))

f:id:kogame2004:20160502210115p:plainf:id:kogame2004:20160501133315p:plain

 
この後にPepperIPアドレスとPortの入力、作成があります。
まず、黄色の枠部分にPepperIPアドレスを入力し、橙色の枠部分のボタン「SET HOST IP-ADDRESS」をクリック。
次に紫色の枠部分の「9000」を「8000」に打ち替え、桃色の枠部分の「SET OUTGOING PORT」ボタンを押す。
これで良いはずなんだけど・・・。

ChoregrapheもScratchもプログラム実行。
うまくいかん😣

再度、設定しなおしたり、いじった。
理由はよくわからないが成功。

でも、この後の発表タイムで何見せよう。
とりあえず、家から持ってきたKinectV1(モーションセンサ)とScratchを「Kinect2Scratch SDK」で繋ぐ。

f:id:kogame2004:20160503115214j:plain
何を製作するかは、頭よりも体が先に動いていた。
まず、Pepperをアニメーションモード(目がオレンジ色になる)にする。(手の甲に触れると目が緑に変わり、触れている間、腕が自由に動かせる)


次に、発表タイムまで時間もないので大まかに「両腕あげた時」「両腕下げた時」「左腕あげて右腕下げた時」「左腕下げて右腕あげた時」の四つの動作を作る。
Choregrapheのプログラムの部分は、上記Webサイトの②のPepperのサンプルプログラムを応用し、Scratchから変数で制御できるようにするための「Switch Case(1)」の部分を改造。

f:id:kogame2004:20160503115247p:plain

僕の作った「Switch Case(1)」の部分はプログラムとしては汚いのでブログに載せたくない。ご勘弁を!"(-'''-)"と思ったが、Choregrapheのプログラム載せるよ。

f:id:kogame2004:20160503112040p:plain
※上記画像のプログラムはブログに書かれているプログラムとは異なる。

(四つの動作だから四つで良いのに六つある。)

Scratchのプログラムは、KinectV1(モーションセンサ)のセンサ値を使って作る。

kinectで左手、右手の位置(今回はY座標だけ)の値を使い、大まかにPepperが人の手の高さに合わせて腕をあげるか、あげないかを認識し、腕を上げ下げする。

まず、もし〇〇ならブロックを使い、左腕があがっている時に右腕があがったら両腕をあげる。

これを右腕も同様に作る。
そして、腕を下げるプログラムも左腕、右腕と作る。

もし〇〇ならの間の六角形の部分に、演算の不等号ブロックを六角形にはめ込む。

演算の不等号ブロックのある片方に「調べる」の(スライダー)センサの値をドラッグし、そのブロックの小さな下向き黒三角▼をクリックして「HandLeft_y」を選ぶ。
この後が凄く大変な作業。
Kinectでの左手の高さの判別方法はだいたい数値が0の時が腕を地と平行にしたくらいなので0以上か、0以下かで動作(腕をあげるか、あげないか)を判別する。
すると、下記のようなプログラムが出来上がる。

f:id:kogame2004:20160504160033p:plain

サンプルプロジェクトでも使われている変数「test」で動作を指示している。
これでプログラミング完了👌
さぁ、ScratchとChoregrapheのプログラム実行!!

準備中・・・・

KinectPepperを操作してみる。
プログラム通り動いた~~😝
後は自分の発表タイムを待つのみ。
そして、僕の発表タイムだ。
下記写真複数からも分かるように僕の手の動きに合わせ、Pepperも手をあげることに参加者の方もスタッフの方も驚いてくれた。
特に両腕があがった時は拍手喝采だった。
スタッフの方は、「この短時間でよく作れたね。」と褒めてくれた。

f:id:kogame2004:20160505203626j:plain

f:id:kogame2004:20160505005224j:plain

f:id:kogame2004:20160503120332j:plain

ワークショップの雰囲気が良くて楽しかった。「わからない所は同じテーブルの参加者同士で教えあって下さい。」と主催者の方から何度かアナウンスがあったおかげで、あちこちで大人も子供も関係なく和気あいあいと教えあう雰囲気があって、とてもやりやすかった。


下記写真はワークショップ終了後、体験してくれた男の子。
僕の作ったもので遊んでくれて、嬉しくてあたたかい気持ちになった。

 

kinectは結構距離がないとうまく反応してくれない。会場は人が一杯でスペースを確保できなかったため、上半身だけで認識するように位置を調節していた。

そのため、男の子に体験してもらった時は、身長が大人よりも低いため、男の子の体の大きさ・人として認識される位置・腕の長さに合わせてKinectの位置を変えた。

f:id:kogame2004:20160505121940j:plain

下記の写真が、今回の会場での僕の開発風景。人が一杯の時は埋もれて見えなかったので、改めて写真にして説明を加えてみた

f:id:kogame2004:20160505002658p:plain

 

 そして、今回のワークショップの主催者の皆さんとの記念写真。

左から、梅田さん、谷口さん、石原さん。

会場には他にもたくさんのスタッフの方がみえました。

皆さん、楽しい体験をさせていただきありがとうございました。

f:id:kogame2004:20160503122623j:plain

 おまけ:発表タイム後。デモが成功し、和やかな雰囲気になり、ほっとして笑顔の僕。

f:id:kogame2004:20160505022706p:plain

ワークショップ終了後、「Windows10でやっていた人がいたよ。」と聞いたので、
僕のPCでできなかった理由が「Windows10だから。」というわけではないことがわかった。

これについては、別の日にアルデバランに行き、一時間程試行錯誤して僕のWindowsPCでもできるようになった。やったー🙌

 

LazuriteとRaspberryPiを組み合わせてお手軽Iot ~Lチカ ・ 920MHz編~

 最近、IoTという言葉をよく聞く。
僕は最初は何のことかわからなかった。ショッカソン見学に行き、作品を色々みせてもらっている時、「ラズパイならIoTが簡単にできるよ!」と言われ、それならやってみようか!と思った。
 改めて書くと、IoTとは、Internet of Thingsの略称でモノのインターネットのこと。
う~ん。理解いまいち。w
ラズパイでIoTしたいけれど、何が必要なんだろう。
何ができるんだろう。
何から始めたらいいんだろう。もやもやしたまま、CEATECで何かヒントがあるといいなと思って会場を回っていたところ、ROHM(株)さんのブースで僕は、「これだ!」と思うものと出逢った。
 その時の事を始めに少し書きます。

ROHMのブース天井からつり下げられていた大きな「折り鶴」。
「もしかして、これ、飛ぶんじゃない?」
ピンポーン!大正解!この「折り鶴」は、折り鶴型飛行体「ORIZURU」というものだった。
あと10分でデモ飛行をすると聞き、デモ会場の一番前に陣取って待った。
2羽の和紙の折り鶴が幕張メッセのCEATECの会場を見事に飛んだ。
大勢の観客からどよめきがあがった。

f:id:kogame2004:20151113215120j:plain

 【写真】デモで折り鶴型飛行体「ORIZURU」を飛ばす超小型飛行研究所の宗像俊龍さん

その後、開発者の方による「ORIZURU」の説明、プレゼンがあった。

興味を持って聞いていると、「RaspberryPiでIoTが簡単にできる」と説明が!

しかも、920MHz帯の技適認証取得済モジュールがついてる!

 これは、運命の出会い!(大袈裟!?笑)
飛ばすものも作れちゃう!

f:id:kogame2004:20151113215142j:plain

プレゼン終了後、Lazurite開発者の方に詳しい話を伺いに行き、後日、僕はLazuriteSubGHzとLazurite Pi Gatewayを手にした!

f:id:kogame2004:20160111165847p:plain

ラピスセミコンダクタ株式会社 Lazurite開発者の齊藤 直孝さん。

f:id:kogame2004:20151113215039j:plain

 

 そして、IoTについて、まだ何もわかっていない僕はLazuriteと、今回はRaspberryPi2を使って、Twitter連携をすることを目標にした。
 注:Lazurite Pi Gatewayと繋げられるRaspberryPiは、RaspberryPi2でなくても40pinのb+やa+でもできる。(bやaはGPIOのpinの数が26pinで足りないのでできない。)


Lazuriteとは 

 ・ラピスセミコンダクタ株式会社が出しているArduino互換マイコンボード(IoTソリューションボード)。

 ・Lazurite Sub-GHzはラピスセミコンダクタ製16bit低消費マイコンML620Q504を搭載したオープンプラットフォームのマイコンボード。

 ・数百メートルの通信を低消費電力で実現できる特定小電力(920MHz帯)の技適認証取得済モジュールを同梱しているため、IoTのセンサーノードを簡単に実現することができる。

 ・Lazurite Pi Gatewayは、コストパフォーマンスの高く高性能なLinuxコンピュータ”Raspberry Pi”を特定小電力(920MHz)のGatewayにすることができる無線モジュール。

 上記の紹介は、ラピスセミコンダクタ株式会社さんのHPより一部抜粋して引用させて頂いたものなので、詳細は下記へ。

http://www.lapis-semi.com/wp/ 

Lazurite関連ファイルダウンロードはこちらです。

ダウンロード | Lazurite

 

 僕は、ほとんどArduinoを触ったことがなかったので、Lazurite SubGHzを使いTwitter連携をするために、まずは基本のLチカをし、その次に920MHz通信をやってみることにした。

1、Lチカ
・まず、LazuriteSubGHzの準備する。
・LazuriteSubGHzと無線モジュールを組み立てる。
  ネジ穴が最初からあいているのでネジでガッチリ固定できる。

・LAZURITE IDEのインストール
 Lazurite関連ファイルダウンロードページに行き、インストーラ又はzipファイルを選んでダウンロードする。
 僕はWindowsPCでインストーラーを選択した。

・サンプルプログラム「Blue LED」(blue led)を見ながら基板内蔵のLEDが点滅するプログラムを作り、実行する。
 きちんと動く。
 ここは、スムーズだった。

f:id:kogame2004:20160111155237p:plain

>(上記写真は、ラピスセミコンダクタ株式会社のダウンロードページのドキュメントからダウンロードしたファイル記載の写真を引用させて頂きました。)


2、920MHz通信

 次にLazuriteSubGHzの最大のウリである920MHz通信をLazuriteSubGHzとLazurite Pi Gatewayを使ってしてみる。
Lazurite Pi GatewayとRaspberryPi2、無線モジュールを下の写真のように接続した。

f:id:kogame2004:20160111122456p:plain

(上記写真は、先ほどの写真と同じでラピスセミコンダクタ株式会社のダウンロードページのドキュメントからダウンロードしたファイル記載の写真を引用させて頂きました。)


 組み立て終わり、いざRaspberryPi&Lazurite Pi Gatewayを起動しようとしたが・・・・起動するためのMicroSDの中身いれてなかった(orz)

  僕はマニュアルに書いてある
「>1. ダウンロードしたファイルを、Win32DiskImagerなどのツールを使用してイメージファイルをマイクロSDカードに書き込んでください。 」
に従い、関連ファイルダウンロードページの下の方にあるLazurite Pi Gatewayを使用するためのRaspberry Pi用イメージファイルをダウンロードした。

 ちなみに、イメージファイルは、Raspberry Pi B+/A+用Rasbianイメージファイル、Raspberry Pi2用Rasbianイメージファイルとそれぞれあり、僕は、最初a+で使いたかったので、Raspberry Pi B+/A+用Rasbianイメージファイルをダウンロードした。


 NOOBS解凍後の中身とイメージファイルを1つのMicroSDにcpするのか、イメージファイルだけをMicroSDにcpするのか。
だが、どちらも違った。
イメージファイルを書きこむのだ。
なぜ、分かったか。
上記の「」の部分にもかいてあるが、なんと、きちんとマニュアル(ダウンロードした関連ドキュメントの事)に書いてあったのだ。
改めて思うが、僕ってなんで肝心なところだけ見過ごすんだろう。

 ここで、Lazurite Pi GatewayとRaspberry Piを組み立てる。
さて、成功なるか。

ダララララララララララララ~  ダッダッダン(ドラムロ-ルの音♪)

動かないorz
どういうことだ。

ちゃんと、RaspberryPiA+のディスクイメージ入れて、RaspberryPiA+でやっている・・・あれ!?

RaspberryPi2でやっているではないか。何してるんだろう僕。

RaspberryPiA+にUSB差し替えてMicroSD挿して、いざ、参る。
スイッチON!

立ち上がった~。
待った、これログインしなくてはいけないみたい。
マニュアルにも書いてあるが、設定は初期設定のままだそうだ。

"pi" ⇒ "raspberry" ⇒ "startx" ⇒ xwindow立ち上がる。

やっと、見慣れたデスクトップ画面だ。
マニュアルの通り進めていこう。

ターミナルを立ち上げて、「"sudo raspi-config"」でEnterキー。
画面が変わると思うので、「1.Expand Filesystem               Ensures that all of the SD card s・・・・。」を選択し、Enter。
また、画面が変わると思うので「ok」Enterキーを押し、再起動又はシャットダウン。
これで、ディスク容量の拡張ができた。

サンプルプログラムの実行&RubyのSerialMonitorの表示
 次にメッセージをLazuriteSubGHz側から送らないといけないので、PC(RaspberryPiではない)にMicroUSBでLazuriteSubGHzを接続する。
 LAZURITE IDEを立ち上げ、サンプルプログラムであるWelcome_SubGHzをLazuriteSubGHz側に書き込む。
 下記のような感じ。

      f:id:kogame2004:20160111173938p:plain

 ここで忘れてはいけないのが、ホストアドレスの編集だ。
 これはマニュアルには書かれていないのだが、下記写真のRaspberryPi&Lazurite Pi Gatewayの方の無線モジュールに貼ってある白いシールのQRコード右横の数字、文字の羅列の下の行の右から4つ目までを覚えておく。

   f:id:kogame2004:20160111195647p:plain
                    四桁
そして、下記の画像の反転している「#define HOST_ADDRESS  0x〇〇〇〇」の〇〇〇〇の所に覚えておいた四桁を打ち込む。
上書き保存し、LazuriteSubGHzに書き込む。

f:id:kogame2004:20160111193508p:plain


 続いて、RaspberryPi2&Lazurite Pi Gateway側の準備。
 RaspberryPiを立ち上げていたら、再起動し、立ち上げていなければ起動する。
 そして「”cd ruby”」で、ディレクトリに移動する。
 これで準備は終わりで、後は「”sudo ./SerialMonitor.rb”」を実行するだけなのだが、
僕のはうまくいかなかった。
 マニュアル通りに進めたのになんでだ。(本当にorz 意気消沈)
RaspberryPiA+からRaspberryPi2に替え、RaspberryPi2のディスクイメージ入れてやってもみたのだが、それでもうまくいかなかった。

原因を探ってみたが、全くわからなかった。
どうにもならず、開発者の齊藤さんに問い合わせをしてみた所、原因は分かったのだがそれは後ほど。
そして、齊藤さんにRubyではなくPythonでやることを勧められ、そうすることにした。

代わりにPythonで920MHz通信
 齊藤さんのサポートを受けながら、Pythonでの方法を教えてもらい、Rubyとは全く違う方法でうまくいった。
Python3を立ち上げ、ターミナルも立ち上げる。
ターミナルで「”cd ~/driver/sub-ghz”」でディレクトリに移動し、「”make”」を実行する。
文字や数字が表示されるが、何かのファイル(知らない)をコンパイルしているそうだ。
これが終わったら、Python3の画面に戻り、Run(実行)をする。(F5キーでも可)
すると、Lazurite Gatewayというwindowが開く。
画面にある「Start」ボタンを押すと、「Welcome to Lazurite  Sub-GHz」というコメントが受信される。
Rubyでうまくいかなかった僕は受信された瞬間、歓喜に沸いた。

RubySerialMonitorのDriverを入れて再度実行
さっき、「後ほど。」と書いて終わっていたRubyでうまくいかなかったこと。
この原因は、920MHz通信するためのドライバーがロードされていなかったことだった。
「ガガガガーン」これマニュアルに載ってな~い。
何回orzしないといけないの。
だが、かの有名なトーマス・エジソンはこう言った。
「失敗したわけではない。 それを誤りだと言ってはいけない。 勉強したのだと言いたまえ。」と。
これは失敗ではない、勉強したのだ。

f:id:kogame2004:20160111235958p:plain

上記のようなカッコつけはこれくらいにして、920MHz通信するためのドライバーのロードするためターミナルで「”sudo insmod ~/driver/sub-ghz/DRV_802154.ko”」と打ち、実行。
うまくいった~。
嬉しさが胸にこみ上げてきた。
イェーイ!!!
 

このブログは、2015年10月下旬に書き始めたものなのですが、ずっと続きを書けていなくて、今日やっと何とか前半部分を書き終えました。
後半のTwitter連携の話は別で書きます。