Technical Information/GR-CITRUS

Edit  

IFTTTの導入とGR-CITRUSからの利用メモ

2017/05/28

IFTTTサービスを利用して、GR-CITRUS + WA-MIKAN で測定したアナログ電圧のAD値をEメールで送信させてみます。

まずは、下記アドレスにアクセスして、IFTTTのアカウントを作成します。

WS002027.PNG

わかりにくいですが、e-mailでアカウントを作成するには、下の方の sign up をクリックします。
Sign Up画面が表示されるので、e-mailとパスワードを入力し、「Sign Up」ボタンを押します

WS000044-wdn9.PNG
  • ログオンできたら、右上のメニューより、「New Applet」を選択します。
WS002028 - コピー.PNG
  • まずは、this をクリックします。
WS002029 - コピー.PNG
  • Chose a service 画面が表示されます。あまりにタイルが多いので、Search services の入力欄に WEB と入力します。
WS002031 - コピー.PNG
  • Maker Webhooks が表示されるので、クリックします。
WS002032 - コピー.PNG
  • Connect をクリックします。
WS000044-wdn10.PNG
  • Recieve a web request をクリックします。
WS002033 - コピー.PNG
  • Event Name を入力します。(任意の値で可)ここでは 「SendMail2」 とします。
WS002035 - コピー.PNG
  • 続いて that をクリックします。
WS002036 - コピー.PNG
  • Chose action service (イベントに対するアクションを選択します) メールを送信する場合は、Mail アイコンをクリックします。
WS002037 - コピー.PNG
  • 確認画面が表示されるので、Send me an email クリックします。send me なので、アカウントで登録してあるメールアドレスに送信される事になります。
WS002038 - コピー.PNG
  • 送信するemailの内容の設定画面が表示されます。今回はデフォルトのまま変更しないので、「Create action」をクリックします。
WS002039 - コピー.PNG
  • レビューされるので、問題なければ 「Finish」 をクリックしてAppletの設定を完了させます。
WS002040 - コピー.PNG
  • Applet の内容および有効スイッチが表示されるので、設定内容を確認します。
WS002041 - コピー.PNG
  • つづいて、この Maker Webhooks サービスの使い方の詳細を確認します。右上のアカウントメニューより、Services を選択します。
WS002042 - コピー.PNG
  • Service の一覧が表示されるので、 Maker Webhooks をクリックします。
WS002043 - コピー.PNG
  • Documentation をクリックします。
WS002044 - コピー.PNG
  • 使い方の説明が表示されます。個別のアクセスキーが生成されているので、このキーを用いてイベントを生成することになります。
WS002045 - コピー.PNG

この例では、 キーが xVzzlVnXXXXvzC1_eADdb となっています。 POST あるいは GETのアドレスが表示されているので、これを利用します。なお、 {event} のところには、最初に入力したイベント名 SendMail2 を入力することになります。 また、POSTする bodyの内容について、雛形が説明されています。 四角で囲ったところにイベントで伝えたい情報を入力することになります。

IFTTT 側の設定は以上です。次に、 GR-CITRUS+WA-MIKAN 側のプログラムを作成します。

#!mruby
 
Usb = Serial.new(0,115200)
 
#ESP8266を一度停止させる(リセットと同じ)
WiFiEN = 5          #WiFiのEN:LOWでDisable
digitalWrite(WiFiEN, LOW)   #LOW:Disable
delay 500
digitalWrite(WiFiEN, HIGH)   #HIGH:Enable
 
if(System.useWiFi() == 0)then
  Usb.println "WiFi Card can't use."
  System.exit() 
end
Usb.println "WiFi Ready"
 
Usb.println WiFi.disconnect
Usb.println WiFi.setMode 3  #Station-Mode & SoftAPI-Mode
Usb.println "Connecting AP"
Usb.println WiFi.connect("TAROSAY","37000") # 接続するAPの”SSID”と”PASSWORD”
 
Usb.println WiFi.ipconfig
 
Usb.println "WiFi multiConnect Set"
Usb.println WiFi.multiConnect 1
 
header=["User-Agent: gr-citrus", "Accept: application/json", "Content-type: application/json"]
 
# 10秒ごとに、AD値を Maker Webhooks サービスにPOSTする
# するとMaker Webhooks サービスにより、POSTされた AD値が記載されたe-mailが予め指定したメールアドレスに送信される
10.times do
    led 0
    delay 5000
    led 1
    delay 5000
    x=analogRead(16) # xに16pinのAD値を格納する
    y=analogRead(17) # yに17pinのAD値を格納する
    z=1000           # zには固定値 1000 を格納する
    # POSTするbodyを、IFTTTの Maker Webhooks サービスで指定されたフォーマットで作成する
    body = '{"value1":"' + x.to_s + '","value2":"' + y.to_s + '","value3":"' + z.to_s + '"}'
    # IFTTTの Maker Webhooks サービスで指定されたキーを含むアドレスに、POSTする
    Usb.println WiFi.httpPost("maker.ifttt.com/trigger/SendEmail2/with/key/xVzzlVnXXXXvzC1_eADdb", header, body).to_s
end
 
 
Usb.println "WiFi disconnect"
Usb.println WiFi.disconnect

このプログラムを実行すると、10秒ごとにAD値がGR-CITRUS+WAMIKANから 無線RANのアクセスポイントを経由してWEB上のMaker Webhooks サービスに10回ポストされ、Maker Webhooks サービスはポストされたAD値を記載したe-mailを予め設定されたメールアドレスに送信することになります。 例えば、GR-CITRUSで測定した測定値をスマホなどで確認できたりします。


トップ   リロード   一覧 単語検索