IoT
NefryBT
NefryDay 23

部屋の電気が付いたらLINEメッセージを送ってくれる仕組み(の後編)

1月22日(木)はIoTLTのSIer版を主催されていらっしゃる@CharaDenMitzさんが初めてのNefryでチャラくてハデなLチカを投稿してくださいました。

Mitzさんロゴで光るLEDがとてもかっこいいです!!IFTTTの特定ワードをキックに点灯する仕組みも是非参考にさせていただきます!

今年からプログラミングを始めてたペーペーな私は、簡単なところから、先日購入したGROVEスターターキットと一緒に始めたいと思います。

Nefryはお詳しい方にも、私のような初心者にも、馴染みやすくて非常に助かっています。

〇今日のアジェンダ

1.IFTTTでLINEメッセージを飛ばす
2.タッチセンサーをつなげ、触ったら(近づけたら)LINEメッセージを飛ばす
3.光センサーをつなげ、部屋の電気がついたらLINEメッセージを飛ばす

1,2はそれぞれわみさんNefry BTとIFTTTでスイッチを押したらLINEを送る仕組みを作ってみようと、nefry.studioさんの記事にそって進めました。前編に記入しています。

今回は3を扱います。

3はtseigoさんのアドバイスをベースに作成しました、ありがとうございます!

それでは内容に入ります!!

〇3.光センサーをつなげ、部屋の電気がついたらLINEメッセージを飛ばす

まず、IFTTでLINEへメッセージを送る設定が下準備が必要です。

そちらはわみさんの記事を参考に行ってください。

最終的にこんな感じで、電気が付くなど光が強くなった時にLINEでメッセージが送られてきます。

4_電気着いたときのLINE.png

私は友達とシェアハウスに住んでいるので、誰かがリビングの電気を付けると自動でメッセージが飛んできます。夜会社にいる時メッセージが送られてくると、「あ、誰か帰ったんだな、、、いいなあ、、、」なんて気持ちになります。

深夜や早朝にメッセージが送られていると、誰か寝付けなかったのかな、、、なんて思います。気味が悪いですね、、、、汗。

コードは以下です。

#include <Nefry.h>
#include <NefryIFTTT.h>
String Event, SecretKey;


int sensorValueNow;
int sensorValueBefore = 0;

void setup() {
  Nefry.setStoreTitle("SecretKey",0); //Nefry DataStoreのタイトルを指定
  Nefry.setStoreTitle("Event",1);     //Nefry DataStoreのタイトルを指定
  SecretKey = Nefry.getStoreStr(0);   //Nefry DataStoreからデータを取得
  Event = Nefry.getStoreStr(1);       //Nefry DataStoreからデータを取得

  Nefry.println("Grove Light sensor SETUP");

  Nefry.setLed(0,0,0);
  pinMode(A2,INPUT_PULLUP);//入力モード切り替え
}

void loop() {
  sensorValueNow = analogRead(A2);

  Nefry.print("sensorValueBefore=");
  Nefry.println(sensorValueBefore);
  Nefry.print("sensorValueNow=");
  Nefry.println(sensorValueNow);

  if(sensorValueBefore < 300){
    if(sensorValueNow > 700){
      bool sendData = IFTTT.send(Event, SecretKey,"Nefry_LightON","前:"+(String)sensorValueBefore,"今:"+(String)sensorValueNow);//IFTTTにデータを送信
       }
      }

  sensorValueBefore = sensorValueNow;
  Nefry.print("sensorValueBefore=");
  Nefry.println(sensorValueBefore);
  Nefry.println("");

  Nefry.ndelay(10000);
}

1.2のコードに@n0bisukeさんGroveの光センサをNefryで使うメモ #nefry #dotstudioのコードを参考に作らせて頂きました。本当に、多くの方々の知恵を勝手に拝借してすみません、、、、。汗

「マイコンボードに書き込む」するとシリアルポートにこんな感じでます。

4_電気着いたときにSerialPrint3.png

700以上で電気はついている、と判断しています。

映像が乱れていて随分見にくいですが、実際の動きはこんな感じになります。

〇出来た後に学んだ事

閾値をどこにするかが難しいです。最初500にしていたのですが、それだと隣のキッチンの光を拾ったりします。結局700にしました。

本来はライトのすぐ数cmとか、すごく近くに置いて高い閾値を設定するものなんでしょうね、、、、

とは言え、身近な生活に介入してくる仕組みを作れると嬉しいですね。

明日はtseigoさんで「NefryBTで音を鳴らす予定」ですね、楽しみです!!

ありがとうございました!