駅前散策ブログ@かわさき HOT

日本の会社の評価は「それまで」しか見ないんだよ。「これから」は見ていないし、タレマネ的にかなり遅れている。

【RPA】【MacroDroid】同じネットワークの別端末を制御するためにあるんだよ…

2024-06-30 18:59:06 | Macrodroid&RPA関連
(´・ω・)ノ < らいなーです。

きょうは、

恐らくは、おもに同一ネットワークの別な端末の変数を遠隔で変化させるための機能と思われる
「HTTPサーバーリクエスト」トリガーと、セットで使えるようになっている
「HTTPレスポンスを送信」
について書いてみます。


ちょっと、
難しいかもしれません。


■どうやって設定するのかな?





まずは、
ローカル、文字型の変数「R」を用意しておき…



「サーバーリクエスト」トリガーのパスに、
暫定的に「Test 」と指定します。
このTestの部分は、「サーバーリクエスト」アクションを用いると、Macrodroidは内部で簡易Webサーバープロセスを起動し、端末のIPアドレスの8080ポートでWebリクエストに対する応答を返すようになるのですが、リクエストを受け付けるidentifierの役割として、機能します。

レスポンスを送信のチェックは、トリガー側ではいったん外します。

リクエストの応答の部分は「HTTPレスポンスを送信」アクション側で行うことができ、トリガー側でやるよりはコントロールしやすいので、今回の例では「HTTPレスポンスを送信」アクションを使う方向で説明します。

URLの欄には、端末外部からのアクセスの際に必要なベースURLが自動で生成されます。
が、
Macrodroidがローカルでサーバープロセスをたてている状態ですから、マクロを編集・設定している端末ではiPアドレスの部分をlocalhostにしても大丈夫です。
だって自分の端末に立ち上がるんですもん、localhost=自分の端末を意味
しますから、外部からのアクセスを気にしなければそれで通るわけで。


リクエストボディの格納変数には、
最初に用意したローカル変数「R」を指定しておきます。


アクション側では、HTTPリクエストのレスポンスの設定をします。


Webブラウザーでidentifierを含めたアドレスにリクエストを飛ばしたら、"Test Response!!"が画面に表示され、内部的に200 OK、所謂正常なリクエストの処理応答が帰ってくるように設定します。


そして……

WebブラウザーにMacrodroidの受け付けアドレスを入れて、設定の結果を見てみましょう。

設定している端末の同一ネットワーク(WIFI)からMacrodroid簡易サーバーにアクセスするさいには…
http://192.168.0.119:8080/test

設定している端末自体でMacrodroid簡易サーバーにアクセスするには…
http://localhost:8080/test

とします。
なお、identifier となる testのあとに…
?R=aabを着けて、
http://localhost:8080/test?R=aab
として、変数Rに値も付加したうえでWebリクエストしてみます。

どうなるでしょう?


■結果はこうなるよ!


まず、ブラウザー画面に表示されたのは「Test Response!!」でした。
つまり、アクションの「HTTPレスポンスを送信」で設定したテキストやHTMLが表示されてくることがわかりました。

では、リクエストに指定していた、
http://localhost:8080/test?R=aab

identifier 以降の変数指定の部分はどうなっているでしょうか?
確認してみましょう。



identifierあとに指定した変数Rに値を入れ込むURLリクエストが解釈されて、変数Rにはaab という値が格納されました。
こちらは、トリガー側の設定が鍵になるようですね。

aabをaacにしたらきちんと更新されるか、追加で試してみましょう。


http://localhost:8080/test?R=aac
とブラウザーに打ち込んで…
※他の端末からやるときはhttp://{設定時に割り振られた動的なipアドレス}:8080/test?R=aac ですね。



変数がaacに切り替わりました。


少々理解しづらい機能ですが、「HTTPサーバーリクエスト」トリガーでMacrodroidの簡易サーバープログラムを常駐させ、変数についてidentifier以降で入力出来るようにひも付けたあと、
リクエストを受け付けた際の画面表示まわりを、「HTTPレスポンスを送信」アクションで定義してあげることをセットで利用すると、
同一WIFI内の複数の端末で(Macrodroid簡易サーバープログラム動作端末はiPの固定化などの対策は必要ですが)変数のやりとりなどを細かく制御することができる機能になります。

ここまで見たけれどよくわからん
という方は、
↓以下のサンプルマクロを弄ってみてね。


記事は以上です。
ここまでお読み下さりありがとうございました。