2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Azure iot hub サンプル動かしてみる

Last updated at Posted at 2020-01-26

Azure IoT hub を使うことになったのでマイクロソフトが提供しているサンプルを動かしてみた

うまくbuildできなかったのでメモしておきます。

環境は以下の通りです。

デバイス: RaspberryPi 4

% uname -r
4.19.75-v7l+

Raspberry Pi の Azure IoT Hub への接続 (C)
https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-raspberry-pi-kit-c-get-started
こちらのサンプルをやってみました。

サンプルを取得

% git clone git@github.com:Azure-Samples/iot-hub-c-raspberrypi-client-app.git

セットアップ
「サンプル アプリケーションを構成する」以降をサンプルのHPどおり実施してみます。

% cd iot-hub-c-raspberrypi-client-app/
% sudo chmod u+x setup.sh
% sudo ./setup.sh

...略

-- Configuring incomplete, errors occurred!
See also "/root/Source/azure-iot-sdk-c/cmake/iotsdk_linux/CMakeFiles/CMakeOutput.log".
See also "/root/Source/azure-iot-sdk-c/cmake/iotsdk_linux/CMakeFiles/CMakeError.log".
make: *** ターゲットが指定されておらず, makefile も見つかりません.  中止.
make: *** ターゲット 'install' を make するルールがありません.  中止.
gcc version check pass (current:8.3.0,require:4.4.7)
cmake version check pass (current:3.13.4,require:2.8.12)
Cloning into 'wiringPi'...
fatal: unable to connect to git.drogon.net:
git.drogon.net[0: 2a03:9800:10:7b::2]: errno=接続を拒否されました
git.drogon.net[1: 188.246.205.22]: errno=接続を拒否されました

./setup.sh: 75 行: cd: ./wiringPi: そのようなファイルやディレクトリはありません
./setup.sh: 行 76: ./build: そのようなファイルやディレクトリはありません
Cloning into 'parson'...
remote: Enumerating objects: 40, done.
remote: Counting objects: 100% (40/40), done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 632 (delta 23), reused 22 (delta 10), pack-reused 592
Receiving objects: 100% (632/632), 339.96 KiB | 681.00 KiB/s, done.
Resolving deltas: 100% (346/346), done.
CMake Error: The source directory "/home/p-kun/WORK/test" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.

失敗した。

あがっているサンプル自体ふるくない?

Cloning into 'wiringPi'...
の失敗を調査、setup.sh を見てみます。

git clone git://git.drogon.net/wiringPi

もうこのリポジトリないのかもしれない。

探したよ。いいのがあったのでこちらを使わせていただく。

setup.shを書き直します。

git clone https://github.com/WiringPi/WiringPi.git wiringPi

もう一度

% sudo ./setup.sh

...略

Scanning dependencies of target app
[ 16%] Building C object CMakeFiles/app.dir/main.c.o
In file included from /home/p-kun/WORK/test/iot-hub-c-raspberrypi-client-app/main.c:21:
/home/p-kun/WORK/test/iot-hub-c-raspberrypi-client-app/./telemetry.h:19:10: fatal error: openssl/md5.h: そのようなファイルやディレクトリ はありません
 #include <openssl/md5.h>
          ^~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/app.dir/build.make:63: CMakeFiles/app.dir/main.c.o] エラー 1
make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/app.dir/all] エラー 2
make: *** [Makefile:84: all] エラー 2

失敗した。

コンパイルエラーみたいのが出た。
openssl が無いみたい。ログを見てみると気になる点が!

libcurl4-openssl-dev : 競合: libssl1.0-dev しかし、1.0.2q-2 はインストールされようとしています

setup.shのここら辺を調査。

sudo apt-get install -y libssl1.0-dev git cmake build-essential curl libcurl4-openssl-dev uuid-dev

よくわからないので、libsslのバージョンとってみた。

sudo apt-get install -y libssl-dev git cmake build-essential curl libcurl4-openssl-dev uuid-dev

もう一度

% sudo ./setup.sh

...略

[ 83%] Building C object CMakeFiles/app.dir/parson.c.o
[100%] Linking C executable app
[100%] Built target app

できた。。。

sudoはなくていいみたい。

追記

opensslの件についての情報

こちらに情報がありました。

1 Debian 10 システム (Raspian Buster を含む) は、IoT Edge がサポートしていないバージョンの OpenSSL を使用します。 IoT Edge をインストールする前に、次のコマンドを実行して以前のバージョンをインストールしてください。

sudo apt-get install libssl1.0.2
2
4
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
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?