目次
はじめに
以下のイメージ図のように、ボタン押したら自動で商品を注文するようにできたらいいなあと思い、「Amazon自動注文ボタン」を自作する方法を調べました。

事前調査したところ、「Amazon自動注文ボタン」を自作する方法としては、
以下のような方法があることがわかりました。
本ブログでは、「AWS IoT ボタン(AWS の Seeed IoT Button)+AWS IoT Core+AWS Lambda」で作った場合の費用を検討します。
その他の構成の検討については、以下のブログをご覧ください。

「AWS IoT ボタン(AWS の Seeed IoT Button)+AWS IoT Core+AWS Lambda」のイメージ図
「Seeed IoT Button」は「AWS IoT Core」や「AWS IoT 1-Click」のようなAWSサービスに接続することができるボタンです。
「Seeed IoT Button」をクリックすると、AWS上のLambda上の自動購入プログラムが実行されて、
商品を購入するような流れとなります。

費用の検討
上で記載したシステムイメージを実現した場合の費用を見積もりました。
費用項目 | 初期費用 | ランニングコスト | 備考 |
---|---|---|---|
AWS の Seeed IoT Button | 8,059円 | ー円/月 | |
NCR18650Bバッテリー | 1,400円 | ー円/月 | 推奨されている電池 |
インターネット通信費 | ー円 | ー円/月 | 自宅既設のネット回線を使用するため、 費用はかからない想定 |
AWS IoT Core | ー円 | 0.0008円/月 | |
AWS Lambda | ー円 | 0.0015円/月 | |
合計 | 9,459円 | 0.0023円/月 |
Seeed IoT Button
「Seeed IoT Button」は「AWS IoT Core」や「AWS IoT 1-Click」のようなAWSサービスに接続できる、AWSの公式ページで紹介されている中で唯一Wi-Fiに接続できるボタンとなります。[1]
2021年7月頃の価格にはなりますが、8,059円と少しお高いです。
また、別売りのNCR18650B充電式リチウムイオンバッテリーの購入が必要になります。
AWS用IoTボタン - クラウドプログラム可能なダッシュボタン
Amazon
NCR18650Bバッテリー
「Seeed IoT Button」の推奨している充電式リチウムイオンバッテリーが「NCR18650B」のため、
それを購入することにしてます。
2021年7月頃の価格にはなりますが、1,400円でした。

3400mAh パナソニック NCR18650B リチウムイオンバッテリー
楽天
AWS IoT Core
「AWS IoT Core」は、IoTデバイスをAWSクラウドに接続するサービスです。
AWS IoT Core を使用すれば、IoT デバイスを AWS クラウドに接続できます。サーバーをプロビジョニングまたは管理する必要はありません。
AWS IoT Core は、MQTT (メッセージキューとテレメトリトランスポート)、HTTPS (ハイパーテキスト転送プロトコル - セキュア)、MQTT over WSS (WebSockets セキュア)、および LoRaWAN (低電力長距離広域ネットワーク) をサポート
引用元:AWS IoT Core
価格については、HTTPを使ったメッセージングであれば、
メッセージ数に応じた料金がかかるようです。
※「アジアパシフィック(東京)リージョン」の場合
接続料金(MQTTを使った場合)
・接続料金: 0.096USD (接続 100 万分あたり)
・接続料金は、デバイスが AWS IoT Core に接続されていた時間の合計に基づいて 1 分単位で計算されます。メッセージング 料金
・MQTT および HTTP のメッセージング料金:1.20USD (メッセージ 100 万件あたり)
・メッセージングの使用量は、デバイスと AWS IoT Core の間で送信されたメッセージ数により計算されます。
・送受信できるメッセージのサイズは最大 128 キロバイト (KB) です。メッセージ数は 5 KB ごとに増加します。例えば、8 KB のメッセージは 2 件のメッセージとして計算されます。引用元:AWS IoT Core 料金
上記の料金をもとに「AWS Pricing Calculator」で月額料金を見積もってみました。
なお、料金を算出するにあたって、メッセージ数等の条件は以下としました。
- HTTPを使用
- メッセージング数は6回/月(1週間に1回+予備2回)
- メッセージの平均サイズを1KB
AWS Lambda
「AWS Lambda」は、サーバレスコンピューティングサービスで、AWS上のイベントに応じて、プログラムを実行することができます。
「AWS IoT Core」がボタンからの操作イベントを受信したら、「AWS IoT Core」から「AWS Lambda」上でプログラム実行を行うようにします。
AWS Lambda はサーバーレスコンピューティングサービスで、サーバーのプロビジョニングや管理、ワークロード対応のクラスタースケーリングロジックの作成、イベント統合の維持、ランタイムの管理を行わずにコードを実行できます。
Lambda を使用すれば、実質どのようなタイプのアプリケーションやバックエンドサービスでも管理を必要とせずに実行できます。
引用元:AWS Lambda
価格については、リクエスト数と実行時間によって課金されるようです。
※「アジアパシフィック(東京)リージョン」の場合
リクエスト
リクエスト 100 万件あたり 0.20USD実行時間
GB-秒あたり 0.0000166667USD引用元:AWS Lambda 料金
上記の料金をもとに「AWS Pricing Calculator」で月額料金を見積もってみました。
なお、料金を算出するにあたって、メッセージ数等の条件は以下としました。
- リクエスト数は6回/月(1週間に1回+予備2回)
- 実行時間は1秒とする(適当)
- 割り当てたメモリ量は最小の128MB
まとめ
「AWS IoT ボタン(AWS の Seeed IoT Button)+AWS IoT Core+AWS Lambda」で
Amazon自動注文ボタンを自作した場合、
初期費用とランニングコスト(月ごと)は以下だと分かりました。
構成案 | 初期費用[円] | ランニングコスト[円/月] |
---|---|---|
AWS IoT ボタン(AWS の Seeed IoT Button) +AWS IoT Core+AWS Lambda | 9,459円 | 0.0023円/月 |
参考
以上!
コメント