•  

コラム

  1. TOP
  2. コラム
  3. コラム
  4. 第4回 補助的な機能、ローカルリソースアクセスとコネクタ

第4回 補助的な機能、ローカルリソースアクセスとコネクタ

  • LINEで送る
  • このエントリーをはてなブックマークに追加
第4回 補助的な機能、ローカルリソースアクセスとコネクタ

【第4回 新世代エッジエンジニアのための技術講座 コラム】

この連載コラムでは、AWS IoT Greengrassについて、数回に分けてお伝えします。

本連載は、次のような想定・目的で記述しています。

想定する読者
  • AWSのGreengrassについて多少は興味がある人
  • 独力で調べようとはしたけれど、公式HPを見ても専門用語満載で、その気が失せた人、記述内容が理解できなかった人
想定する読者の
知識レベル
  • AWS やエッジコンピューティングといった言葉は聞いたことのある人
  • 少しくらいはプログラムを書いたことがある人/読める人
本連載を読んだ後に得られる期待値
  • 以下の問いに答えられるようになる
    • Greengrassって何ができるの?
    • Greengrassに関連して登場する用語の意味は?
  • 公式HPの記述を読むための下地ができる
    • 書いてあることがある程度は理解でき、読み進めることはできる
    • チュートリアルをやってみるとき、各手順の目的や意味がわかる

 



1. AWS Greengrass の機能解説 (後半1)

前回は、アプリケーションロジックの実行 (3)についてご説明しました。
今回は、補助的な機能であるローカルリソースアクセス(6)、コネクタ(7)を取り上げます。

AWS Greengrassの機能解説 Eureka Box
※引用 Eureka Box(ユーリカボックス)【体験版】AWS Greengrass =連載第2回=
https://member.eureka-box.com/products/4/categories/4011892/posts/13450002


ローカルリソースアクセス(6)

AWS Greengrassの機能解説 ローカルリソースアクセス
※引用 Eureka Box(ユーリカボックス)【体験版】AWS Greengrass =連載第3回=
https://www.eureka-box.com/media/column/a45

まず、エッジデバイス上のローカルなリソースへのアクセス(赤枠部分)です。

エッジデバイスのGreengrass Core上で動くアプリケーションロジック(Lambdaファンクション)は、エッジデバイスにつながっているローカルリソースにアクセス(実行、制御など)することができます。

そのためには、使用できるようにアクセス権限を設定しておく必要があります。Lambdaファンクションごとに、どのリソースにどうアクセスできるかの権限を設定する必要があり、権限が付与されていないリソースへのアクセスは許可されません。このアクセス権限の付与は、管理コンソール上で実行します。

ローカルリソースの種類には、エッジデバイスに直接つながるデバイスや、エッジデバイス内のボリュームがあります。

種類 対象 アクセスの例

デバイス

/dev配下のファイル

  • /dev/video0を介した画像・動画のキャプチャ
  • /dev/gpiomemを介したGPIO制御
  • /dev/ttyS0を介したシリアル通信

ボリューム

ファイルシステム上のフォルダやファイル

(/dev、/sys、/varを除く)

  • /home/hoge/foo.exeの実行
  • /home/hoge/bar.txtの読み書き
  • /home/hogeに対するファイルの追加・削除


ご不明点・ご相談ごとがあれば
お気軽にご連絡ください

ソフトウエア開発オンライン学習Eureka Box

Eureka Boxは厚生労働省が実施している助成金、人材開発支援助成金の適用対象となります。

詳細はこちら
人材開発支援助成金


コネクタ(7)

「データの収集と配信」の節で、GreengrassではMQTTという通信プロトコルが使われると説明しました。しかし、MQTTでは通信できないサービスもあります。そこで、GGCでは「コネクタ」というモジュールを用意しています。利用したいコネクタを管理コンソールでGGCに組み込むことで、アプリケーションロジックは、特殊な手順・プロトコルや詳細を意識せずに、簡単に対象にアクセスできるようになります。

AWS Greengrassの機能解説 コネクタ
※引用 Eureka Box(ユーリカボックス)【体験版】AWS Greengrass =連載第3回=
https://www.eureka-box.com/media/column/a45

コネクタの種類

MQTT以外のプロトコルを使用するIoTデバイスやクラウド上のサービスとも容易に連携できるよう、さまざまなコネクタが用意されています。具体的には、AWSの各種サービスへのアクセスや、Raspberry PIとGPIOで繋がっているデバイスのコントロール、あるいはTwilio(クラウド上で電話やショートメッセージを利用できるようにするためのサービス)との連携などのコネクタが存在します。以下では、役割ごとに主なコネクタとその概要をまとめます。

AWSサービスとの連携

  • CloudWatch Metrics:システム監視/モニタリングサービスCloudWatchへのメトリクスデータの転送
  • IoT Analytics:デバイスデータの収集・保存・分析サービスAWS IoT Analyticsへの転送
  • Kinesis Firehose:AWSサービス間のデータ転送サービスKinesis Firehoseへのデータ転送
  • Docker Application Deployment:GGCにDockerベースのアプリケーションをデプロイ(Amazon ECRなどのコンテナリポジトリに格納されたイメージのダウンロード)

ローカルリソースへのアクセス

  • ML画像分類:MLによる画像分類を実行するサービスへのアクセス(Machine Learning SDK※を介してアクセス可能。※第3回「Lambdaファンクションの開発」の項を参照)
  • Raspberry PI GPIO:Raspberry PIのGPIOピンの操作
  • シリアルストリーム:シリアルポートに対する読み書き

3rdパーティのサービスとの連携

  • Twilio通知:VoIPやSMSが実現可能なAPIを提供するサービスTwilioとの連携

コネクタのメリット

コネクタの多くとはMQTTで通信できます。つまり、アプリケーションロジックは、トピックをやり取りする形でコネクタの機能を利用できます。具体例で説明しましょう。

AWS Greengrassの機能解説 コネクタのメリット
※引用 Eureka Box(ユーリカボックス)【体験版】AWS Greengrass =連載第3回=
https://www.eureka-box.com/media/column/a45

たとえばTwilioを利用する場合、Twilioとの間で何らかのAPI通信、API操作をしなければなりません。しかし、そのやり取りの詳細はTwilio Connectorに任せてしまえるので、アプリケーションロジックは、標準的な仕組みであるMQTTでコネクタにトピックをPublishすることで、メッセージを送るなどTwilioの操作をすることができます。同様のことがGPIOについても言えます。たとえばボタンを使う場合に、GPIOからデータを読むのはかなり煩雑な操作なのですが、そういった部分の詳細はRaspberry PI GPIO Connectorが処理してくれます。そのため、アプリケーションロジックは、そのコネクタから取得できるトピックをSubscribeし、それに基づいて処理するだけですみます。

今回は、補助的な機能であるローカルリソースアクセス(6)、コネクタ(7)を取り上げました。次回は補助的な機能の続き、デバイスシャドウ(5)、IoTデバイスの機能(8)、最後に管理コンソールとOTA(4)を取り上げます。



これからのエッジエンジニアに求められる技術を知るには

新世代エッジエンジニアのための技術を実際に学んでみたいという方に、まずは無料でお試しいただけるオンライン学習プラットフォームを準備しています。

業務が多忙なエンジニアでも、スキマ時間で効率的に実践的な学習が出来るEureka Boxは、エンジニアの現場の声から生まれたツールです。

ソフトウェア開発を改善するための開発技術を“知り・学び”“実践する”
超実践的オンライン学習プラットフォーム
Eureka Box(ユーリカボックス)

エンジニア独学、オンライン学習、ソフトウェア開発独学、エンジニア教材、無料コンテンツ、Eureka Box ユーリカボックス

Greengrassを正しく理解した上で適用し、最大限の効果を得られるようスキルアップしたい方にもEureka Box(ユーリカボックス)での学習をお勧めで、無料会員登録だけでも以下の特典が受けられます。

Eureka Box会員登録特典(無料)
  1. 各連載コラムの全容、未公開コラムも一気にまとめて読める(一部動画解説付!)
  2. USDM(要求記述)、MBD(モデルベース開発)、システムズエンジニアリング、AWS Greengrass(新世代エッジエンジニアのための技術講座)など、ソフトウェア開発に関わる知識がギュッと凝縮、困った時のお助けアイテムとしても長期で活用出来る
  3. ソフトウェア開発に関わる無料お試しコンテンツも充実

デジタル人材が不足している今の時代、特にソフトウェア開発の現場では「上流技術」のスキルを持つ人が必要とされています。

そのスキルが効率よく身につくように設計されたのが「オンライン学習のEureka Box(ユーリカボックス)」

Eureka Boxの運営企業であるエクスモーションは、日本を代表する大手自動車メーカー、医療機器メーカー等、ソフトウェア開発の支援を実際に行っている企業だからこそ、現場で活かせる学びに焦点をあてたプログラムに構成されています。

「Eureka Box(ユーリカボックス)」を是非ご活用ください。

株式会社エクスモーション エグゼクティブコンサルタント 小浜 崇隆

執筆者プロフィール

株式会社エクスモーション エグゼクティブコンサルタント

小浜 崇隆

専門分野:

USDM、システム設計、機能安全、自動車、建機



関連コラム

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

技術別コラム一覧

要求の定義と仕様化(USDM)

ROS

システムズエンジニアリング

クラウド技術
(AWS Greengrass)

Docker

モデルベース開発(MBD)

派生開発(XDDP)

SPL

用語集