LoginSignup
1
0

milk-v duoでREST API

Last updated at Posted at 2023-12-11

何が困るのか

milk-v duoの何が問題かというと、キーボードもディスプレイもないこと。SSHでコマンドは叩けるけど、それではスマホ、PC、Web連携みたいなシステムは作れませんよね。

一番簡単なネットワークインターフェイスはREST APIです。これだとJavaScriptなどからもアクセスできるので非常に使い勝手が良いです。

ただまあmilk-v duoの場合はメモリが64MBしかないこともあり、Apacheを動かすのは中々厳しいわけで。巨大なライブラリをリンクするのは極力避けたいです。

結論

以下のライブラリを使えば簡単です。

ヘッダファイルのみでサイズもすごい小さいのがポイントです。

サンプルコード

milk-v duoでアプリケーションを開発する方法は下記を参照してください。GitHubのサンプルコードをcloneして改造するのが一番簡単だと思います。

以下がJSONを返すREST APIの例です。簡単ですね。

#include <jsonserv.hxx>
#include <nlohmann/json.hpp>

int main(const char** argv, int argc) {
  httplib::Server svr;

  svr.Get("/hello", [&](const httplib::Request& req, httplib::Response& res) {
    nlohmann::json js = {{"result", true}, {"msg", "hello"}};
    res.set_content(js.dump(), "application/json");
  });

  svr.listen("0.0.0.0", 80);

  return 0;
}

ブラウザで「http://192.168.42.1/hello」(milk-v duoをPCにUSB接続した状態の場合)にアクセスすればJSONが表示されるはずです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0