AWS#AWS IOT Coreを使ってみた

最近AWSに興味持ち始めてて、丁度BeckhoffのTwinCATやSiemensのC712にもAWSをつながろうかなーと考えてて、勉強始まりました。まだ初心者ですが、よろしくお願いしますね。

AWSアカウント申請

GoogleでAWS Sign UPを検索し、アカウント申請WEBにアクセスします。

メールアドレスやPasswordを設定します。

Full Name・携帯番号などの個人情報を入れます。

個人で使っていますので、Basic SupportでOKです…

なにかあったら自分で頑張って調べます。

料金

お金の話です。以下のLinkで料金表があります↓

https://aws.amazon.com/jp/iot-core/pricing/

料金試算機です。大体いくらかかるのかな?の計算できます↓

https://calculator.aws/#/createCalculator/IoTCore

次は支払いの設定をします。まず下記のLinkをアクセスします。

https://console.aws.amazon.com/iot/home


Billing preferencesをクリックします。

Receive Free Tier Usage AlertsをCheckいれ、メールアドレスを設定します。

一応超えそうなときお知らせメールきますよ!


AWS IOT COREとは?

ConsoleでLearnをクリックしますとたくさんの情報が出てきますので、自分もその中に簡単でまとめてただけです!

AWS IOT COREはCloud Servicesですべてのデバイスを簡単でセキュリティでCloudとつながるサビースになります。

AWS IOT Devices Gateway

下図のように1は制御BoxでRGBの3つのボタンがあり、ボタンをおすによっても2のランプBoxの色が変わります。ここで示すのは制御Box1はButtonの状態をCloudにPublishし、2のランプBoxはそのButtonの状態をCloud上でSubscribeします。

そのようなAWS IOT COREはDevices間は簡単で効率に接続可能になります。

Rules Engine

次はRules Engineです。Rules EngineはAWS IOT COREにPublishしたデータを分析し、Userが設定したルールに沿ってSubscribeしたデイバスにMessageを編集適用し転送します。例えば下図のように、いまBボタン押したのMessageがきたとして、Rules EngineではそれをGに変えてくださいのルールが作りましたので、結果はBボタン押してもランプBoxの色は青ではなく緑になります。

Rules Action

そのRules EngineにはDerivesからきたメッセージを他のEndpointにRoutingすることもできます。(AWS Lambda Functionなど)例えば下図だとRules Engineが制御BoxのコマンドがRだと判断したら、Rules DelivesがこのRのメッセージをCopyし他の3つのEndpointへ転送します。

  • SNS
  • DynamoDB DataBase
  • Lambda Function

Device Shadow

AWS IOT COREにはDevices Registry とDevice shadowsがあり、Cloud上でいまのデバイスを可視化したいものを”Shadow”ーつまりCopyすることが可能です。

例えばいまLampboxが OFFになりました。つまり通信できない状態になってて、その間ControlBoxがBのMessageをPublishしました。

そのときShadowsがあるとLampboxはまた通信再開するときにCloudと接続再開し、Shadowsの状態に合わせるようにコマンドをLampboxに送ります。つまり緑になります。

Build Solution

AWS IOT COREにも簡単で可視化することが可能です。下図のように、携帯は直接にControlBoxとLampboxの状態や操作できます。AWS IOT COREはREST APIが提供していますので。

Things 作成

説明はここまで、これからThingsの作成に入ります。

まずServicesをクリックします。

Popupが出てきて、Iotを検索します。

右の星マークはMy Favoritesできま追加すので必要な方をやってください。

Iot Coreをクリックします。

AWS IOT Consoleがアクセスしたら、Onboard>Get startedします。

Onboard a deviceでGet Startedをクリックします。その方法はAWS IOTのSKDsや証明書など最後まとめてダウンロードできますので初心者に便利です。ー

Get Startedをクリックしたら、次はは3Stepがありますよ!と教えてくれます。

まずDevices登録>Connection kitをダウンロード(SDKs)>Testの流れです。

問題なければ右下にあるGet Startedを押しましょう。

今回自分はPlatformはWindowsで、SDKはPythonにします。

Python インストールしてない方はこちらへ↓

https://www.python.org/downloads/

デイバス登録画面に入りました。

わかりやすい名前を設定しましょう。

画面の上Successの緑Popupが出たらThings登録OKです。

Download connection kit for …のところにWindowsのボタンがあります。

そのボタンをクリックします。

(Connection KitをDownloadしないと次のStep進みませんので)

このようなZIP Filesが出てきます。

先のNext Buttonが押せるようになり、次に進みますと3つのStepがあります。

まずFileをUnzipし、執行権限追加、最後は.psを実行でテスト。

うん。あまりピント来ないですね。

まずCommand Promptを開きます。

最初に同じのコマンドを実行しようとしたらThe Term ‘-Execution Policy’ is not recognizedが出てきます。

以下のLinkみたら、あ!PowerShellも入れればよいのか。

https://stackoverflow.com/questions/48148664/the-term-execution-policy-is-not-recognized

一応実行OKみたいです。

start.ps1を実行したらまたエラー出てきました…なんで?

PowerShellで実行するしかないかもしれませんね。

以下のLinkでPowerShellに関しての質問です:

https://stackoverflow.com/questions/2035193/how-to-run-a-powershell-script

まずPowerShellを起動しましょう。

先と同じコマンドしたらYやAやNをどっちしますか?って聞かれた!

もちろんAをにします。

次はcdで先UNZIPしたDirectoryへアクセスします。

start.ps1を起動しますと…まずはGITがないですと怒られました。

GITのインストール手順:

https://github.com/git-guides/install-git#:~:text=To%20install%20Git%2C%20navigate%20to,installation%20by%20typing%3A%20git%20version%20.

Downloadしてインストールしましょう。

インストールとき色なOptions出てくると思いますが、DefautでOKです!

PowerShell再起動し git versionでGitちゃんと入れたかどうかを確認します。

もしGit is not recognized as an internal or external commandまた出たら以下のLINKを参考ください:

https://stackoverflow.com/questions/4492979/git-is-not-recognized-as-an-internal-or-external-command

start.ps再起動!今度はPIP  is not recognized as an internal or external commandです。

うん?Python入れたはずですが…

Python/Python39/Scriptsにもpipが入っていますね。

とりあえず再インストールします。

そしてWindowsの環境関数の修正します。

User variables for rootのところにNewをクリックします。

先Pipが入ってるDirectoryを入れてください。

PipはOKでした!

PowerShell再起動、また実行してみます。

Python not foundですか…

Python もあるのにー

コマンドラインでPython 実行するといつもMS Storeのアプリケーションが立ち上げてしまうことになってる。以下のLinkで参考できます:

https://stackoverflow.com/questions/58754860/cmd-opens-window-store-when-i-type-python

Manage app execution aliasesを実行します。

App installerにPythonが入ってる2つのOptionをOFFします。

これでOKです!

次はUser variablesでPython Pathも追加します。

下記のLinkで説明があります↓

https://stackoverflow.com/questions/17953124/python-is-not-recognized-as-an-internal-or-external-command

コマンドラインでPython実行したら、ようやくOKですね。

start.psを実行したらようやく無事でいけました!!

テスト

skd/test/PythonをSubscribeするとちゃんとメッセージが来ましたね!

はーい、お疲れ様です。

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする