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 6030 if peek(#114E)!=1 goto 1040 ?”Ch=”;peek(#1150)50 poke #115A,060 if peek(#823)=98 ? str$(#1152) else ? I70 goto 10
ところで、#114E(#820)や、#1150(#822)、#1151(#823)、#1152(#824)の数字は、何でしょう。
こういった数字を使わずに、受信できるようになると使いやすそうです。
正式版で対応して欲しい1行コマンド→★★★使えるようになりました!!? STR$(IOT.IN())
メモ: IchigoJam BASIC BASIC 1.3.2 bata 11版のsakura.io用メモリマップ#114E~#1163 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用マイコンボード
「超簡単1行リターンIchigoJam IoT.inコマンドで文字列・カタカナ受信」への1件の返信
IchigoJam BASIC Ver 1.3.1に対応したものを公開しました。
従来のVer 1.2.4で使用する場合は、行番号9をM=#820 にしてください。
ビデオ出力版
https://github.com/bokunimowakaru/MJ/blob/gh-pages/pg08/115.txt
OLED表示版
https://github.com/bokunimowakaru/MJ/blob/gh-pages/pg08/116.txt