#include "pcbnet2.as"
title "UDPでリモートATコマンド送信"
onexit *bye
port = 3054
host = "xxx.xxx.xxx.xxx" ;送信先IPアドレス
ddim APIp,255
poke APIp,0,$42
poke APIp,1,$42
poke APIp,2,$00
poke APIp,3,$00
poke APIp,4,$00
poke APIp,5,$00
poke APIp,6,$02 ;リモートコマンド(リクエストする値)
poke APIp,7,$00 ;未使用
poke APIp,8,$01 ;フレームID(いつも0x00)
poke APIp,9,$02 ;値を変更する(0x02の場合すぐに書き込む)
; ここから下の値でポートをコントロールする
poke APIp,10,$44 ;D (変更するポートの先頭文字をASCCIで 44) S=53 W=57 ソフトリセット=FR
poke APIp,11,$33 ;3 (変更するポートの番号をASCCIで33) M=4D R=52 F=46
; ソフトリセットの場合は下の値は送信不要
poke APIp,12,$05 ;変更したい値(04の場合 Degital Low) Sleep ON=04 OFF=0
;ソフトリセット”FR ”の場合非送信
;送信データーセットここまで
button gosub "送信",*send
stop
*send
;UDPポートを開く
udpsock soc ;ポートが使用可能か調べる
if stat : dialog "ソケットの初期化に失敗しました。",1 : end ;ポートが使用不可なら終わる。
;ポートが使用可能
mes "データを送信します。"
udpsendto soc,host,port ;送信先は最初に "host"変数と"port"変数 で指定済みの値が入る
;データー送信
;udpput s,soc ; "udpput"の場合は変数 s 内値を文字列で送信する
udpsend APIp,0,13,soc ;実数型配列変数の先頭から13バイトをバイナリで UDP送信する
mes "データを送信しました。"
;データー送信ここまで
return
*bye
;ソケットを閉じて終了
mes "終了"
udpclose soc
end
この送信ボタンを押すと、poke APIp,12,$05の値になるのですが、もう一回押すとpoke APIp,12,$04になるように
はできませんか?要は送信先にはLEDがついているのですが、それを点・消灯したいのです。
ボタン1つで繰り返し点消灯出来るかたちがベストです。
あと、portとhostを実行結果上で入力フォームから入力できるようにはでませんでしょうか?ご教示よろしく
お願いします。