Microsoft Azure IoTスイート用にIntel Edisonを構成する





このガイドでは、Intel EdisonボードをMicrosoft Azureクラウドサービスに接続する方法を示します。



Intel Edisonに最新のイメージがインストールされていることを確認してください。 これを行うには、Intel Webサイトの指示に従ってください 。 その後、シリアル接続構成する必要があります 。 その後、手順に従ってAzure IoT SDKをインストールできます。

始める前に:



Linux用のAzure IoT SDKをビルドするには、 Microsoftの指示に従って cmakeバージョン3.x以降が必要であることに注意してください。



Intel EdisonにGitをインストールする



Gitは分散バージョン管理システムです。 Azure IoT SDKのクローンを作成してローカルでビルドするには、インストールする必要があります。 これを行うには、Gitを含むパッケージをインストールします。 YoctoベースのIntel Edisonはopkgパッケージマネージャーを使用し、デフォルトではGitサポートを含みません。



Intel Edisonで、 /etc/opkg/base-feeds.conf



ファイルに次の行を追加します。



 src/gz all http://repo.opkg.net/edison/repo/all src/gz edison http://repo.opkg.net/edison/repo/edison src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32
      
      





これは、たとえば、組み込みのviエディターを使用して実行できます。

 $ vi /etc/opkg/base-feeds.conf
      
      





viを使用したことがない場合は、 手順を参照してください 。 プログラムを終了できない場合は、パニックにならず、Resetを押さずに、Escを押し、次に「SHIFT」+「:」を押してwqと入力します。 したがって、現在のファイルを保存してプログラムを終了します。



次に、opkgデータベースを更新します。

 $ opkg update
      
      







以下が表示されるはずです。







Intel EdisonでAzure IoT SDKをダウンロードする



Intel EdisonでGitを使用して、次のコマンドでAzure SDKリポジトリを複製します。 デフォルトのフォルダー/ home / rootを使用することをお勧めします。

 $ opkg install git $ git clone git@github.com:Azure/azure-iot-sdks.git
      
      





RSAキーをデバイスに追加するように求められたら、「はい」と答えます。



代替インストール方法



何らかの理由でAzure IoT SDKを直接ボードに複製できない場合は、まずリポジトリをコンピューターに複製してから、 FileZillaまたはSCPを使用してネットワーク経由でファイルをIntel Edisonボードに転送します。



FileZillaを使用する場合、次のコマンドでボードのアドレスを確認します。

 wpa_cli status
      
      





「sftp:// board_address」、ユーザー「root」、およびボードのパスワードを使用して、FileZillaとのSFTP接続を確立します。 これを行った後、ドラッグアンドドロップを使用してネットワーク経由でファイルを直接コピーできます。







Intel EdisonでAzure IoT SDKを構築する



Azure IoT SDKが正しくインストールされていることを確認する必要があります。 これを行うには、SDKに基づいてアプリケーションを構築する必要があります。 C-example AMQP(AMQP-exchange protocol)を使用して、Azure IoT Hubに対応するようにパラメーターを変更し、アセンブリ後にすべてが機能するようにします。

ファイル/c/iothub_client/samples/iothub_client_sample_amqp/iothub_client_sample_amqp.c



以下に示すように、connectionString行のパラメーターを情報/c/iothub_client/samples/iothub_client_sample_amqp/iothub_client_sample_amqp.c



置き換えます(静的const char * ....)。 そうしないと、この例は機能しません。



 static const char* connectionString = “HostName=[YOUR-HOST-NAME];CredentialType=SharedAccessKey;CredentialScope=Device;DeviceId=[YOUR-DEVICE-ID];SharedAccessKey=[YOUR-ACCESS-KEY];
      
      







ターミナルで、 /c/build_all/linux



、次の手順を実行します。



 $ opkg install util-linux-libuuid-dev $ ./build_proton.sh $ ./build.sh
      
      







ldconfigキャッシュを更新する



また、メッセージを送信するためのライブラリであるQpid Protonを構築する必要があります。 そして、Cでサンプルをテストしてビルドする前に、結果のライブラリをldconfigに登録する必要があります 。 これを行うには、まずプロトンライブラリの場所を見つけてから、Yoctoの/lib



フォルダーにコピーする必要があります。



libqpid-proton.so.2



を共有ライブラリに追加します。 これを行うには、ターミナルで次のコマンドを実行して見つけます。



 $ find -name 'libqpid-proton.so.2'
      
      



見つかったディレクトリの名前をクリップボードにコピーします。



[directory_to_libqpid-proton.so.2]



最初のステップの検索コマンドの結果に置き換えます。

 2. $ cp [directory_to_libqpid-proton.so.2] /lib
      
      







このコマンドはキャッシュを自動的に更新します:

 $ ldconfig
      
      





チェック:

 $ ldconfig -v | grep "libqpid-p*"
      
      





すべての操作を正しく実行すると、リストに「libqpid-proton.so.2」が表示されます。

Qpid Protonをldcacheに追加し、Protonに基づいたCプロジェクトの例を構築できます。



/c/iothub_client/samples/iothub_client_sample_amqp/iothub_client_sample_amqp/linux





走る

 make -f makefile.linux
      
      





それから

 ./iothub_client_sample_amqp
      
      







結果は次のようになります。



 # ./iothub_client_sample_amqp hub_client/samples/iothub_client_sample_amqp/linux# Starting the IoTHub client sample AMQP... IoTHubClient_SetNotificationCallback...successful. IoTHubClient_SendTelemetryAsync accepted data for transmission to IoT Hub. IoTHubClient_SendTelemetryAsync accepted data for transmission to IoT Hub. IoTHubClient_SendTelemetryAsync accepted data for transmission to IoT Hub. IoTHubClient_SendTelemetryAsync accepted data for transmission to IoT Hub. IoTHubClient_SendTelemetryAsync accepted data for transmission to IoT Hub. Press any key to exit the application. Confirmation[0] received for message tracking id = 0 with result = IOTHUB_CLIENT_CONFIRMATION_OK Confirmation[1] received for message tracking id = 1 with result = IOTHUB_CLIENT_CONFIRMATION_OK Confirmation[2] received for message tracking id = 2 with result = IOTHUB_CLIENT_CONFIRMATION_OK Confirmation[3] received for message tracking id = 3 with result = IOTHUB_CLIENT_CONFIRMATION_OK Confirmation[4] received for message tracking id = 4 with result = IOTHUB_CLIENT_CONFIRMATION_OK
      
      






All Articles