Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2021/06/27 19:29:11

MixJuice GET URL : kidspod.club/mj/2074

cron(BASIC 1.3+MixJuice)

定期的に特定コマンドを送出する cron が
IchigoJam でも可能では?と思い、作ってみたものです。
コマンドを送出し、受け取ったデータはそのまま表示します。

・W は 3600 で 1 分ウェイトですが、TICK() の仕様で 9 分までなので、
 もっと長くしたい場合は WAIT を並べるか、 FOR~NEXT でループします。
 複数コマンドを実行する場合、数分おきで 1 コマンド送出すると理想的です。
・https://~ を ?"MJ GETS ~ に、http://~ を ?"MJ GET ~ に変更します。
 BASIC 認証および HTTP ヘッダの追加はできません。
 ?"MJ POST(S) START~END も使えますが、データを入れるのが複雑です。
・ダイナミック DNS に使用できますが、
 IP アドレスを得たい場合は例えば次のようになります。

100 W=600
110 ?"MJ GETS icanhazip.com/
120 GSB 1000
130 COPY #800,#BC0,16
140 I=#800

 これで STR$(I) で IP アドレスを送出できます。
 MixJuice の仕組み上、IPv6 に対応している環境ても IPv4 のみです。
 参照先を変える場合、#BC0 が #BE0 になる場合があります。
 (IP アドレスの後に改行が出力される場合は #BC0、なければ #BE0)
 表示サイズを変更する場合(VIDEO・SWITCH)もアドレスが変わります。

プログラム番号 0 に保存して自動起動対応、
SWITCH 1 や LED 版で液晶出力して
状況を確認できるようにするのも良いでしょう。

画面表示でコマンドが表示されるのが嬉しくない場合、UART で制御ができます。
・UART 0 画面表示のみ
・UART 3 画面表示・MixJuice 送信
・UART 11 MixJuice 送信のみ

「プログラムをみる」のリンク先は実際にこの方法で
ダイナミック DNS の IP アドレス更新を IchigoJam+MixJuice で行っている
BALLOON | FU-SEN's BBS へリンクしています。

SOURCE CODE

10 'cron
20 ?
100 W=5*3600
110 ?"MJ GETS (COMMAND)
120 GSB 1000
990 GOTO 100
1000 CLT
1010 IF TICK()>W RTN
1020 I=INKEY()
1030 IF I ?CHR$(I);
1040 GOTO 1010

COMMENT

Kidspod運営チーム
Kidspod運営チーム2021/07/13 09:30:39

cron……特定の仕事を定期的に自動実行してくれるアイツですね。面倒な作業はIchigoJamにお任せしてしまおうという考えがナイスですね。コンピュータを使いこなしている!感。