Hana道場【師範】のブログ

IchigoJamの徹底解説ブログ

IchigoJamでLINEを送る方法 <その1>【IchigoJam × MixJuice × IFTTT】

f:id:hanadojo_sihan:20201013010949j:plain

IchigoJam × MixJuice × IFTTT でLINEを送る方法をご紹介します。


IchigoJamBASICのみのプログラムでLINEが送れます!! 

ただ、カタカナ(日本語)で送るにはUTF-8に変換するプログラムをBASICで書く必要があります。そちらは<その2>のブログで紹介します。

hanadojo-sihan.hatenablog.com

 

<その3>では自宅のインターホン(呼び鈴)をIoT化しています。

hanadojo-sihan.hatenablog.com

 

 

今回はIFTTTを使って、IchigoJamからLINEでメッセージを送る方法を紹介!!

 

【目次】

 

1. 必要なもの

【一覧】

【概要】

f:id:hanadojo_sihan:20201012223704j:plain

IFTTTは複数のwebサービスを連携させるサービスです。

さまざまなサービスが連携できる「IFTTT(イフト)」の使い方 (1/3):IFTTT入門 - @IT

今回は「Webhoocks」と「LINE」を連携させます。

(IFTTTで連携させて新たにできたサービスを「アプレット(Applet)」と言います)

WebhoocksにMixJuiceで通信することが「トリガー(引き金)」となり、LINEにメッセージを送ります。メッセージはMixJuiceからGETメソッドのパラメータとして送信します。

 

2. IFTTTの手順

2-1 アカウント作成

IFTTTからアカウントを作成しましょう。

 

2-2 Applets(サービス連携)をつくる

(1)ホーム画面から「Create」→「Applets」を選択

f:id:hanadojo_sihan:20201012230220p:plain

(2)「If This」を選択

トリガーとなる「Webhoocks」を登録していきます。

f:id:hanadojo_sihan:20201012230224p:plain

(3)webと検索し「Webhoocks」を選択

f:id:hanadojo_sihan:20201012230229p:plain

(4)「Receive a Web request」を選択

f:id:hanadojo_sihan:20201012230236p:plain

(5)「Event Name」を決め「Create trigger」を選択

※今回のブログではEvent Nameを「test」にしています。

f:id:hanadojo_sihan:20201012230243p:plain

(6)「Then That」を選択

最終的に実行するサービスであるLINEを登録していきます。

f:id:hanadojo_sihan:20201012230249p:plain

(7)LINEと検索し「LINE」を選択

f:id:hanadojo_sihan:20201012230254p:plain

(8)「Send messagae」を選択

f:id:hanadojo_sihan:20201012230259p:plain

(9)「Continue」を選択

f:id:hanadojo_sihan:20201012230304p:plain

(10)「Applet Title」を決め「Finish」を選択

はじめから入力されているタイトルでいいと思います。

f:id:hanadojo_sihan:20201012230311p:plain

2-3 個別設定① - LINE -

(1)LINEのアイコンを選択

f:id:hanadojo_sihan:20201012230318p:plain

(2)「Connect」を選択

f:id:hanadojo_sihan:20201012230322p:plain

(3)IFTTTとLINEの連携にすることを同意する

f:id:hanadojo_sihan:20201012230329p:plain

下のようなメッセージがLINEに届いたらOKです。

f:id:hanadojo_sihan:20201012230336j:plain

 

2-4 Appletの設定

(1)ホーム画面から作成したAppletを選択

f:id:hanadojo_sihan:20201012230344p:plain

(2)「Connect」を選択

f:id:hanadojo_sihan:20201012230349p:plain

(3)「Settings」を選択

f:id:hanadojo_sihan:20201012230355p:plain

(4)下記画像のように設定

f:id:hanadojo_sihan:20201012230401p:plain

 

2-5 個別設定② - Webhoocks -

(1)Webhoocksのアイコンを選択

f:id:hanadojo_sihan:20201012230407p:plain

(2)「Documentation」を選択

f:id:hanadojo_sihan:20201012230412p:plain

(3)Appletが正常に作動するかテスト

f:id:hanadojo_sihan:20201012230416p:plain

{event}にWebhoockのイベント名、value1にLINEに送る文字列を入れましょう

f:id:hanadojo_sihan:20201012230424p:plain

試しに「hello」と送ってみましょう。

「Test It」を選択し、LINEにメッセージが届けばAppletの作成成功です!!

 

赤枠で囲んだURLにMixJuiceで通信することになります。

メモしておきましょう。

 

3. プログラム概要

【プログラム】

5 CLS:POKE#1E03,1,34:INPUT S

10 ?"MJ GETS maker.ifttt.com/trigger/イベント名/with/key/Webhoocksのkey?value1=";

20 FOR I=0 TO LEN(S)-1

30 ?STR$(S+I,1);

40 NEXT

50 ?:LC 0,10:?”>”;STR$(S):?

2-5(3) を見て、イベント名keyを入力しましょう。

【実行画面】

?
?に続けて"メッセージを打ち込んでエンターでLINEに送信されます。
?"Hello!
LINEに「Hello!」とメッセージが届いたら成功です!!
エラーコードが返ってきたら、10行目のURLの打ち間違いの可能性があります。
 

【プログラム解説】

5 CLS:POKE#1E03,1,34:INPUT S 文字列(メッセージ)を変数Sに入力

10 ?"MJ GETS maker.ifttt.com/trigger/イベント名/with/key/Webhoocksのkey?value1="; Webhoocksにvalue1のパラメータをGETメソッドで送信

20 FOR I=0 TO LEN(S)-1 文字列(メッセージ)の長さ分くりかえし

30 ?STR$(S+I,1); URLに文字列(メッセージ)を1文字ずつ付加する

40 NEXT 文字列(メッセージ)全て付加するまでくりかえし

50 ?:LC 0,10:?”>”;STR$(S):? シリアル通信+送信した文字列(メッセージ)を表示

5行目:INPUT命令で変数Sに文字列を代入する特別な方法を使用しています。

 
10行目2-5(3) を見て、イベント名とkeyを入力しましょう。
URLの最後に ?変数名=値 を付加することで送信することができます。
には文字列(メッセージ)が入るので、20行目以降で1文字づつ付加していきます。
 
20行目:変数Sに代入された文字列の長さ分くりかえす
LEN("文字列") 文字列の長さ(文字数)を返す <レングス>

30行目:変数Sに代入された文字列を1文字づつPRINT出力

STR$("文字列",数) PRINT内で文字列を返す。数で返す文字数を決める。<ストリング>

 

UARTコマンドを使えば、例えば「UART9」で画面表示だけOFF(シリアル出力はON)にできます。詳しくは https://fukuno.jig.jp/2689

 

4. 補足

最初にも書きましたが、カタカナ(日本語)を送る場合は、メッセージをUTF-8に変換して送る必要があります。

UTF-8に変換して送信するIchigoJamプログラムはできていますが、長くなったので、<その2>として記事を分けようと思います。

 

【連載記事一覧】

<その2>IchigoJamでUTF-8変換して日本語をLINEで送る方法 

<その3>呼び鈴を押すとLINEが届く「IoT呼び鈴」の作り方

<その4>SLEEP機能で「超省電力IoT」の作り方

CC BY shoichi1031da / @shoichi1031da

twitter.com