自宅にアンテナを建てられないけど、いつでも気軽に無線がやりたい!ということで、実家の無線設備をインターネット越しに操作するリモートアマチュア無線局を構築しています。
さすがに24時間、設備の電源は入れっぱなしにできないので、必要な時に電源を入れられる様にしているのですが、遠隔地のPCの電源を入れるためにWOLをするのが意外と面倒です。
SORACOMボタン、やっと実戦投入。遠隔地から電源入れられるの便利でしょ😊
受け側のルータ越えめんどいので、LTE-Mの汎用I/Oが発売されれば完璧です。出ないと思うけど笑#SORACOM #リモート #アマチュア無線 pic.twitter.com/YLk4PItxo1— JI0VWL/0 – Freakな日常 – (@ji0vwl) 2020年4月4日
そこで今回、SORACOMさんのキャンペーン価格で入手したSORACOM LTE-M Button for Enterprise (ひげ無しボタン)をぽちっとするだけで、遠隔地のPCの電源が入り、連動して無線設備の電源が入るところを目指してやってみましたので、手順を紹介します。私含む初心者の方でも理解しやすい様に、スクショを多めに入れました。
1. SORACOM LTE-M Button for Enterprise を購入する
-1. SORACOMアカウントを作成する
SORACOM LTE-M Button for Enterprise(以下SORACOMボタン)を購入するためにはSORACOMアカウントが必要です。まだSORACOMアカウントがない場合は、まずアカウントを作ります。
SORACOMトップ – User Console – アカウントを作成 -「カバレッジタイプJAPAN」のほうを選択、必要事項を入力してアカウントを作成します。
-2. SORACOMボタンを買う
ログイン後、左上「三 menu」- 「発注」 – 「+ 新規注文」から、「デバイス」タブのSORACOM LTE-M Button for Enterprise にて、必要数量を注文します。
-3. SORACOMボタンを受け取る
営業日の午前中までに発注をすると、最短で翌日、遅くとも2,3日で手元に届きます。発注画面から受け取り確認ボタンを押す必要があるらしいのですが、3日後に自動的に受け取りになるみたいで、私の場合は気づいたら受け取り済みになっていました。
2. SORACOMボタンでAWS Lambdaを呼び出すための下準備
-1. AWS Lambda 関数を準備
(1). AWS にアカウントがない場合は作成して、ログインします(詳細割愛)。
(2). SORACOMボタンで呼ばれる対象になる、空のLambda関数を作成します
AWS マネジメントコンソールから Lambda をクリック
関数 – 関数の作成 をクリック
一から作成 – 関数名「soracom-test(適当に)」 – Node.js 12.x – 関数の作成 をクリック
(3). AWS Lambda ARNを控えておく
空のLambda関数ができたら、SORACOMボタンとの紐付けに使うARNを控えておきます。右上に表示されます。
-2. Lambda実行用ユーザーを作成する
(1). Lambda用 IAM ポリシーの作成
AWS マネジメントコンソールから IAM を選択
ポリシー – ポリシーの作成 をクリック
JSONタブ をクリックし、以下のJSONを貼ってポリシーの確認 クリック
Resource には、先ほど控えた Lambda ARN を転記します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAuroraToExampleFunction", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:**********:soracom-test (先ほど控えたARN)" } ] }
名前に「soracom-test-policy(適当に)」を入力し、ポリシーの作成をクリック
(2). Lambda用 IAM ユーザーの作成
IAM – ユーザー – ユーザーの作成をクリック
ユーザー名「soracom-test-user(適当に)」、プログラムによるアクセスにチェックをつけて、次のステップへ
既存ポリシーを直接アタッチ 、先ほど作成した soracom-test-policy を選択して次のステップへ
次のステップ
ユーザーの作成をクリック
SORACOMコンソール側に登録する、アクセスキーIDとシークレットアクセスキーを控えておきます。
-3. SORACOM Func で LambdaとSORACOMボタンを紐づける
ここでは、AWS側で作成した認証情報をSORACOM側に設定していきます。
(1). SORACOM コンソールで AWS IAM ユーザーの認証情報を登録
右上のユーザー名をクリックし、セキュリティをクリック
認証情報ストアタブ、「+ 認証情報を登録」をクリック
認証情報ID「soracom-test-lambda(適当に)」
種別「AWS認証情報」
AWS Access Key ID、AWS Secret Access Keyは、先ほど控えておいたものを転記して、登録をクリック
(2). SIMグループの作成 – SORACOM Func 設定
左上「三 menu」クリック
SIMグループをクリック
+ 追加をクリック
グループ名「soracom-test(適当に)」、グループ作成をクリック
> SORACOM Func 設定をクリック
SORACOM Func 機能を ON、認証情報は先ほど認証情報ストアで作ったもの、関数のARNはSORACOMボタンで呼び出すLambdaのARNを指定して、保存をクリック
最後にグループ設定 。SIM管理から、SORACOMボタンにチェックをつけて「詳細」をクリック。
先ほど作成したグループを選択して、閉じる。
とりあえず、ここまでの設定で SORACOM – Lambda がつながりました。お疲れ様でした。
流石に長くなったので、詳細実装はその2に続きます。