sakura.ioからのデータをLINEに通知する


やりたいこと

先日さくらインターネットからリリースされたsakura.ioを使って、Arduinoからsakura.ioのWebSocketサービスにデータを送信し、すったもんだの末にLINEで通知してみようと思います。

使う技術

やること

sakura.ioの準備

sakura.ioについての詳細は割愛しますが、sakura.io上でWebSocketサービスを事前に作成しておきます。※名前は「myThings」である必要はありません。

myThingsの準備

同じくmyThingsについての詳細は割愛しますが、sakura.ioとLINEの認証を行い、以下のような組み合わせを作成しておきます。
LINEチャンネルの「データを受信したら」トリガーを使用する際にWebSocketサービスの設定が必要になるので、前項で作成したWebSocketを選択してください。

Arduinoの準備

今回はタクトスイッチを用いて、スイッチを押したらsakura.ioにデータを送信するようにしたいと思います。

配線

スケッチ

sakura_button.ino
#include <SakuraIO.h>

SakuraIO_I2C sakuraio;
int val = 0;

void setup() {
  Serial.begin(9600);
  Serial.print("Waiting to come online");
  for(;;){
    if( (sakuraio.getConnectionStatus() & 0x80) == 0x80 ) break;
    Serial.print(".");
    delay(1000);
  }
  Serial.println("!");

  pinMode(7, INPUT);
}

void loop() {
  val = digitalRead(7);
  if(val == LOW) {
    sakuraio.enqueueTx(0, (uint32_t)1);
    sakuraio.send();
    delay(1000);
  } 

  delay(300);
}

うまく動くと

myThingsでsakura.io ☓ LINE pic.twitter.com/I54st3b3Fw

— 山本学 (@yamamoto_manabu) 2017年4月19日

myThingsの設定如何で通知先をSlackにしたり、プッシュ通知にしたり色々変更できるのでお試しあれ。