言語切り替え

特定のユーザーがツイートしたらM5StickC の画面にメッセージを表示する

今回やること

Twitterで特定のユーザーがツイートをしたら、M5StickCのディスプレイに通知が出るようにします。

用意するもの

  • M5StickC with obnizOS
  • スマートフォン or PC
  • モバイルバッテリーなど
  • USB-Type-C ケーブル

お手持ちのM5StickCにobniz OSをインストールすることもできます。→ obniz 公式サイト OS導入手順 

注)バッテリーとケーブルは、M5StickC内蔵のバッテリーを用いることで省くことができます。ただし、長時間の運用の際は外部電源からの給電をおすすめします。

組み立て方

obnizOSの入ったM5StickCを用意します。部品は何も必要ありません。

プログラム

ツイートはIFTTTを使って検知します。
IFTTTとは、様々なWebサービスやデバイス同士の連携が簡単にできるWebサービスのことです。

 

 

イベントを設定する

obnizのイベントを設定して、この後作るレシピからWebhook URLが叩かれたら先ほど書いたプログラムが実行されるようにします。obnizのイベントについて詳しくはこちらをご覧ください。

まずobnizの公式サイトにアクセスし、”開発者コンソール” に入ります。

次に、左メニューの “リポジトリ” から新規作成をクリックし、「完成したプログラム」のプログラムを貼り付けて保存します。

ファイル名は好きな名前をつけてください。ここでは、Tweet notificationとしてみました。

その次に、”サーバーレスイベント” の欄から新規作成をクリックし、イベントを作成します。
設定内容は以下を参照してください。

名前 (任意)
実行するWebapp リポジトリに保存したプログラム名を選択
きっかけ Webhook

 “作成” をクリックして、設定完了です。

最後に、このような画面になるので、 “Endpoint” の欄に書かれているURLを控えておいてください。このURLは次の「IFTTTでレシピを作る」の章で使います。

IFTTTでレシピを作る

Twitterで特定のユーザーがツイートをしたときに、先ほど作ったイベントのWebhook URLを叩くように、IFTTTでレシピを作ります。

まず、IFTTTにアクセスしてログインしてください。IFTTTを初めて使う方は会員登録かGoogle or Facebookのログインが求められると思います。

ログインできたら “create” をクリックしましょう。 “If This Then That” という文字が出てくると思います。まずはThisの部分(トリガーと呼びます)をクリックします。

 

検索バーに “twitter” と入力し、Twitterを選択します。その後、 “New tweet by a specific user“を選択してください。

Username to watchと出でくるので、そこにツイートがあったときに通知したいユーザーのユーザー名を入力します。@マークはつけずに入力してください。

次に、That(アクションと呼びます)の部分をクリックします。

検索バーに “webhook” と入力し、Webhooksを選択します。その後、 “Make a web request” を選択してください。

以下のような入力画面が出てくるので、 “URL” を先ほど「イベントを設定する」で控えたURL、 “Method” をPOSTに、 “Content Type” をapplication/jsonに、 “body” を {"tweet":true, "content":"{{Text}}"} にしてCreate actionをクリックします。

これで連携は完了です。

完成したプログラム

うごかす

新しいツイートがあると、M5StickCの画面上に”New tweet!”という通知とツイート内容が表示されます。

今回はBodyでツイート内容(Text)を取得しましたが、ユーザーネーム(UserName)など他の情報も取得することができます。
通知文や通知内容を変更して、好きな通知画面にしてみてください。