[초보자용] Arduino에서 IFTTT를 통해 Twitter와 LINE 만들기까지

11536 단어 C++ArduinoIoTifttt

준비하는 것



1.Wio LTE 스타트 키트


2.SIM 카드(이번은 soracom)/넷이 연결되는 단말이라면 뭐든지 OK
3.Arduino IDE
4. IFTTT 계정 (Twitter와 제휴, Line 계정)

환경 구축



Wio LTE/Arduino IDE의 설정을 솔라콤씨의 핸즈온 참고하실 수 있습니다. 내용은 생략하겠습니다.

Wio LTE는 이런 것들


Wio LTE 핸즈온
htps : // 기주 b. 코 m / 소라코 m / 납 d 쏘 / 우우 키 / 우우 오 L - 3 % 83 % 8F % 3 % 83 % B3 % 3 % 82 % 3 % 82 % 3 % 82 % 아 % 에 3% 83% B3#% 9% 96% 8B% 7% 99% 9% 7% 92% B0% 5% 2% 83% 3% 81% 4% 5% 82% 99

메커니즘



1. Arduino의 D38 버튼을 연결하고 버튼을 누를 때마다 Http 통신으로 IFTTT의 webhook 트리거
#include <WioLTEforArduino.h>
#include <stdio.h>

#define APN               "soracom.io"
#define USERNAME          "sora"
#define PASSWORD          "sora"

#define WEBHOOK_EVENTNAME "xxxxxxxxxxx"  //adruino-tweet
#define WEBHOOK_KEY       "xxxxxxxxxxx" //iftttのwebhookの設定から
#define WEBHOOK_URL       "https://maker.ifttt.com/trigger/"WEBHOOK_EVENTNAME"/with/key/"WEBHOOK_KEY

#define INTERVAL          (1000)
#define BUTTON_PIN  (WIOLTE_D38)  

WioLTE Wio;

volatile bool StateChanged = false;
volatile bool State = false;

void change_state()
{
  State = !State;
  StateChanged = true;
  delay(150);
}

void send_to_ifttt() {

  char twiiterStr[100] = "なんか投稿する";
  char data[100];
  sprintf(data, "{\"value1\":\"%s uptime %lu\"}", twiiterStr, millis() / 1000);

  int status;
  SerialUSB.println("### Post.");

  SerialUSB.print("Post:");
  SerialUSB.print(data);
  SerialUSB.println("");
  SerialUSB.println("### EXE #57");

  if (!Wio.HttpPost(WEBHOOK_URL, data, &status)) {
    SerialUSB.println("### ERROR! ###");
    goto err;
  }
  SerialUSB.println("### EXE #63");
  SerialUSB.print("Status:");
  SerialUSB.println(status);

err:
  SerialUSB.println("### Wait.");
  delay(INTERVAL);
}

void setup() {
  delay(200);

  SerialUSB.println("");
  SerialUSB.println("--- START ---------------------------------------------------");

  SerialUSB.println("### I/O Initialize.");
  Wio.Init();

  SerialUSB.println("### Power supply ON.");
  Wio.PowerSupplyLTE(true);
  delay(500);

  SerialUSB.println("### Turn on or reset.");
  if (!Wio.TurnOnOrReset()) {
    SerialUSB.println("### ERROR! ###");
    return;
  }

  SerialUSB.println("### Connecting to \""APN"\".");
  if (!Wio.Activate(APN, USERNAME, PASSWORD)) {
    SerialUSB.println("### ERROR! ###");
    return;
  }

  pinMode(BUTTON_PIN, INPUT);  /// ボタンのイベント
  attachInterrupt(BUTTON_PIN, change_state, CHANGE); /// ボタンを押す時の呼ぶ関数
bindする

  SerialUSB.println("### Setup completed.");
}

void loop() {
  if (StateChanged) {
    if (State) {
      send_to_ifttt();
    }
    StateChanged = false;
  }
}


2.IFTTT 설정
twiiter 계정 설정 ()
1. My Applets > Services > Webhooks (없는 경우 Search에서 추가) > Documentaion에서 WEBHOOK_KEY 복사

2.IoT 단말기 코드의 WEBHOOK_KEY에 쓰기

3.My Applets > New Applets
if this and that 문자의 "+"this를 클릭하여 순서대로 설정

this: webhook (search에서 검색 가능)
trigger/event-name: 뭐든지 좋다<-- 예: adruino-tweet, IFTTT의 webhooks 트리거, WEBHOOK_EVENTNAME에 쓰기
that: Twitter에 게시 or Line에 게시(Line 승인 있음)
Tweet text: {{value1}} <-- 텍스트 표시

결과



IFTTT에서 라인 통지 결과

좋은 웹페이지 즐겨찾기