LoginSignup
5
0

More than 1 year has passed since last update.

enebularでクリスマスイルミネーション

Last updated at Posted at 2019-12-16

毎年、この時期になると書いてるネタですが、Twitterのハッシュタグ付きツイート数を集計して、点灯していくクリスマスイルミネーションを作ってます。イベントで使ってもらったり、自分のネタの反響を可視化するアイテムとして使ってたりしてます。

これは星形のバージョン
image.png

目標の数を超えると豪勢に光ります。(動画リンクです)

12月21日(土)に私が主催しているmbed祭り@ウフルがあるので、使おうと動かしてみたところ動かなかったので、原因を調べました。

ちなみに集計する仕組みは簡単で、Twitterノードとmilkcocoaノードを使ってるだけです。

image.png

Twitterノードはハッシュタグ付きのツイートがあるとトリガがかかり、milkcocoaにそのツイートをしたusernameをpushしてるだけです。
イルミネーション側のハードは、よくあるNeoPixelJKsoft Blue mbed Boardを使っています。

image.png

動かない原因

twitterノードの仕様変更?

twitterAPIの仕様が変わったせいかDeveloper登録が必要になってました。Developer登録してもよかったのですが、そこまでではないのと数日かかるということだったので、別な方法を考えました。

milkcocoaのサービス終了

そういえばサービスが終了していました。

とりあえず動く形に

twitterノードの代わり

IFTTTを使いました。IFTTTとは、Webサービスを簡単に繋げることができるサービスです。こちらではtwitterアカウントでの認証のみで済みました。

IFTTTの設定

IFTTTでアカウント登録をしたら、CreateからAppletを作ります。

If This Then ThatのThis

IFTTTでtwitterのハッシュタグツイートをトリガになるように設定します。初めて設定するときは、twitterアカウントで認証する必要があります。
serviceとしてtwitterを選び、以下のトリガを選びます。
image.png

ハッシュタグを記入します。
image.png

If This Then ThatのThat

方法はいろいろあると思いますが、heroku上で動作しているフローに通知するため、http requestでつなげます。
そのため、webhoocksを使います。

image.png

アクションはMake a web requestを選びます。(これしかないけど)

image.png

設定はこんな感じです。herokuのURLを指定し、json型でtwitterから取得したUserNameをpostします。
image.png

enebularのフロー

enebularのフロー側で、ifttt(twitter)からの通知を受け取って集計し、その結果をhttp requestでgetできるようにしました。

フローは単純です。
ifttt(twitter)からpostがあったら、globalコンテキストのsns_echo_countをインクリメントします。
イルミネーション装置からgetが来た場合は、sns_echo_countを返します。

image.png

とりあえず

これで動きました。イベントのハッシュタグ付きのツイート数に応じて、LEDが点灯していきます。

宣伝

2019年12月21日(土)のイベントには、まだ空きがあるのでご興味ある方はぜひ!
mbedとは?という方には体験コーナーもあります。

mbed祭り 2019@師走の虎ノ門
image.png

関連リンク

5
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0