超簡単1行リターンIchigoJam IoT.inコマンドで文字列・カタカナ受信

IchigoJam用マイコンボード(IchigoSodaなど)+sakura.ioモジュールで簡単に文字列を受信する方法について説明します。
IoTコマンドを使用するので、IchigoJam BASICのファームウェアは IchigoJam BASIC Ver 1.2.4 IoT版のベータ版(1.2β59)が必要です。
現時点の受信方法として参考なればと思います。
IchigoJam BASIC Ver 1.2.4 IoT・β版を書き込んだマイコンボードへssakura.ioモジュールなどを搭載した。マイコンボードはCQ出版社のIF ICH-KIT。
sakura.ioモジュールへ、メッセージを送信するには、下記の「WebSocket 確認ツール Message IoT – sakura.io」が便利です。IchigoJamの開発者の福野氏が作成したMessage IoT の機能の一部を省略し、ツールとして利用できるようにしました。
WebSocket 確認ツール Message IoT – sakura.io
IchigoJamでメッセージを受信するには、IoT.in関数を使用します。関数なので「A=IoT.in()」のように変数へ代入するか、?やifなどの命令に続けて使用する必要があります。
以下に、受信コマンドとプログラムの一例を示します。
1行リターンで受信したい場合:
WebSocket 確認ツールの「Message」の部分へテキスト文字(8文字以内)を入力し、[送信]をクリックしてから、以下の1行リターン用のコマンドを入力すると、IchigoJamで受信することが出来ます。
IF IOT.IN() POKE #82C,0:? STR$(#824)
プログラムで受信したい場合:
以下のプログラムを実行し、WebSocket 確認ツールで「Message」にテキスト文字を入力する、もしくは、「Value」に整数を入力してから、[送信]をクリックすると、IchigoJamで受信することが出来ます。
10 I=IoT.in()
20 wait 60
30 if peek(#820)!=1 goto 10
40 ?"Ch=";peek(#822)
50 poke #82C,0
60 if peek(#823)=98 ? str$(#824) else ? I
70 goto 10
ところで、#820や、#822、#823、#824の数字は、何でしょう。
こういった数字を使わずに、受信できるようになると使いやすそうです。
正式版で対応して欲しい1行コマンド(※今は使えません)
? STR$(IOT.IN())
メモ: IchigoJam BASIC Ver 1.2.4 IoT版のsakura.io用メモリマップ
配列変数[0]~[6] #800~#80D IoT.out 送信用バッファ
配列変数[0]~[1] #800~#803 IoT.in 送信用バッファ
配列変数[16]~[26] #820~#835 IoT.in 受信データ
IchigoJam BASICのβ版は下記からダウンロードできます。
IchigoJam BASICのβ版:
ichigojam-1.2b59.zip

IchigoJam×sakura.ioモジュールの情報を下記のウェブページで公開しています。
ボクにもわかるIchigoJam用マイコンボード IchigoSoda / sakura.io の接続
by ボクにもわかるIchigoJam用マイコンボード

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です