12/17(月)はm2wasabiさんが、NefryBTのファームウェアを自分用に改造して動かそうを書いてくださいました。
記事にあるような自分オリジナルの画面で起動できたら嬉しいですね!
今年からプログラミングを始めてたペーペーな私は、簡単なところから、先日購入したGROVEスターターキットと一緒に始めたいと思います。
NefryBTはお詳しい方にも、私のような初心者にも、馴染みやすくて非常に助かっています。
#〇今日の内容
1.IFFTでLINEメッセージを飛ばす
2.タッチセンサーをつなげ、触ったら(近づけたら)LINEメッセージを飛ばす
3.光センサーをつなげ、部屋の電気がついたらLINEメッセージを飛ばす
1はわみさんのNefry BTとIFTTTでスイッチを押したらLINEを送る仕組みを作ってみようにそって、
2はnefry.studioさんの記事にそって、
3はそれらのコードを少し修正して作ろうと思います。
3はIoTの世界へ導いて下さったtseigoからのアドバイスで実現しました、ありがとうございます。
それでは内容に入ります!!
#1.IFFTでLINEメッセージを飛ばす
※重ねて伝えますが、わみさんのNefry BTとIFTTTでスイッチを押したらLINEを送る仕組みを作ってみように丁寧に書かれていますので、是非ご覧ください!
コチラの章はわみさん記事に沿って、少しだけキャプチャなどを加えて、より手順を細かくブレイクダウンしました。
さて、最終的にはこのような感じでLINEメッセージが送られてきます。
Nefryのボタンを押すとメッセージが送られてきます。
###IFTTTでレシピを作成する
IFTTTのSearchで「web」と検索します。
「Webhooks」をクリックして、ページを移動したら「Connect」をクリックします。
右上の「Setting」をクリックします。
URLのuse/以下をコピーします(もしくはスクショします)。
出来たら「My Applets」をクリックします。
「New Applet」をクリックします。
「+this」をクリックします
「web」と入力してWebhooksを検索してクリックします。
「Event Name」に任意の名前を付けます(Nefryにしました)。
出来たら「Create Trigger」をクリックします。
次は「+that」をクリックします。
「Line」と入力してLINEを検索してクリックします。
「Connect」をクリックします。
LINEがポップアップで出てきますので、アカウントIDとパスワードを入力します。
「同意して連携する」をクリックします。
「Send Message」をクリックします。
「Recipient」で送信先を指定することもできますが、このままでも大丈夫です。
「Create Action」をクリックします。
「Finish」をクリックします。
NefryBTをPCに差し込みます。
Aruduino IDEを開きます。
「ファイル」から「環境設定」を開きます。
「追加のボードマネージャのURL」に以下を入力します。
https://nefry.studio/package_nefrybt_index.json
「OK」をクリックします。
「メニュー」の「ボード」からボードマネージャー」を開きます。
「Nefry」と入力して下記をインストールします。
(下の画面はすでにインストールした後のものです)
サンプルコードを貼り付けます。
Nefry BTとIFTTTでスイッチを押したらLINEを送る仕組みを作ってみようからコピーしてください。
「ツール」の「ボード」で下の方に表示される「Nefry BT」を選択します。
シリアルポートを「115200」に設定します。
AruduinoIDEの右上にある虫眼鏡のようなマークをクリックしてシリアルモニタを表示します。
シリアルモニタも「115200」を選択します。
AruduinoIDEの右上にある矢印マーク「マイコンボードに書き込む」をクリックします。
シリアルモニタにログが出てきます。
PCのネットワークとインターネットの設定からNefryBTをクリックします。
下の画面が表示されます。
出てこない場合は直接URLに打ち込みましょう!
http://192.168.4.1
「Setup WiFi」をクリックします。
wifiの「SSID」と「PASS」を入力して、「Save」をクリックします。
下記の画面に遷移します。
ここで実は大切なのが、NefryBTが再起動されるまでしっかり待つことです。
設定出来たかな、、、と思って焦って「Back to top」をクリックすると失敗します。
ちょっとわかりにくいですが、「Save」をクリックすると一度NefryBTからネットワークが外れ、再起動されてNefryBTがもう一度出てきます。
時々少し時間がかかる時もあるので、ちゃんと待ちましょう、、、、、。
その上で「Back to top」をクリックすると、、、
成功すれば「IP Address」が192.168.
以降の数字が変わります。
あと環境によってだと思うのですが、接続がうまく行かない時もあるので、そんな時は「Setup WiFi」からリトライしましょう。
設定できたら、次に「Data Store」をクリックします。
画面が変わったら、「SecretKey」にIFTTで取得したキーを、「Event」にEventNameを入れます。
「Save」をクリックします。
最後です、Nefryの「SW」ボタンを押しましょう!
間違って反対の「Reset」を押さないでくださいね!
Nefryからメッセージが送られてきます。
もし送られてこない場合、IFTTTがOFFになっていないかも確認しましょう!
自分の場合なぜかOFFになっており、再度ONにし直しました。
#2.タッチセンサーをつなげ、触ったら(近づけたら)LINEメッセージを飛ばす
1.が出来ていれば2は一瞬で終わります。
NefryのA2にGROVEのタッチセンサーをつなぎ、NefryをPCにつなぎます。
下記コードをAruduino IDEにコピペして「マイコンボードに書き込む」をクリックします。
#include <Nefry.h>
#include <NefryIFTTT.h>
String Event, SecretKey;
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("Nefry Setup!!");
pinMode(A2,INPUT_PULLUP);//入力モード切り替え
}
void loop() {
if(digitalRead(A2)==HIGH) { //センサーが静電気を検知した時
bool sendData = IFTTT.send(Event, SecretKey,"Nefry",(String)(micros()/1000000)+"秒");//IFTTTにデータを送信
//Value1:Nefry,Value2:Nefryが起動してからの秒数,Value3:送信カウンタ
Nefry.println("A2 HIGH");
if (!sendData) {//IFTTTにデータを送信が成功したか失敗したかの判定
Nefry.setLed(255, 0, 0); //Errの時、赤色点灯
}
Nefry.ndelay(1000); //送信後1秒間待つ
}
}
(nefry.studioさんの記事を上の1.のコードにマージしました)
タッチセンサーに手を近づけるとLINEにメッセージが送られてきます。
Value2,Value3は時間が無くて何も工夫しませんでした、、、、(汗)
ここまで予想以上に長くなりましたので、3.光センサーをつなげ、部屋の電気がついたらLINEメッセージを飛ばすは別日で書かせてください!
12/21(木)はBlueToneさんの「NefryでJenkinsのXFD作った話とか、電子工作コンテストで賞もらった話」ですね、楽しみです!!
以上です!