Azure IoT Edge SDK Ver2対応 C/C++ Edge ModuleのBuild方法

超久しぶりの投稿。 もっといい方法があるかもしれないのですが、C/C++で書かれたソースコードをEdge Module化できたので、備忘録的に紹介。 サンプルとして、Preview的に公開されている、http://github.com/azure/azure-iot-sdk-cのmodules-previewブランチを使います。 https://github.com/Azure/azure-iot-sdk-c/tree/modules-preview の、iothub_client/samplesの、iothub_client_sample_module_senderとiothub_client_sample_module_filterにサンプルとして公開されています。前者はDockerfileもありますが、使い方がわからないので、試した方法を解説。後者はそのままだと、不完全な感じです。 ※ 2018/6/7現在の公開情報をもとに書いてます。もしかすると、もっと別の良い方法がどこか別の場所で公開されているかも。 実行環境はRaspberry Pi 3以上のRaspbianです。まずは、http://matsujirushi.hatenablog.jp/entry/2018/04/15/214721 を参考に、Edge Runtimeをインストールしてください。ModuleをBuildするのも、実行するのも、Raspbian上です。2セット用意して一個は開発環境用、もう一個は実行環境用にしておくと便利。 先ずは、azure-iot-sdk-cをclone $ git clone -b modules-preview -r https://github.com/Azure/azure-iot-sdk-c.git cloneが終わったら、https://github.com/Azure/azure-iot-sdk-c/blob/modules-preview/doc/devbox_setup.md#linux に従って、ビルドします。 cloneしたディレクトリには、azure-iot-sdk-cというディレクトリができているので、それに並べて、以下の内容のDockerfileを作成します。 FROM resin/rpi-raspbian:jessie as builder run sudo apt-get update run sudo apt-get install -y cmake build-essential curl libcurl4-openssl-dev libssl-dev uuid-dev WORKDIR /home/pi/azure-iot-sdk-c run pwd; ls ADD ./azure-iot-sdk-c . run pwd; ls WORKDIR cmake/iothub_client/samples/iothub_client_sample_module_sender…

0