

サポート終了通知: 2026 年 10 月 7 日、 AWS はサポートを終了します AWS IoT Greengrass Version 1。2026 年 10 月 7 日以降、 AWS IoT Greengrass V1 リソースにアクセスできなくなります。詳細については、[「 からの移行 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Modbus-RTU プロトコルアダプタコネクタ
<a name="modbus-protocol-adapter-connector"></a>

Modbus-RTU プロトコルアダプタ[コネクタ](connectors.md)は、 AWS IoT Greengrass グループ内の Modbus RTU デバイスから情報をポーリングします。

このコネクタは、ユーザー定義の Lambda 関数からの Modbus RTU リクエストのパラメータを受け取ります。その後、対応するリクエストを送信し、MQTT メッセージとしてターゲットデバイスからのレスポンスを発行します。

このコネクタには、次のバージョンがあります。


| バージョン | ARN | 
| --- | --- | 
| 3 | `arn:aws:greengrass:region::/connectors/ModbusRTUProtocolAdapter/versions/3` | 
| 2 | `arn:aws:greengrass:region::/connectors/ModbusRTUProtocolAdapter/versions/2` | 
| 1 | `arn:aws:greengrass:region::/connectors/ModbusRTUProtocolAdapter/versions/1` | 

バージョンの変更については、「[Changelog](#modbus-protocol-adapter-connector-changelog)」を参照してください。

## 要件
<a name="modbus-protocol-adapter-connector-req"></a>

このコネクタには以下の要件があります。

------
#### [ Version 3 ]
+ <a name="conn-req-ggc-v1.9.3"></a>AWS IoT Greengrass Core ソフトウェア v1.9.3 以降。
+ <a name="conn-req-py-3.7-and-3.8"></a>[Python](https://www.python.org/) バージョン 3.7 または 3.8 が Core デバイスにインストールされ、PATH 環境変数に追加されている。
**注記**  <a name="use-runtime-py3.8"></a>
Python 3.8 を使用するには、次のコマンドを実行して、Python 3.7 のデフォルトのインストールフォルダからインストール済みの Python 3.8 バイナリへのシンボリックリンクを作成します。  

  ```
  sudo ln -s path-to-python-3.8/python3.8 /usr/bin/python3.7
  ```
これにより、 AWS IoT Greengrassの Python 要件を満たすようにデバイスが設定されます。
+ <a name="conn-modbus-req-physical-connection"></a> AWS IoT Greengrass コアと Modbus デバイス間の物理的な接続。Core はシリアルポート (USB ポートなど) を介して Modbus RTU ネットワークに物理的に接続する必要があります。
+ <a name="conn-modbus-req-serial-port-resource"></a>物理 Modbus シリアルポートを参照する、Greengrass グループの[ローカルデバイスリソース](access-local-resources.md)。
+ <a name="conn-modbus-req-user-lambda"></a>このコネクタに Modbus RTU リクエストパラメータを送信するユーザー定義の Lambda 関数。リクエストパラメータは、想定されるパターンに従い、Modbus RTU ネットワーク上のターゲットデバイスの ID とアドレスを含む必要があります。詳細については、「[入力データ](#modbus-protocol-adapter-connector-data-input)」を参照してください。

------
#### [ Versions 1 - 2 ]
+ <a name="conn-req-ggc-v1.7.0"></a>AWS IoT Greengrass Core ソフトウェア v1.7 以降。
+ [Python](https://www.python.org/) バージョン 2.7 が Core デバイスにインストールされ、PATH 環境変数に追加されている。
+ <a name="conn-modbus-req-physical-connection"></a> AWS IoT Greengrass コアと Modbus デバイス間の物理的な接続。Core はシリアルポート (USB ポートなど) を介して Modbus RTU ネットワークに物理的に接続する必要があります。
+ <a name="conn-modbus-req-serial-port-resource"></a>物理 Modbus シリアルポートを参照する、Greengrass グループの[ローカルデバイスリソース](access-local-resources.md)。
+ <a name="conn-modbus-req-user-lambda"></a>このコネクタに Modbus RTU リクエストパラメータを送信するユーザー定義の Lambda 関数。リクエストパラメータは、想定されるパターンに従い、Modbus RTU ネットワーク上のターゲットデバイスの ID とアドレスを含む必要があります。詳細については、「[入力データ](#modbus-protocol-adapter-connector-data-input)」を参照してください。

------

## コネクタパラメータ
<a name="modbus-protocol-adapter-connector-param"></a>

このコネクタでは、以下のパラメータがサポートされています。

`ModbusSerialPort-ResourceId`  
物理 Modbus シリアルポートを表すローカルデバイスリソースの ID。  
このコネクタには、リソースへの読み取りと書き込みアクセスが付与されています。
 AWS IoT コンソールの表示名: **Modbus シリアルポートリソース**  
必須: `true`  
型: `string`  
有効なパターン: `.+`

`ModbusSerialPort`  
デバイス上の物理 Modbus シリアルポートへの絶対パス。これは、Modbus ローカルデバイスリソース用に指定されたソースパスです。  
 AWS IoT コンソールの表示名: **Modbus シリアルポートリソースのソースパス**  
必須: `true`  
型: `string`  
有効なパターン: `.+`

### サンプルコネクタを作成する (AWS CLI)
<a name="modbus-protocol-adapter-connector-create"></a>

以下の CLI コマンドは、Modbus-RTU プロトコルアダプタコネクタを含む初期バージョンで `ConnectorDefinition` を作成します。

```
aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{
    "Connectors": [
        {
            "Id": "MyModbusRTUProtocolAdapterConnector",
            "ConnectorArn": "arn:aws:greengrass:region::/connectors/ModbusRTUProtocolAdapter/versions/3",
            "Parameters": {
                "ModbusSerialPort-ResourceId": "MyLocalModbusSerialPort",
                "ModbusSerialPort": "/path-to-port"
            }
        }
    ]
}'
```

**注記**  
このコネクタの Lambda 関数には[存続期間の長い](lambda-functions.md#lambda-lifecycle)ライフサイクルがあります。

 AWS IoT Greengrass コンソールでは、グループのコネクタページから**コネクタ**を追加できます。詳細については、「[Greengrass コネクタの開始方法 (コンソール)](connectors-console.md)」を参照してください。

**注記**  
Modbus-RTU Protocol Adapter コネクタをデプロイした後、 AWS IoT Things Graph を使用してグループ内のデバイス間のインタラクションをオーケストレーションできます。詳細については、「AWS IoT Things Graph ユーザーガイド」の「[Modbus](https://docs.aws.amazon.com/thingsgraph/latest/ug/iot-tg-protocols-modbus.html)」を参照してください。

## 入力データ
<a name="modbus-protocol-adapter-connector-data-input"></a>

このコネクタは、ユーザー定義の Lambda 関数から MQTT トピックに対する Modbus RTU リクエストのパラメータを受け取ります。入力メッセージは JSON 形式である必要があります。

<a name="topic-filter"></a>**サブスクリプションのトピックフィルター**  
`modbus/adapter/request`

**メッセージのプロパティ**  
リクエストメッセージは、Modbus RTU リクエストのタイプによって異なります。以下のプロパティはすべてのリクエストに必須です。  
+ `request` オブジェクト:
  + `operation`。実行するオペレーションの名前。例えば、コイルを読み取るには `"operation": "ReadCoilsRequest"` を指定します。この値は Unicode 文字列であることが必要です。サポートされているオペレーションについては、「[Modbus RTU のリクエストとレスポンス](#modbus-protocol-adapter-connector-requests-responses)」を参照してください。
  + `device`。リクエストのターゲットデバイス。これは `0 - 247` のいずれかの値であることが必要です。
+ `id` プロパティ。リクエストの ID。この値は、データ重複除外に使用され、エラーレスポンスを含むすべてのレスポンスの `id` プロパティでそのまま返されます。この値は Unicode 文字列であることが必要です。
リクエストにアドレスフィールドが含まれている場合は、値を整数で指定する必要があります。例えば、`"address": 1`。
リクエストに含まれるその他のパラメータはオペレーションによって異なります。個別に処理される CRC を除くすべてのリクエストパラメータは必須です。例については、[リクエストとレスポンスの例](#modbus-protocol-adapter-connector-examples) を参照してください。

**入力例: コイルの読み取りリクエスト**  

```
{
    "request": {
        "operation": "ReadCoilsRequest",
    	"device": 1,
    	"address": 1,
    	"count": 1
    },
    "id": "TestRequest"
}
```

## 出力データ
<a name="modbus-protocol-adapter-connector-data-output"></a>

このコネクタは、受信 Modbus RTU リクエストへのレスポンスを発行します。

<a name="topic-filter"></a>**サブスクリプションのトピックフィルター**  
`modbus/adapter/response`

**メッセージのプロパティ**  
レスポンスメッセージの形式は、対応するリクエストとレスポンスステータスによって異なります。例については、[リクエストとレスポンスの例](#modbus-protocol-adapter-connector-examples) を参照してください。  
書き込みオペレーションのレスポンスはリクエストのエコーのみです。書き込みレスポンスで意味のある情報は返されませんが、レスポンスのステータスを確認することをお勧めします。
レスポンスごとに、以下のプロパティが含まれます。  
+ `response` オブジェクト:
  + `status`。リクエストのステータス。ステータスは、次のいずれかの値になります。
    + `Success`。リクエストは有効で、Modbus RTU ネットワークに送信され、レスポンスが返されました。
    + `Exception`。リクエストは有効で、Modbus RTU ネットワークに送信され、例外レスポンスが返されました。詳細については、「[レスポンスステータス: 例外](#modbus-protocol-adapter-connector-response-exception)」を参照してください。
    + `No Response`。リクエストは無効で、リクエストが Modbus RTU ネットワークを介して送信される前にコネクタがエラーを検出しました。詳細については、「[レスポンスステータス: No Response](#modbus-protocol-adapter-connector-response-noresponse)」を参照してください。
  + `device`。リクエストが送信されたデバイス。
  + `operation`。送信されたリクエストのタイプ。
  + `payload`。返されたレスポンスの内容。`status` が `No Response` の場合、このオブジェクトには `error` プロパティがエラーの説明 (`"error": "[Input/Output] No Response received from the remote unit"` など) と共に含まれています。
+ `id` プロパティ。データ重複削除に使用されるリクエストの ID。

**出力例: 成功**  

```
{
    "response" : {
        "status" : "success",
        "device": 1,
    	"operation": "ReadCoilsRequest",
    	"payload": {
        	"function_code": 1,
        	"bits": [1]
    	}
     },
     "id" : "TestRequest"
}
```

**出力例: 失敗**  

```
{
    "response" : {
        "status" : "fail",
        "error_message": "Internal Error",
        "error": "Exception",
        "device": 1,
    	"operation": "ReadCoilsRequest",
    	"payload": {
        	"function_code": 129,
        	"exception_code": 2
    	}
     },
     "id" : "TestRequest"
}
```
その他の例については、「[リクエストとレスポンスの例](#modbus-protocol-adapter-connector-examples)」を参照してください。

## Modbus RTU のリクエストとレスポンス
<a name="modbus-protocol-adapter-connector-requests-responses"></a>

このコネクタは、Modbus RTU のリクエストパラメータを[入力データ](#modbus-protocol-adapter-connector-data-input)として受け取り、レスポンスを[出力データ](#modbus-protocol-adapter-connector-data-output)として発行します。

以下の一般的なオペレーションがサポートされています。


| リクエストのオペレーション名 | レスポンスの関数コード | 
| --- | --- | 
| ReadCoilsRequest | 01 | 
| ReadDiscreteInputsRequest | 02 | 
| ReadHoldingRegistersRequest | 03 | 
| ReadInputRegistersRequest | 04 | 
| WriteSingleCoilRequest | 05 | 
| WriteSingleRegisterRequest | 06 | 
| WriteMultipleCoilsRequest | 15 | 
| WriteMultipleRegistersRequest | 16 | 
| MaskWriteRegisterRequest | 22 | 
| ReadWriteMultipleRegistersRequest | 23 | 

### リクエストとレスポンスの例
<a name="modbus-protocol-adapter-connector-examples"></a>

以下に示しているのは、サポートされているオペレーションのリクエストとレスポンスの例です。

コイルの読み取り  
**リクエストの例:**  

```
{
    "request": {
        "operation": "ReadCoilsRequest",
    	"device": 1,
    	"address": 1,
    	"count": 1
    },
    "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
    "response": {
        "status": "success",
        "device": 1,
    	"operation": "ReadCoilsRequest",
    	"payload": {
        	"function_code": 1,
        	"bits": [1]
    	}
     },
     "id" : "TestRequest"
}
```

個別入力の読み取り  
**リクエストの例:**  

```
{
    "request": {
        "operation": "ReadDiscreteInputsRequest",
        "device": 1,
        "address": 1,
        "count": 1
    },
    "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
    "response": {
        "status": "success",
        "device": 1,
        "operation": "ReadDiscreteInputsRequest",
        "payload": {
            "function_code": 2,
            "bits": [1]
        }
     },
     "id" : "TestRequest"
}
```

保持レジスタの読み取り  
**リクエストの例:**  

```
{
    "request": {
        "operation": "ReadHoldingRegistersRequest",
    	"device": 1,
    	"address": 1,
    	"count": 1
    },
    "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
    "response": {
        "status": "success",
        "device": 1,
    	"operation": "ReadHoldingRegistersRequest",
    	"payload": {
    	    "function_code": 3,
            "registers": [20,30]
    	}
     },
     "id" : "TestRequest"
}
```

入力レジスタの読み取り  
**リクエストの例:**  

```
{
    "request": {
        "operation": "ReadInputRegistersRequest",
    	"device": 1,
    	"address": 1,
    	"value": 1
    },
    "id": "TestRequest"
}
```

単一コイルの書き込み  
**リクエストの例:**  

```
{
    "request": {
        "operation": "WriteSingleCoilRequest",
    	"device": 1,
    	"address": 1,
    	"value": 1
    },
    "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
    "response": {
        "status": "success",
        "device": 1,
    	"operation": "WriteSingleCoilRequest",
    	"payload": {
    	    "function_code": 5,
    	    "address": 1,
    	    "value": true
    	}
     },
     "id" : "TestRequest"
```

単一レジスタの書き込み  
**リクエストの例:**  

```
{
    "request": {
        "operation": "WriteSingleRegisterRequest",
    	"device": 1,
    	"address": 1,
    	"value": 1
    },
    "id": "TestRequest"
}
```

複数コイルの書き込み  
**リクエストの例:**  

```
{
    "request": {
        "operation": "WriteMultipleCoilsRequest",
    	"device": 1,
    	"address": 1,
    	"values": [1,0,0,1]
    },
    "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
    "response": {
        "status": "success",
        "device": 1,
    	"operation": "WriteMultipleCoilsRequest",
    	"payload": {
    	    "function_code": 15,
    	    "address": 1,
    	    "count": 4
    	}
     },
     "id" : "TestRequest"
}
```

複数レジスタの書き込み  
**リクエストの例:**  

```
{
    "request": {
        "operation": "WriteMultipleRegistersRequest",
    	"device": 1,
    	"address": 1,
    	"values": [20,30,10]
    },
    "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
    "response": {
        "status": "success",
        "device": 1,
    	"operation": "WriteMultipleRegistersRequest",
    	"payload": {
    	    "function_code": 23,
    	    "address": 1,
       		"count": 3
    	}
     },
     "id" : "TestRequest"
}
```

書き込みレジスタのマスク  
**リクエストの例:**  

```
{
    "request": {
        "operation": "MaskWriteRegisterRequest",
    	"device": 1,
    	"address": 1,
        "and_mask": 175,
        "or_mask": 1
    },
    "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
    "response": {
        "status": "success",
        "device": 1,
    	"operation": "MaskWriteRegisterRequest",
    	"payload": {
    	    "function_code": 22,
            "and_mask": 0,
            "or_mask": 8
    	}
     },
     "id" : "TestRequest"
}
```

複数レジスタの読み書き  
**リクエストの例:**  

```
{
    "request": {
        "operation": "ReadWriteMultipleRegistersRequest",
    	"device": 1,
    	"read_address": 1,
        "read_count": 2,
        "write_address": 3,
        "write_registers": [20,30,40]
    },
    "id": "TestRequest"
}
```
**レスポンスの例:**  

```
{
    "response": {
        "status": "success",
        "device": 1,
    	"operation": "ReadWriteMultipleRegistersRequest",
    	"payload": {
    	    "function_code": 23,
    	    "registers": [10,20,10,20]
    	}
     },
     "id" : "TestRequest"
}
```
このレスポンスで返されるレジスタは読み取り元のレジスタです。

### レスポンスステータス: 例外
<a name="modbus-protocol-adapter-connector-response-exception"></a>

リクエスト書式が有効で、リクエストが正常に完了していない場合、例外が発生している可能性があります。この場合、レスポンスには以下の情報が含まれています。
+ `status` は `Exception` に設定されています。
+ `function_code` がリクエストの関数コード \$1 128 に等しい。
+ `exception_code` に例外コードが含まれている。詳細については、Modbus 例外コードを参照してください。

**例**:

```
{
    "response" : {
        "status" : "fail",
        "error_message": "Internal Error",
        "error": "Exception",
        "device": 1,
    	"operation": "ReadCoilsRequest",
    	"payload": {
        	"function_code": 129,
        	"exception_code": 2
    	}
     },
     "id" : "TestRequest"
}
```

### レスポンスステータス: No Response
<a name="modbus-protocol-adapter-connector-response-noresponse"></a>

このコネクタは Modbus リクエストの検証チェックを実行します。例えば、無効な書式や不足しているフィールドがないかどうかを確認します。検証に失敗すると、コネクタはリクエストを送信しません。代わりに、以下の情報を含むレスポンスを返します。
+ `status` は `No Response` に設定されています。
+ `error` にはエラーの理由が含まれています。
+ `error_message` にはエラーメッセージが含まれています。

**例:**

```
{
    "response" : {
        "status" : "fail",
        "error_message": "Invalid address field. Expected <type 'int'>, got <type 'str'>",
        "error": "No Response",
        "device": 1,
    	"operation": "ReadCoilsRequest",
    	"payload": {
        	"error": "Invalid address field. Expected <type 'int'>, got <type 'str'>"
    	}
     },
     "id" : "TestRequest"
}
```

リクエストのターゲットデバイスが存在しない場合、または Modbus RTU ネットワークが機能していない場合、No Response 形式を使用する `ModbusIOException` が返されます。

```
{
    "response" : {
        "status" : "fail",
        "error_message": "[Input/Output] No Response received from the remote unit",
        "error": "No Response",
        "device": 1,
    	"operation": "ReadCoilsRequest",
    	"payload": {
        	"error": "[Input/Output] No Response received from the remote unit"
    	}
     },
     "id" : "TestRequest"
}
```

## 使用例
<a name="modbus-protocol-adapter-connector-usage"></a>

<a name="connectors-setup-intro"></a>コネクタの試用に利用できる Python 3.7 Lambda 関数の例を設定するには、次のステップ (概要) を使用します。

**注記**  <a name="connectors-setup-get-started-topics"></a>
他の Python ランタイムを使用する場合は、Python 3.x から Python 3.7 へのシンボリックリンクを作成します。
「[コネクタの使用を開始する (コンソール)](connectors-console.md)」および「[コネクタの使用を開始する (CLI)](connectors-cli.md)」トピックには、Twilio 通知コネクタの例を設定およびデプロイする方法を示す詳細なステップが含まれています。

1. コネクタの[要件](#modbus-protocol-adapter-connector-req)を満たしていることを確認します。

1. <a name="connectors-setup-function"></a>入力データをコネクタに送信する Lambda 関数を作成して発行します。

   [サンプルコード](#modbus-protocol-adapter-connector-usage-example)を PY ファイルとして保存します。<a name="connectors-setup-function-sdk"></a>[AWS IoT Greengrass Core SDK for Python](lambda-functions.md#lambda-sdks-core) をダウンロードして解凍します。次に、PY ファイルとルートレベルの `greengrasssdk` フォルダを含む zip パッケージを作成します。この zip パッケージは、 AWS Lambdaにアップロードするデプロイパッケージです。

   <a name="connectors-setup-function-publish"></a>Python 3.7 Lambda 関数を作成したら、関数バージョンを公開し、エイリアスを作成します。

1. Greengrass グループを設定します。

   1. <a name="connectors-setup-gg-function"></a>エイリアスで Lambda 関数を追加します (推奨)。Lambda ライフサイクルを長期間有効に (または CLI で `"Pinned": true` に) 設定します。

   1. <a name="connectors-setup-device-resource"></a>必要なローカルデバイスリソースを追加し、Lambda 関数への読み取り/書き込みアクセスを許可します。

   1. コネクタを追加し、その[パラメータ](#modbus-protocol-adapter-connector-param)を設定します。

   1. コネクタが[入力データ](#modbus-protocol-adapter-connector-data-input)を受信し、サポートされているトピックフィルターで[出力データ](#modbus-protocol-adapter-connector-data-output)を送信できるようにするサブスクリプションを追加します。
      + <a name="connectors-setup-subscription-input-data"></a>Lambda 関数をソースに、コネクタをターゲットに設定し、サポートされている入力トピックフィルターを使用します。
      + <a name="connectors-setup-subscription-output-data"></a>コネクタをソースとして、 AWS IoT Core をターゲットとして設定し、サポートされている出力トピックフィルターを使用します。このサブスクリプションを使用して、 AWS IoT コンソールでステータスメッセージを表示します。

1. <a name="connectors-setup-deploy-group"></a>グループをデプロイします。

1. <a name="connectors-setup-test-sub"></a> AWS IoT コンソールの**テスト**ページで、出力データトピックをサブスクライブして、コネクタからのステータスメッセージを表示します。この例の Lambda 関数は長期間有効であり、グループがデプロイされた直後にメッセージの送信を開始します。

   テストが終了したら、Lambda ライフサイクルをオンデマンドに (または CLI で `"Pinned": false` に) 設定して、グループをデプロイできます。これにより、関数がメッセージの送信を停止します。

### 例
<a name="modbus-protocol-adapter-connector-usage-example"></a>

次の例では、Lambda 関数で入力メッセージをコネクタに送信します。

```
import greengrasssdk
import json

TOPIC_REQUEST = 'modbus/adapter/request'

# Creating a greengrass core sdk client
iot_client = greengrasssdk.client('iot-data')

def create_read_coils_request():
	request = {
		"request": {
			"operation": "ReadCoilsRequest",
			"device": 1,
			"address": 1,
			"count": 1
		},
		"id": "TestRequest"
	}
	return request

def publish_basic_request():
	iot_client.publish(payload=json.dumps(create_read_coils_request()), topic=TOPIC_REQUEST)

publish_basic_request()

def lambda_handler(event, context):
	return
```

## ライセンス
<a name="modbus-protocol-adapter-connector-license"></a>

Modbus-RTU プロトコルアダプタコネクタには、以下のサードパーティーのソフトウェアおよびライセンスが含まれています。
+ [pymodbus](https://github.com/riptideio/pymodbus/blob/master/README.rst)/BSD
+ [pyserial](https://github.com/pyserial/pyserial)/BSD

このコネクタは、[Greengrass Core ソフトウェアライセンス契約](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)に従ってリリースされます。

## 変更ログ
<a name="modbus-protocol-adapter-connector-changelog"></a>

次の表に、コネクタの各バージョンにおける変更点を示します。


| バージョン | 変更 | 
| --- | --- | 
| 3 | <a name="upgrade-runtime-py3.7"></a>Lambda ランタイムを Python 3.7 にアップグレードしたことで、ランタイム要件が変更。 | 
| 2 |  AWS リージョン サポート用にコネクタ ARN を更新しました。 エラーログ記録を改良しました。 | 
| 1 | 初回リリース。  | 

<a name="one-conn-version"></a>Greengrass グループには、一度に 1 つのバージョンのコネクタしか含めることができません。コネクタのバージョンのアップグレードについては、「[コネクタのバージョンのアップグレード](connectors.md#upgrade-connector-versions)」を参照してください。

## 関連情報
<a name="modbus-protocol-adapter-connector-see-also"></a>
+ [Greengrass コネクタを使用したサービスおよびプロトコルとの統合](connectors.md)
+ [Greengrass コネクタの開始方法 (コンソール)](connectors-console.md)
+ [Greengrass コネクタの開始方法 (CLI)](connectors-cli.md)