カテゴリー
IchigoJam

IoT入門 IchigoJam BASICで HTTP Web APIを試そう

[1] HTTP で普通にウェブサイトにアクセス

ご存知の通り、HTTPは、インターネット・ブラウザでウェブサイトにアクセスする際に使用する通信プロトコル(通信手順を定めたもの)です。
まずは、HTTP通信を改めて実感するために、インターネット・ブラウザのアドレスバーに、下記のテスト用サイトのURLを入力し、アクセスしてみて下さい。

テスト用サイト:
https://bokunimo.com/15/

下図のような、ページが表示されればHTTP通信の成功です。普段のインターネットと変わりない操作で、情報「Welcome to IchigoJam World!」が得られたと思います。
この操作では、インターネット上のサーバにHTTPリクエストを送信する①コマンド送信と、その応答を受け取る②応答受信の2つの通信が行われています。

通常のインターネット・ブラウザを使ってHTTP通信を行ってみた。もちろん、普段のインターネットと変わりない

[2] IchigoJam BASICで初めてのHTTP通信

次はIchigoJam webからのHTTP通信です。前ページでMixJuiceを有効に設定したIchigoJam webの画面に、以下のコマンドを入力してみて下さい。

?"MJ GETS BOKUNIMO.COM/15"

今回も同じように、「Welcome to IchigoJam World!」と表示されれば、実験の成功です。おめでとうございます。ようこそ、IchigoJamを使ったWeb APIの世界へ。

IchigoJam web(MixJuice有効)の画面に ?”MJ GETS BOKUNIMO.COM/15″ ⏎を入力すると「Welcome to IchigoJam World!」が表示された

以上のように、IchigoJam BASICでは、「?”MJ GETS」に続けて、URLを入力することでHTTP通信を行うことが出来ます。
ただし、PC用やスマートフォン用に作成されたウェブサイトの場合は、情報量が多いことや画像が含まれていることから、IchigoJam BASICでアクセスしても、適切なコンテンツが得られない場合がほとんどです。

[3] HTTP Web APIでジャンケンJSON版

こんどは、HTTPでジャンケンの手を送信してみましょう。まずは、インターネット・ブラウザを使って、HTTPのURLにクエリと呼ばれる引数を付与し、クラウド上のジャンケン・サーバにアクセスしてみます。

通常のインターネット・ブラウザのアドレスバーに以下のURLを入力してください。

ジャンケン・サーバ(JSON):
https://bokunimo.com/janken/

下図はFirefoxでの受信例です。「usage:」の部分にジャンケン・サーバの使い方が表示されました(ブラウザによって、見え方が大きく異なります)。

Firefoxでの受信例です。「usage:」の部分にジャンケン・サーバの使い方が表示された
Usage:https://bokunimo.com/janken/?user=YOURNAME&throw=X

それでは、ジャンケンを行ってみましょう。グーを送る時は、クエリthrow=G、チョキはthrow=C、パーはthrow=Pを、URLの後ろに付与します。
URLとクエリとの境目には「?」を付与ます。

ジャンケン・グー(JSON):
https://bokunimo.com/janken/?throw=G

ジャンケン・チョキ(JSON):
https://bokunimo.com/janken/?throw=C

ジャンケン・パー(JSON):
https://bokunimo.com/janken/?throw=P

実行すると、一例として、以下のような応答が得られます。messageの部分に”I won you”つまり「負け」が表示されました。

{“statusCode”: 200, “body”: {“status”: “ok”, “message”: “I won you”, “you”: [“G”, 0, “rock”, “\u30b0\u30fc”], “net”: [“P”, 5, “paper”, “\u30d1\u30fc”]}}

ジャンケン・サーバは、JSONと呼ばれる、JavaScriptやPythonで取り扱いやすいデータ形式で応答します。
しかし、IchigoJamでは取り扱いにくい形式です。
そこで、BASIC用の応答方式にするためにクエリformatを、以下のように送信します。

ジャンケン(BASIC)
https://bokunimo.com/janken/?format=basic&throw=X
・2つ以上のクエリは&で繋ぎます。
・throw=Xは、ランダムな手を送信します。

HTTP応答例:
'P:C I WON YOU
A=5:'YOU
B=2:'ME
J=-1:'Result
R=15:'Rate
if G goto G

by bokunimo.net

次ページは、実験[4]~[5]です。

「IoT入門 IchigoJam BASICで HTTP Web APIを試そう」への1件の返信

コメントは受け付けていません。

 - 
Chinese (Simplified)
 - 
zh-CN
Chinese (Traditional)
 - 
zh-TW
English
 - 
en
French
 - 
fr
German
 - 
de
Italian
 - 
it
Japanese
 - 
ja
Korean
 - 
ko
Russian
 - 
ru
Spanish
 - 
es