SSブログ

obniz で赤外線リモコンを操作させようと思ったけど躓いた [工作]

世の中"IoT"なんだってよ。知ってた?。 職場でも話題になってたな。>>IoT
ということで仕事とは全然関係ないけど、obniz ボードを取り寄せていじってみた。

obniz_board.png

これを使って何かするといえば・・・
まぁ最初に思いつくのはインターネット経由の赤外線リモコン操作だよね。
赤外線モジュールを繋いだ obniz をリモコンに仕立てて、
スマホで obniz を操作してエアコンのオン・オフをやってみるというもの。
それで赤外線モジュール取り付けていじってみたんだけど、
例によってすんなりとはいかなかったのでメモ。

やろうとしたことは、学習リモコンみたいに本家リモコンの信号を obnizボードで受信して保存、
そのデータを使って obnizボードから赤外線を出してエアコンを操作するというもの。
例があったのでその通りにやってみたがうまくいかなかった。
原因は、赤外線受信時のデータ長不足。
まず、赤外線モジュールが受信できているのか?を確認。
デジタルオシロでモニターしたら、受信自体はできているようだ。
データの長さを測ってみたら0.7秒弱だった。

oscillo.png
    図1. 赤外線モジュール受信信号(赤外線リモコンは 日立 エアコン RAR-9E3)

次に、obniz の赤外線モジュールのライブラリを調べてみたら、
受信時間はデフォルトで0.5秒・・・・足りてないじゃんorz
なので、ちょっと余裕を見て1秒に設定してやったら無事動きましたとさ。

設定は JavaScript で module.start の前に下記を追加。
     module.duration = 1000;
私は JavaScript の経験がないので、最初のロジックはブロックプログラムで組みました。
ですが、ブロックで受信時間を設定する方法がわからなかったので、
ブロックプログラムで組んだロジックを JavaScript に変換して、
受信時間を設定する行を追加して動作させました。

ブロックプログラムは簡単でいいですね。
たとえ参考例があったとしてもいきなり JavaScript でコーディングしろとか言われるとちょっと尻込み。
ブロックプログラムは見た目で分かりやすいのですぐ使えました。
でも、細かな設定ができないのとプログラム間のコピーが出来ないのが難点。
細かな設定は仕方ないとして、普通、プログラム書く時は、いくつかソースを表示させて、そこからコピペで作っていくものだと思いますが、それが出来ないって・・・
ブロックプログラムはとっつきやすくてとても良いシステムだと思うのですが、
何か obniz のプロジェクトでのブロックプログラムの立場が解ってしまった気がして、
ちょっと不憫。

obniz をちょっと触ってみただけの感想ですが、
obniz board ではハードウエアの細かい制御はちょっとしんどいかなと思いました。
私としては JavaScript で細かいハード制御をさせようと思わないので、
もし、そういうことをしようとする場合は、ハードの制御は Arduino とかにまかせて、
大まかな動作とインターネットとの接続は obniz board でということになるんだろうなと思ってます。
Arduino でも IoT は可能なようですが、私にとってはハードルが高く、
インターネット接続は obniz に任せちゃった方が良いかなと思ってます。
Raspberry Pi ならなおさら IoT は可能でしょうが、むしろいろいろ出来すぎてしまい、
セキュリティの設定で手間を食いそうなので、積極的にはやりたくないですね。
(セキュリティについて真面目に取り組んだことが無いし、語れない。)
なのでもし IoTでハードのコントロールというのであれば obniz + Arduino かなぁと思ってます。

nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。
スピーカーボックスの中に Raspber..|- ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。