Nature Remo を開封しました

Nature Remo を使えば Google Home からテレビ、照明、エアコンが操作できます。 21 世紀の下宿をつくるぞー!

Nature Remo とは

Nature Remo(ネイチャーリモ)は、お使いの家電をインターネットに繋げることで、手軽にスマートホームを実現するスマートリモコンです。例えば、外出先からスマートフォンでエアコンを操作したり、Google Homeグーグルホーム)やAmazon Echo(アマゾンエコー)から音声でテレビや照明を操作することができます。

nature.global

早速開封しました

Nature Remo の公式サイトから注文しました。 12/2 に注文した際に、「お届けは 12 月下旬」と記載されていたので、さらに 2 ヶ月くらいかかるのではないかと見込んでいましたが、 12/23 には届きました。 好感度爆上げです。

パッケージは、アップル製品をリスペクトしている印象を受けました。

f:id:RyoSaitoOp3:20180505154501j:plain

サイズは約 7.5 cm 四方。 白いプラスチック製ですが、安っぽい印象は受けませんでした。 あまり大きくないので、部屋に溶け込んで目立たなくなると思います。

f:id:RyoSaitoOp3:20180505154541j:plain

前後しますが、現在はこのように設営しています。 部屋に来た友人も、Nature Remo の存在に気づかない人がほとんどです。

パッケージに含まれているものは、以下の通りでした。

  • 本体
  • USB A - microUSB 変換ケーブル(電源ケーブルになります)
  • AC アダプタ
  • 説明書
  • 両面テープ 2 枚

本体が軽く、両面テープが協力なので、ほとんどのケースでは両面テープで固定できると思います。

f:id:RyoSaitoOp3:20180505154924j:plain

microUSB での給電なので、オフィシャル以外のケーブルでも充電可能と思われます。

f:id:RyoSaitoOp3:20180505155135j:plain

想定よりだいぶ簡単だったセットアップ

Nature Remo での設定

Nature Remo 上の設定は、アプリの画面に従ってリモコンの赤外線を登録していくだけで完了しました。 特に、エアコンに関しては電源ボタンを登録するだけで、メーカーを検知し、いちいちボタンを登録しなくても設定が完了しました。

Google Home との連携

現在は、Google Home と直接連携して操作できるようです。

nature.global

私が購入したタイミングでは、IFTTT との連携が必要でした。 IFTTT を使う場合でも、Nature Remo、Google Assistant ともに IFTTT に対応しているので、IFTTT 上の簡単な操作でセットアップが完了します。

21 世紀の下宿はできたのか


Nature Remo でエアコン、照明、テレビを操作

WDTでスリープからの復帰を制御し、タイムスタンプはTimer2で行った

Timer2ライブラリは1ミリ秒ごとに起きてるっぽい

こちらによると、Timer2ライブラリはカウントが1mミリ秒上がるごとに割り込みを行うらしい。 だからSleep機能と相性が悪いらしい。

WDT_delayを導入した

ラジオペンチ様の記事を参考に、WDT_delayを導入しました。 仕様上8秒ごとに起動してはSLEEPを、目的時間まで繰り返します。現状だとこれがベストっぽいです。

次のアクション

電力使用量、および時間カウントの精度をチェックしようと思っています。 その次は、ベタですがこの装置に土の湿度計と水やり機能、紫外線及び赤外線の照明機能をつけて、全自動で植物を育てる装置にでもしようかと思っています。

X-Plane について調べた

フライトシミュレーターのX-planeについて調べました。

なぜフライトシミュレーター?

  • いつでも操縦練習ができるから。
  • 飛行機に興味ある人に対して、すぐに操縦体験をしてもらえるから。
    • ただし、「操縦より飛びたい」という人が多そうなので、「操縦だけど飛べない」というフライトシミュレーターがどれくらいの人に刺さるかは謎。

なぜX-plane?

必要なものと予算

  • X-plane ソフトウェア本体
    • 英語版の Download 版で $59.99-
  • パソコン
  • 操縦桿、スロットル、ラダー
    • 操縦桿とスロットルは、Mad Catz MC-X52Zとか。 2016/6/12 時点で ¥19,180- と高い。
    • ラダーペダルは、CHProducts CHProPedalとか。 2016/6/12 時点で ¥19,600- と高い。
  • VR はそのうち対応。

次のアクション

  1. デモ版をパソコンに入れて動かしてみる
  2. ラダーと操縦桿をつけて動かしてみる
  3. 正式版を買ってさらなるプレイ
  4. パソコンの性能をアップグレードさせてさらなる快適プレイ
  5. VR に正式対応したら、OculusRiftを買って全視界プレイ

それぞれの買い物が高いので慎重にならねば。

カメラとタイマー 続き

Arduino内臓のタイマーで時刻管理することにした

カメラが割り込み入力用のピンを専有してしまい困っていたので、Arduino内臓のタイマーで時刻管理することにした。 Arduino内臓のタイマーだと大幅に時間がずれるかと思ったが、月間3分くらいで済むそう。

タイマーとスリープが同時に動かないことが判明

Timer2を動かしていると、 SLEEP_MODE_PWR_SAVE で眠らせたArduinoがすぐに起きてしまうことが判明。 他のモードだと、Timer2による割り込みメソッドでは起きなかった。

次の方策

  • Timer2でスリープから正常に復帰させる方法を詳しい人に相談する
  • WDTでスリープからの復帰を制御し、タイムスタンプはTimer2で行う (←現実的だけどクソめんどい)

スリープと割り込みについて

一定時間経過ごとにスリープから目覚めさせ、写真撮影するためにこのサイトこのサイトを調べていた。

スリープ、割り込みについては方法が理解できた。

if (i) attachInterrupt(digitalPinToInterrupt(2), wakeup, LOW); // D2 LOW → HIGH で割り込み

としたうえで、INPUT_PULLUPにしているピンにLOWをつないだら反応した。

困ったこと

カメラがpin2、pin3を専有するが、割り込みもこちらのピンしか機能しないっぽいので困った。

arduinoに時計を組み込む方法

毎日決まった時間にarduinoで撮影したいと思ったので、RTCを組み込むことにした。

買ったRTCは RX 8025-NB。説明書はこれ。参考サイトはこちら

書いてあるとおりに繋いだら動いた。

気になったこととしては、

アドレス指定と値指定の書き方が一緒っぽい

Wire.beginTransmission(RTC_ADRS);

の次の行の

Wire.write(0xE0);

で書き込むアドレスを指定していて、それ以降の

Wire.write(0x20);

では実際に書き込まれる値を指定していること。

日時の入力方法と他の入力方法が紛らわしい。

日時は、例えば55秒なら 0x55 と入力する一方、Control1などでは、入力したい値を16進数に直して入力する。 当然といえば当然だけど。。。

Alarmの時刻になるとlowになる

普段は3.3V。

追記します。

arduinoでJPEGカメラを動かす方法

行ったこと

Arduino UnoでJPEGカメラを使って撮った画像をmicroSDカードに保存しようとした。

参考にしたサイトはこちら

サイトの通りに結線してファイルをインストールし、動かす。

カメラが動かない

microSD上にファイルは作成されるので、microSDカードDIP化キットの結線と操作は問題なさそう。  ちなみに、今回使ったのはmicroSDHCカード16GB(SUPER*TALENT)。  ArduinoのSDカードライブラリではSD、SDHCは扱えるが、SDXCは扱えない模様。

一方、作られたファイルをMac上で見ても読み込まれない。 また、それぞれのファイルサイズはまちまち。 シリアルモニタを見ていると画像サイズであるところの PictureSize がたまに負の値になっている。

考えられる原因

カメラモジュール自体が破損している ←ただし、動作中にカメラモジュールを抜いたら、シリアルモニタの更新が止まったので、カメラモジュールが全く動作していないことはなさそう カメラモジュールを操作するコードに問題がある

←参考にしたサイトで使われているモジュールと、今回私が使ったモジュールは異なる。なので、この可能性は大きい。 ←別のサイトを参考に再び試す予定。

SDカードスロットをチェックした

SD card formatterでSDカードをフォーマットした。 そのあと、Card InfoでSDカードをチェックした所、SDカードに問題なくアクセスできた。

カメラをセットアップした

ここに従ってカメラをセットアップしたら動くようになった。 連続撮影にすると、初めに撮影した画像が複数枚保存されるようになった。保存後に cam.reset() を行ってカメラ内の画像を消去すると、毎回新しい画像が撮影できるようになった。

f:id:RyoSaitoOp3:20160507221559j:plain

画像は汚いので、もう少し調整が必要。

画質を向上させた

ピントを調整したら、画質はかなりましになった。

f:id:RyoSaitoOp3:20160508142905j:plain

いろいろいじったせいで、写真サイズの変更ができなくなった。