目次
[4] HTTP Web APIでジャンケンBASIC版
それでは、IchigoJam webの画面で、ジャンケンを実行してみましょう。1ページ目でMixJuiceを有効に設定したIchigoJam webの画面で、以下のコマンドを入力すると、ジャンケンを行います。
?"MJ GETS BOKUNIMO.COM/15/JANKEN?THROW=X"⏎
下図は、結果の一例です。GAME WAS DRAW、引き分けでした。
コラム bokunimo.com/jankenとBOKUNIMO.COM/15/JANKEN 実験3でアクセスしたURLと実験4でアクセスしたURLに違いがあることに気づいたでしょうか? bokunimo.com/janken BOKUNIMO.COM/15/JANKEN アルファベットの大文字と小文字の違いは、文字入力が大文字のIchigoJamに合わせたものです。 また、途中に「15」と入っているのは、応答文の書式を変更するための識別用です。サーバ側のプログラムはどちらも同じです。 IchigoJam用の「15」と付与した場合は、(JSON形式ではなく)テキスト形式で応答するほか、COROSと呼ばれるジャンケン・サーバ以外へのアクセスを許可する情報を付与しています。
[5] HTTP Web APIを使ったBASICプログラム
こんどは、BASICプログラムでジャンケンを実行してみましょう。
プログラムをダウンロードするには、下記のコマンドを入力して「ボクニモワカル for MixJuice」にアクセスし、下図のホーム画面を表示してください。
?"MJ GETS git.bokunimo.com/MJ/"⏎
ボクニモワカル for MixJuiceでは、メニューを数字キーで選び、⏎キーで実行します。以下の順序で、実行してください。
・ [3]サンプル アプリを選択
・ [2]ジャンケンnet2を選択
(プログラムがダウンロードされ、実行されます)
・「name=」と聞かれるので、アルファベットでニックネームを入力する
(入力した名前は、後の処理でクラウドへ送信されます)
・「0/2/5=」と聞かれるので、グーは0、チョキは2、パーは3を入力
(数字はジャンケンの手の指の数です)
・下図のような結果が表示される
プログラムを表示したいときは、画面下の[ESC]を押し、LIST⏎を実行してください。
行番号160がHTTPを使ってジャンケン・サーバにアクセスする処理部です。
1 cls:?"ジャンケンnet2"
2 input"name =",N
3 N="__"
4 copy N,#927,8
100 @MAIN
110 ?"G/C/P"
120 input"0/2/5 =",A
130 if A=9 ?"MJ GETS git.bokunimo.com/MJ/0.txt":end
140 ?"Throw=";:P=A:gsb @GCP
150 wait 60
160 ?"MJ GETS BOKUNIMO.COM/15/JANKEN/?FORMAT=BAS&USER=";str$(N);"&THROW=";A
170 G=200
180 end
200 @CONT
210 ?"Catch=";:P=B:gsb @GCP
220 if J<0 ?"マケ" 230 if J=0 ?"ヒキワケ" 240 if J>0 ?"カチ"
250 goto @MAIN
300 @GCP
310 if P=0 ?"G,グー"
320 if P=2 ?"C,チョキ"
330 if P=5 ?"P,パー"
340 ?"-----------"
350 rtn
参考情報
同じジャンケン・サーバなどを使ったM5Stack用ジャンケン・プログラム集では、マイコンとジャンケン、UDPを使ったLAN内でのジャンケンなども紹介しています。
M5Stack用ジャンケン・プログラム集:
https://github.com/bokunimowakaru/m5Janken
Facebook IchigoJam-FANグループへの投稿記事:
https://www.facebook.com/groups/ichigojam/permalink/1944057729067304/
また、本ブログ内や、ボクにもわかるIchigoJam用マイコンボードでは、IchigoJamのハードウェアを使ったIoT化の記事をいくつも紹介しています。
ボクにもわかるIchigoJam用マイコンボード:
https://bokunimo.net/ichigojam/
本ブログ内IchigoJam関連記事(100件以上)
https://bokunimo.net/blog/category/ichigojam/
おわりに
BASIC言語は、数字や文字を中心としたコンピュータ処理の時代に、ほぼ全てのパソコンに標準搭載されていました。しかし、画像やオーディオ、映像といったより高い処理能力が必要になるとともにBASICが衰退しはじめ、インターネットの商用化や普及が始まったころには、(学習用を除き)BASICが標準搭載されたコンピュータは減ってしまいました。
このように、歴史上、関りの薄かったHTTPとBASICが、
・IchigoJamマイコンボードとMixJuice拡張ボードで融合
・これら両方をWeb上で利用できるIchigoJam webで融合
したことに感慨深く思いながら、この記事を書きました。
by bokunimo.net
PDF書籍「ボクにもわかるIchigoJam BASIC で作る IoT システム~ LTE/Wi-Fi/LoRaWAN 対応 ~」も、ぜひダウンロードください(無料です)。
ダウンロード:
ボクにもわかる IchigoJam BASIC で作る IoT システム ~ LTE/Wi-Fi/LoRaWAN 対応 ~ (bokunimo.net)
「IoT入門 IchigoJam BASICで HTTP Web APIを試そう」への1件の返信
[…] IoT入門 IchigoJam BASICで HTTP Web APIを試そう […]