5.3 MQTTデバイス統合

Beaver IoTは、MQTTブローカーとして動作し、Milesightデバイスやサードパーティ製デバイスと接続して、デバイス情報とデータを取得することをサポートしております。

互換性

  • あらゆるMQTTデバイス:レポート内容はJSON形式であり、アップリンクトピックの設定をサポートしております。

デバイステンプレート管理

Beaver IoTは、デバイステンプレートを使用して、異なるレポート形式を持つデバイスからのデータ形式をエンティティに解析することをサポートしており、その後のデータ可視化や管理を容易にいたします。

テンプレートの追加

  1. Beaver IoTプラットフォームのIntegrationページに移動し、MQTTデバイス統合を選択します。次にDevice template managementタブに移動し、+Addをクリックして新しいテンプレートを追加します。
  2. 一意のテンプレート名と、デバイスが報告するアップリンクトピックを入力し、コピーアイコンをクリックしてこのトピックを保存します。
  3. デバイスエンティティ定義と備考を設定し、Confirmをクリックしてこのテンプレートを保存します。

    add-mqtt-device-template

    パラメータ 説明
    Device template name この名前は一意である必要があり、以下の文字のみを含めることができます:A-Z、a-z、0-9、「_」、「@」、「#」、「$」、「-」、「/」、「[」、「]」
    Device topic このトピックを入力する際は、必ず「/」で開始してください。このトピックの前半部分は固定コンテンツであり、変更できません。全文をコピーして貼り付けてください。
    Device entity definition 報告されたデータを個別のエンティティに解析する。
    Remark 任意入力欄。

    レポート例:

    {
        "device_id": "24E124710E338704",
        "device_name": "Device 1",
        "temperature": 26.8,
        "humidity": 15.2,
        "status": 1,
        "time": "2025-07-02 15:19:35"
    }
    

    対応デバイステンプレート:

    definition:
      input:
        type: object
        properties:
          - key: device_id                 # json key
            type: string                   # data type
            required: true
            is_device_id: true
            entity_mapping: 'device_id'    # entity identifier
          - key: device_name               # json key
            type: string                   # data type
            is_device_name: true
          - key: temperature               # json key
            type: double                   # data type
            entity_mapping: 'temperature'  # entity identifier
          - key: humidity                  # json key
            type: double                   # data type
            entity_mapping: 'humidity'     # entity identifier
          - key: status                    # json key
            type: long                     # data type
            entity_mapping: 'status'       # entity identifier
          - key: time                      # json key
            type: string                   # data type
            entity_mapping: 'time'         # entity identifier
      output:
        type: object
        properties:
          - key: device_id                 # json key
            type: string                   # data type
            entity_mapping: 'device_id'    # entity identifier
          - key: temperature               # json key
            type: double                   # data type
            entity_mapping: 'temperature'  # entity identifier
          - key: humidity                  # json key
            type: double                   # data type
            entity_mapping: 'humidity'     # entity identifier
          - key: status                    # json key
            type: long                     # data type
            entity_mapping: 'status'       # entity identifier
          - key: time                      # json key
            type: string                   # data type
            entity_mapping: 'time'         # entity identifier
    initial_entities:
      - identifier: 'device_id'  # entity identifier
        name: 'device_id'        # entity name
        value_type: string       # entity value type
        type: property           # entity type
        access_mod: R
      - identifier: 'temperature'   # entity identifier
        name: 'temperature'         # entity name
        value_type: double          # entity value type
        type: property              # entity type
        access_mod: R
        attributes:
          unit: '℃'
      - identifier: 'humidity'     # entity identifier
        name: 'humidity'           # entity name
        value_type: double           # entity value type
        type: property             # entity type
        access_mod: R
        attributes:
          unit: '%'
      - identifier: 'status'      # entity identifier
        name: 'status'            # entity name
        value_type: long          # entity value type
        type: property            # entity type
        access_mod: R
        attributes:
          enum:
            0: 'Offline'
            1: 'Online'
      - identifier: 'time'     # entity identifier
        name: 'time'           # entity name
        value_type: string     # entity value type
        type: property         # entity type
        access_mod: R
    

    テンプレートパラメータ:

    パラメータ 必須 説明
    definition Yes
        input Yes アップリンクコンテンツのJSON形式を定義してください
            type Yes その値はオブジェクトとして固定されています
            properties Yes
                key Yes JSONデータ項目名
                type Yes JSONデータ型、オプション:オブジェクト、long、double、boolean、文字列
                required No 報告の可否は必須項目です。オプション: true, false
                entity_mapping No エンティティにマッピングされた識別子値
                is_device_id No このキー値がデバイスIDであるかどうか、オプション:true、false
                is_device_name No このキー値がデバイス名であるかどうかオプション: true, false
                properties No キーの型がオブジェクトの場合、次のレベルのパラメータを定義する
        output No ダウンリンクコンテンツのJSON形式を定義する
            type Yes 値はオブジェクトとして固定される
            properties Yes
                key Yes JSONデータ項目名
                type Yes JSONデータ型,オプション:オブジェクト、long、double、boolean、文字列
                entity_mapping No エンティティにマッピングされた識別子値
                value No このキーの固定値
                properties No キーの型がオブジェクトの場合、次のレベルのパラメータを定義する
    initial_entities Yes デバイスエンティティのフォーマットを定義する
        identifier Yes エンティティ固有識別子
        name Yes エンティティ名
        value_type Yes エンティティデータ型,オプション:オブジェクト、long、double、ブール値、文字列
        type Yes エンティティタイプ,オプション:プロパティ、サービス、イベント
        access_mod Yes アクセス種別,オプション:読み取り(R),書き込み(W),読み書き(RW)
        attributes No エンティティ属性
            unit No ユニット
            fraction_digits No 小数点以下の桁数、double型のみ使用
            max No 最大値、long型またはdouble型のみ使用
            min No 最小値、long型またはdouble型のみ使用
            max_length No 最大長、文字列型のみ使用
            min_length No 最小長、文字列型のみ使用
            enum No 列挙値、その値はリストであり、形式は key: value
            format No 値が HEX の場合、内容は 16 進文字です。値が IMAGE: BASE64 または IMAGE: URL の場合、内容は画像です。
            default_value No デフォルト値
            optional No オプション: true, false
        children No 児童エンティティリスト

テストテンプレート

  1. ご希望のテンプレートを選択し、Test Dataアイコンをクリックしてください。
  2. 左側にJSON形式のレポートデータ例を入力するか、Generate simulated dataをクリックしてください。
  3. Simulation reportをクリックすると、テスト結果が右側に表示されます。

 

mqtt-device-template-test

テンプレートの編集

ご希望のテンプレートを選択し、Editアイコンをクリックして編集を行います。

注意

テンプレート追加後のエンティティ定義内容の変更は推奨されません。Beaver IoTが正しく解析できなくなり、既存エンティティに異常が生じる可能性があります。

edit-mqtt-device-template

テンプレートの削除

注意

テンプレート削除時には、関連するデバイス及びその全データが同時に削除されます。

テンプレートの削除:対象テンプレートのDeleteアイコンをクリックして削除します。

delete-mqtt-device-template

テンプレートの一括削除:削除対象のテンプレートのチェックボックスを選択し、上部にあるDeleteボタンをクリックして削除します。

delete-mqtt-device-template-in-bulk

統合手順

  1. Beaver IoTプラットフォームのIntegrationページに移動し、MQTT Device Integrated統合を選択してMQTTブローカー情報を取得します。

    mqtt-integration-configuration

  2. MQTTデバイスの設定ページに移動し、MQTTブローカー情報を設定します。デバイステンプレートから取得したデバイスアップリンクトピックを貼り付けます(Add Templateの手順2を参照)。
    注記
    設定前に、MQTTデバイスがBeaver IoTプラットフォームのMQTTブローカーアドレスにアクセスできることを必ずご確認ください。
  3. 設定を保存し、デバイスがBeaver IoTに接続されていることをご確認ください。接続後、Beaver IoTが自動的にデバイスと関連エンティティを作成します。これらは各関連ページで確認できます。

関連記事

ソリューション / IoT サポート

  • 1. はじめに 2025年11月10日
    Beaver IoTは、迅速かつ直感的なIoTアプリケーション開発を目的としたオープンソースプラットフォームです。
  • 1.1 主要概念 2025年11月10日
    このトピックでは、Beaver IoTについて理解しておくべき主要な概念について説明します。
  • 2. インストール 2025年11月10日
    Docker(バージョン20.10以降)をインストールしてください。
  • 3. スタートアップガイド 2025年11月10日
    Milesight Development Platformとの連携を例に、実際のデバイスがなくても素早く設定を完了するための主要な手順を説明します。
  • 4.1 ダッシュボード 2025年11月10日
    Beaver IoTは、データを視覚的に処理・表示するための直感的なダッシュボードを提供します。
  • 4.2 デバイス 2025年11月10日
    4.2 デバイス
  • 4.3 インテグレーション 2025年11月10日
    Beaver IoTは、サードパーティサービス・デバイス・プラットフォームとの連携を実現する「Integration(連携機能)」の追加をサポートしています。
  • 4.4 エンティティ 2025年11月10日
    Beaver IoTは、ワークフローアプリケーション向けにプロパティタイプのエンティティを追加・管理する機能をサポートしています。
  • 4.5 ワークフロー 2025年11月10日
    ワークフローとは、デバイス、データ、サービス間の相互作用を定義、管理、自動化するための論理的なプロセスです。
  • 4.6 タグ管理 2025年11月10日
    タグはエンティティデータを関連付けたり分類したりするためにご利用いただけます。
  • 4.7 ユーザーとロール 2025年11月10日
    Beaver IoTでは、スーパー管理者アカウントによるサブアカウントの追加および管理をサポートしております。
  • 4.8 設定 2025年11月10日
    Beaver IoTでは、SMTPサーバーの設定をサポートしており、このメールアカウントを使用してアラートや通知メールを送信することが可能です。
  • 4.9 パーソナルセンター 2025年11月15日
    画面左下のアカウントアイコンをタップすると、言語の切り替え、プラットフォームのバージョン番号の確認、アカウントからのログアウト、その他の操作を行うことができます。
  • 5.1 Milesight開発プラットフォーム統合 2025年11月15日
    Beaver IoTは、Milesight開発プラットフォームとの連携機能を備えており、デバイス情報の取得や迅速なデバイス制御を実現します。
  • 5.2 Milesightゲートウェイ組み込みNS統合 2025年11月15日
    Beaver IoTは、MQTT通信を介したMilesight LoRaWANゲートウェイ内蔵ネットワークサーバーとの連携をサポートしております。
  • 5.3 MQTTデバイス統合 2025年11月15日
    Beaver IoTは、MQTTブローカーとして動作し、Milesightデバイスやサードパーティ製デバイスと接続して、デバイス情報とデータを取得することをサポートしております。
  • 5.4 CamThink AI推論サービス 2025年11月15日
    Beaver IoTは、CamThink AI推論サービスの統合をサポートし、CamThinkデバイスにおける画像分析およびCamThinkプラットフォーム上でのモデル検証を可能にします。
  • Berver IoT オープンソースIoTプラットフォーム 2025年11月8日

Milesight製品

ウェーブクレスト株式会社が運営するMilesight製品特設サイトです

お知らせ

  1. 2025-9-22

    EdgeTech+2025 LoRa Pavilionに出展いたします

  2. 2025-4-3

    ピープル・センシング 駆動型スマートビルディング

    People Sensing Insights を通じてビルインテリジェンスに革命をもたらします。…
  3. 2023-7-21

    LoRaWANの説明: 理論から実践へのガイド

    この包括的なビデオでは、LoRaWANを深く掘り下げ、その仕組み、利点、アプリケーションについて説明…

居住者の健康を確保

ページ上部へ戻る