FUOTA タスクを作成およびファームウェアイメージの指定
LoRaWAN デバイスのファームウェアを更新するには、まず FUOTA タスクを作成し、アップデートに使用するデジタル署名されたファームウェアイメージを指定します。その後、デバイスおよびマルチキャストグループをタスクに追加し、FUOTA セッションをスケジュールできます。セッションが開始されると、AWS IoT Core for LoRaWAN によりフラグメンテーションセッションが設定されます。また、エンドデバイスによりフラグメントが収集され、イメージが再構築され、新しいファームウェアが適用されます。FUOTA プロセスの詳細については、「FUOTA プロセスの概要」を参照してください。
FUOTA タスクを作成し、S3 バケットに格納するファームウェアイメージまたはデルタイメージをアップロードする方法を次に示します。
前提条件
FUOTA を実行する前に、エンドデバイスがイメージの適用時にイメージの信頼性を確認できるよう、ファームウェアイメージにデジタル署名する必要があります。サードパーティー製のツールを使用して、ファームウェアイメージのデジタル署名を生成できます。ARM Mbed GitHub リポジトリ
コンソールを使用して FUOTA タスクを作成しファームウェアイメージをアップロードする
コンソールを使用して FUOTA タスクを作成し、ファームウェアイメージをアップロードするには、コンソールの [FUOTA tasks]
-
FUOTA タスクの作成
FUOTA タスクを作成するには、タスクのプロパティとタグを指定します。
-
FUOTA タスクのプロパティの指定
FUOTA タスクのプロパティを指定するには、FUOTA タスクについて次の情報を入力します。
-
Name (名前): FUOTA タスクの一意の名前を入力します。名前には、文字、数字、ハイフン、またはアンダースコアのみを使用できます。スペースを含めることはできません。
-
Description (説明): マルチキャストグループの説明をオプションで提供できます。説明フィールドは最大 2,048 文字です。
-
RFRegion: FUOTA タスクの周波数帯域を設定します。周波数帯域は、ワイヤレスデバイスまたはマルチキャストグループのプロビジョニングに使用したものと一致する必要があります。
-
-
FUOTA タスクのタグ
オプションで、FUOTA タスクの Tags (タグ) として、任意のキーと値の組み合わせを指定できます。イメージの作成を続行するには、[Next] (次へ) を選択します。
-
-
ファームウェアイメージのアップロード
FUOTA タスクに追加するデバイスにおけるファームウェアの更新に使用するファームウェアのイメージファイルを選択します。ファームウェアのイメージファイルは S3 バケットに保存されます。お客様に代わってファームウェアイメージにアクセスするアクセス許可を AWS IoT Core for LoRaWAN に与えることができます。ファームウェアイメージにデジタル署名して、ファームウェアの更新時にその信頼性が確認できるようにすることをお勧めします。
-
ファームウェアのイメージファイルを選択する
ファームウェアの新しいイメージファイルを S3 バケットにアップロードするか、既に S3 バケットにアップロードされている既存のイメージを選択できます。
注記
ファームウェアのイメージファイルのサイズは 1 メガバイトを超えてはいけません。ファームウェアのサイズが大きいほど、更新プロセスの完了に時間がかかります。
-
既存のイメージを使用するには、[Select an existing firmware image] (既存のファームウェアイメージを選択する) を選択し、[Browse S3] (S3 をブラウズする) を選択します。その後、使用するファームウェアのイメージファイルを選択します。
AWS IoT Core for LoRaWAN により、S3 バケット内にあるファームウェアのイメージファイルへのパスである S3 URL が設定されます。パスの形式は
s3://
です。Amazon Simple Storage Servicebucket_name
/file_name
コンソールでファイルを表示するには、[View] (表示) を選択します。 -
新しいファームウェアイメージをアップロードするには。
-
[Upload a new firmware image] (新しいファームウェアイメージをアップロード) を選択し、ファームウェアイメージをアップロードします。イメージファイルは 1 メガバイトを超えてはいけません。
-
S3 バケットを作成し、ファームウェアイメージファイルを保存するための Bucket name (バケット名) を入力するには、[Create S3 bucketS3] (S3 バケットの作成) を選択します。
-
-
-
バケットへのアクセス許可
新しいサービスロールを作成するか、既存のロールを選択して、AWS IoT Core for LoRaWAN がお客様に代わって S3 バケット内にあるファームウェアのイメージファイルにアクセスすることを許可できます。[Next] を選択します。
新しいロールを作成するには、ロール名を入力するか、空白のままにするとランダムな名前が自動的に生成されます。S3 バケットへのアクセスを許可するポリシーのアクセス許可を表示するには、[View policy permissions] (ポリシーのアクセス許可を表示する) を選択します。
S3 バケットを使用してイメージを保存し、AWS IoT Core for LoRaWAN にアクセスを許可する方法の詳細については、「S3 バケットにファームウェアファイルをアップロードし、IAM ロールを追加する」を参照してください。
-
-
確認と作成
FUOTA タスクを作成するには、指定した FUOTA タスクと設定の詳細を確認し、[Create task] (タスクの作成) を選択します。
API を使用して FUOTA タスクを作成しファームウェアイメージをアップロードする
API を使用して FUOTA タスクを作成し、ファームウェアのイメージファイルを指定するには、CreateFuotaTask
API オペレーションまたは create-fuota-task
CLI コマンドを使用します。create-fuota-task
コマンドへの入力として input.json
ファイルを指定できます。API または CLI を使用する際、入力として指定するファームウェアのイメージファイルは、既に S3 バケットにアップロードされている必要があります。また、AWS IoT Core for LoRaWAN が S3 バケット内のファームウェアイメージにアクセスできるようにする IAM ロールを指定します。
aws iotwireless create-fuota-task \ --cli-input-json file://input.json
各パラメータの意味は次のとおりです。
input.json の内容
{ "Description": "FUOTA task to update firmware of devices in multicast group.", "FirmwareUpdateImage": "S3:/firmware_bucket/firmware_image "FirmwareUpdateRole": "arn:aws:iam::123456789012:role/service-role/ACF1zBEI" "LoRaWAN": { "RfRegion": "US915" }, "Name": "FUOTA_Task_MC" }
FUOTA タスクを作成したら、次の API オペレーションまたは CLI コマンドを使用して、FUOTA タスクに関する情報を更新、削除、取得できます。
-
GetFuotaTask
、、またはget-fuota-task
次のステップ
FUOTA タスクを作成し、ファームウェアイメージを指定したので、ファームウェアの更新のためタスクにデバイスを追加できます。個々のデバイスまたはマルチキャストグループをタスクに追加できます。詳細については、「 は デバイスおよびマルチキャストグループを FUOTA タスクに追加して FUOTA セッションをスケジュールする」を参照してください。