mbedでHTTPServerをテストして、PCのブラウザからのHTTPリクエストでmbed内の関数を実行してみました。
(javascriptのページからの実行と、URLのみによる実行)

流れ的には、
1.HTTPServerをとりあえずうごかす
2.RPC InterfaceでI/Oポートをブラウザから操作する
3.RPC Functionで関数をブラウザから操作する
となります。

大筋、yueee_ytさんのページにありました。
@jksoft913さんのmbed入門P62~の記事とjavascriptの書き方が違うので両方参考になります。

たぶんここまでで、javascriptを使ってポートを叩いたり関数呼び出したりできるんじゃないでしょうか。
ここまではPCのブラウザからできるはずです。

自分の場合、mbedのHTTPClientからリクエストを送りたいと思ったので、javascriptが使えるかどうかわかりません。
そこでこれをURLだけで操作しようと方法を探したところ、プログラムそのままでいけるとのこと。

LED2を点灯させるなら
http://mbedのIP/rpc/led2/write 1
※mbedのコード中に以下の記述が必要と思われる。
DigitalOut led2(LED2,”led2″);

関数を実行させるなら
http://mbedのIP/rpc/関数名/run 引数
※RPCFunctionをインクルードして、以下の記述が必要
RPCFunction rpcFunc(&関数名, “関数名”);

ここまでできるコードを公開しておきます。

ちなみに、
http://mbedのIP/rpc/
というURLで、URLから利用できるクラス一覧を見ることができます。

その他参考
あすぴよパパのマイコン工作
くまちゃんサーボキット
RPC Interface Library
Interfacing Using RPC

広告