IoT Plug and Playで、ちょっとワクワクする情報が流れてきました。
どうやら、UARTやBluetooth、I2Cのデータを、IoT Plug and PlayでAzure IoT Hubへ転送するソフトウェアのようです。
対応OSは、
の2つだけですが、、、
みんなだいすきRaspberry Piでコンパイル、実行できそうか確認してみることに。
インストール手順がここにありますが、残念ながら未だWindows向けしか書かれていません。
とりあえず雰囲気で、コマンドを叩いてみます。
まずはリポジトリをクローン。
$ cd $ git clone https://github.com/Azure/AzurePnPBridgePreview.git $ cd AzurePnPBridgePreview
手順に沿って、submoduleをダウンロードします。
$ cd pnpbridge $ git submodule update --init --recursive
ビルドは、、、setup.sh
とbuild.sh
がそれらしいので、実行します。
$ cd scripts/linux $ chmod a+x setup.sh $ ./setup.sh $ ./build.sh
cmakeが動いて、makeが動いて、なんとなく実行ファイルが出来たっぽいです♪
表示されたメッセージから、次の2つの実行ファイルが生成された模様。
[ 99%] Linking C executable pnpbridge_environmentalsensor [100%] Linking C executable pnpbridge_bin $ cd ~/AzurePnPBridgePreview $ ls -l pnpbridge/cmake/pnpbridge_linux/src/adapters/samples/environmental_sensor/pnpbridge_environmentalsensor -rwxr-xr-x 1 pi pi 1113520 Nov 28 10:45 pnpbridge/cmake/pnpbridge_linux/src/adapters/samples/environmental_sensor/pnpbridge_environmentalsensor $ ls -l pnpbridge/cmake/pnpbridge_linux/src/pnpbridge/samples/console/pnpbridge_bin -rwxr-xr-x 1 pi pi 1115892 Nov 28 10:45 pnpbridge/cmake/pnpbridge_linux/src/pnpbridge/samples/console/pnpbridge_bin
pnpbridge_bin
を実行してみます。
$ cd ~/AzurePnPBridgePreview/pnpbridge/cmake/pnpbridge_linux/src/pnpbridge/samples/console pi@raspberrypi:~/AzurePnPBridgePreview/pnpbridge/cmake/pnpbridge_linux/src/pnpbridge/samples/console $ ./pnpbridge_bin Info: -- Press Ctrl+C to stop PnpBridge Info: Starting Azure PnpBridge Info: Tracing is disabled Info: Connection_type is [connection_string] Error: Time:Thu Nov 28 11:14:04 2019 File:/home/pi/AzurePnPBridgePreview/pnpbridge/deps/azure-iot-sdk-c-pnp/iothub_client/src/iothub_client_core_ll.c Func:IoTHubClientCore_LL_CreateFromConnectionString Line:1496 Unknown token <[To fill in];SharedAccessKey> in connection string. Ignoring error and continuing to parse Error: Time:Thu Nov 28 11:14:04 2019 File:/home/pi/AzurePnPBridgePreview/pnpbridge/deps/azure-iot-sdk-c-pnp/iothub_client/src/iothub_client_core_ll.c Func:IoTHubClientCore_LL_CreateFromConnectionString Line:1504 iotHubName is not found Error: Time:Thu Nov 28 11:14:04 2019 File:/home/pi/AzurePnPBridgePreview/pnpbridge/deps/azure-iot-sdk-c-pnp/iothub_client/src/iothub_client_core.c Func:create_iothub_instance Line:1035 Failure creating iothub handle Error: Time:Thu Nov 28 11:14:04 2019 File:/home/pi/AzurePnPBridgePreview/pnpbridge/src/pnpbridge/src/iothub_comms.c Func:IotComms_InitializeIotHubDeviceHandle Line:315 Failed to create device handle Error: Time:Thu Nov 28 11:14:04 2019 File:/home/pi/AzurePnPBridgePreview/pnpbridge/src/pnpbridge/src/iothub_comms.c Func:IotComms_InitializeIotDeviceHandle Line:396 IotComms_InitializeIotDevice failed Error: Time:Thu Nov 28 11:14:04 2019 File:/home/pi/AzurePnPBridgePreview/pnpbridge/src/pnpbridge/src/pnpbridge.c Func:PnpBridge_Initialize Line:80 IotComms_InitializeIotHandle failed Info: Cleaning DeviceAggregator resources Error: Time:Thu Nov 28 11:14:04 2019 File:/home/pi/AzurePnPBridgePreview/pnpbridge/src/pnpbridge/src/pnpbridge.c Func:PnpBridge_Main Line:407 PnpBridge_Initialize failed: 7 pi@raspberrypi:~/AzurePnPBridgePreview/pnpbridge/cmake/pnpbridge_linux/src/pnpbridge/samples/console $
接続文字列が~なエラーが出ました。
config.json
に、接続先とかブリッジするデバイスを設定しないといけないみたい。
まだ動作確認とれていませんが、なんとなくRaspberry Piでも動かせそうな感じでした。