Androidのメモとか

ポキオの日記です。今日も遅延してない。

Nefry BTとIFTTTライブラリをつかってお腹が痛くなった時に押すボタンを作る

Nefry BTなら秒で作れる。

Nefry BTとIFTTTライブラリをつかってお腹が痛くなった時に押すボタンを作る

腹痛の見える化

しばしば腹痛がおこるポキオです。お腹が痛いときに、みなさんは呪文を唱えますよね。僕は唱えますよ、「#ponponpain」と。ただ本当にお腹がいたいときに、いちいち「#ponponpain」って打つのはだるいですよね。

そこでNefry BT。ワンタッチでツイッターに「#ponponpain」と宣言できます。

Nefry BT ✕ IFTTT Webhooks ✕ Twitter

Nefry BTにはIFTTTライブラリが入っていて、面倒なHTTP-POSTやらJSONなどを一切意識すること無くIFTTTのTrigger(Webhooks)を叩くことができてしまいます。さっそく、IFTTTのアプレットを作ってみます。

Nefry BTとIFTTTライブラリをつかってお腹が痛くなった時に押すボタンを作る

ここで言う、If THISはWebhooksで、Then THATはTwitterとなります。予めWebhooksとTwitterの設定は済んでいるとします。

IFTTT側の設定

まずはIf THISで、Webhooksを選びます。

Nefry BTとIFTTTライブラリをつかってお腹が痛くなった時に押すボタンを作る

イベント名を決めろと言われるので、ここは適当にponponpainとしておきます。

Nefry BTとIFTTTライブラリをつかってお腹が痛くなった時に押すボタンを作る

次に、Then THATの部分。こちらはTwitterになります。

Nefry BTとIFTTTライブラリをつかってお腹が痛くなった時に押すボタンを作る

Triggerが発火した時に「#ponponpain」とただただツイートするように設定しておきます。これで完成。

Nefry BT側の実装

今回はData Storeなどを使わずに愚直にコードを書いていきます。兎に角短いです。

#include <Nefry.h>
#include <NefryIFTTT.h>

#define EVENT "ponponpain"
#define SECRET_KEY "シークレットキーを書く"

void setup() {
  
}

void loop() {
  if(Nefry.readSW()){
    IFTTT.send(EVENT,SECRET_KEY);
  }
}

これだけ。

まずは、イベント名とシークレットキーを定数として宣言します。シークレットキーはIFTTTのWebhooksの設定画面から調べることができます。URLの後ろの部分が、シークレットキーです。

Nefry BTとIFTTTライブラリをつかってお腹が痛くなった時に押すボタンを作る

そして、ボタンの押下検知ですが、Nefry.readSW()で取得できます。これがTrueになったときはボタンが押されたときなので、IF分の条件式にしています。本当はボタンのチャタリング等の制御を入れたほうが良いかもしれませんが、面倒なので入れてません。

また、IFTTTのトリガーを発火させるのも、IFTTT.send(EVENT,SECRET_KEY);の一文でできてしまいます・・・。良い世の中になったものです。これでコーディング終了。

ponponpainと叫んでみる

あとは、Nefry BTを動作させて、ボタンを押すだけ。

Nefry BTとIFTTTライブラリをつかってお腹が痛くなった時に押すボタンを作る

ボタンを押して暫く経つと・・・

Nefry BTとIFTTTライブラリをつかってお腹が痛くなった時に押すボタンを作る

はい。ちゃんとponponpainが表示されています。ワンタッチでツイートができるようになったので、これで心置きなくトイレに行くことができます。

「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。