【チュートリアルをやってみる】チュートリアル - #Azure #IoT #Edge を使用して #Linux 用の C# モジュールを開発する / #Azure

Azure IoT Edge で Linux 向け C# カスタムモジュールを開発する この記事の内容 Azure IoT Edge のカスタムモジュール開発として、Linux デバイス向けに C# でモジュールを実装します Visual Studio Code と Azure IoT Edge 拡張機能を使ったモジュールプロジェクトの作成手順を紹介します 温度データをフィルタリングするロジックを C# で実装し、閾値以上のメッセージのみを上流に転送する仕組みを構築します モジュール名を変更したときにビルドが失敗するトラブルと、その解決策を解説します コンテナレジストリへのプッシュから IoT Edge デバイスへのデプロイまでの流れを確認します 前提条件 本チュートリアルは、Azure IoT Hub と IoT Edge デバイスがすでにセットアップ済みであることを前提としています。Visual Studio Code には Azure IoT Edge 拡張機能がインストールされており、コンテナレジストリ(Azure Container Registry など)へのアクセス情報が手元にある状態で進めます。 モジュールプロジェクトの作成 Visual Studio Code を起動し、コマンドパレットから新しい IoT Edge ソリューションを作成します。 コマンドパレットを開き「Azure IoT Edge: New IoT Edge Solution」を選択します ソリューション名を入力します モジュールのテンプレートとして「C# Module」を選択します モジュール名を入力します(例:SampleModule) コンテナレジストリのイメージリポジトリ URL を入力します プロジェクトが生成されると、ソリューションのフォルダ構造が作成され、modules/ 配下に C# プロジェクトが配置されます。 ...

April 28, 2021 · 3 min · 胡田昌彦

Linuxコンテナーを使用して IoT Edgeモジュールを開発する

Linuxコンテナーを使用してIoT Edgeモジュールを開発する この記事の内容 Azure IoT Edgeモジュール開発のための開発環境セットアップ手順を解説します Docker Desktop for Windows と Visual Studio Code を使った開発フローを紹介します C#でカスタムIoT Edgeモジュールを作成し、Azure Container Registryにプッシュします Linux仮想マシン上にIoT Edgeをインストールし、モジュールをデプロイします テンプレートモジュールとTemperatureSensorモジュール間のメッセージルーティングを確認します 概要 本記事はAzure IoT Edgeのチュートリアルシリーズの一部です。今回は「開発環境をセットアップしてLinuxコンテナーを使用した開発をする」チュートリアルを実施します。 チュートリアルの全体像は以下のとおりです。 開発環境のセットアップ(本記事) カスタムコードモジュールの開発 Azure Functionsをモジュールとしてデプロイ IoT Edgeにおける機械学習の活用 今回のチュートリアルでは、以下の内容を実施します。 開発マシンのセットアップ Visual Studio Code 用のIoT Edge拡張機能を使って新しいプロジェクトを作成 プロジェクトをビルドしてAzure Container Registryに格納 IoT Edgeデバイスにデプロイ 前回のクイックスタートでは既存のコンテナーイメージをそのまま展開しましたが、今回は自分でイメージをビルドし、Azure Container Registryに格納してからデプロイするところまでを行います。 前提条件 本チュートリアルを開始する前に、以下の環境が準備されていることを確認してください。 開発マシン Docker対応OS(Windows/Mac/Linux) Git Visual Studio Code Visual Studio Code 用 C# 拡張機能 .NET Core 2.1 SDK(※3.1では動作しないケースがあるため2.1を推奨) Azureリソース IoT Hub(前回のクイックスタートで作成済みのものを流用可能) IoT Edgeデバイス(前回のチュートリアルで作成済みのLinux仮想マシンを利用可能) ターゲット環境の意識について 開発OS(Windows/Mac/Linuxのいずれでも可)にかかわらず、IoT Edgeモジュールが最終的に動作するターゲット環境はLinuxです。そのため、開発・テスト段階でもLinuxコンテナー上で動作確認することが重要です。本記事ではWindowsで開発を行い、コンテナーのOSはLinuxを指定する構成で進めます。 ...

April 27, 2021 · 3 min · 胡田昌彦

はじめてのIoT EdgeモジュールをLinux仮想デバイスにデプロイする

はじめてのIoT EdgeモジュールをLinux仮想デバイスにデプロイする この記事の内容 Azure IoT Hubを作成し、IoT Edgeデバイスを登録する手順を解説します Linux仮想マシンにIoT Edgeランタイムをインストールして構成します Azure Marketplaceから温度センサーのシミュレーターモジュールをデプロイします デバイスからIoT Hubへのテレメトリ送信を確認します Azure Cloud Shellを使ったコマンド操作を中心に、初心者にも分かりやすく説明します はじめに この記事ではAzure IoT Edgeのクイックスタートとして、はじめてのIoT EdgeモジュールをLinux仮想デバイスにデプロイする手順を解説します。 IoT Edgeを使用すると、クラウドに送信するデータをエッジデバイス上で処理できるため、より多くのワークロードをクラウドへ送信する前にフィルタリングや分析が可能になります。 このクイックスタートでは、IoT EdgeデバイスとしてAzure仮想マシンを使用します。これにより、テスト用マシンを素早く作成し、終了後に削除できます。 全体の流れ IoT Hubを作成する IoT Edgeデバイスをデバイス登録する IoT EdgeランタイムをLinux仮想デバイスにインストールして開始する モジュールをIoT Edgeデバイスにデプロイする 前提条件 アクティブなAzureサブスクリプション(ない場合は無料アカウントを作成してください) Azure Cloud Shell(またはAzure CLIをインストールしてローカルで使用) 操作はAzure Cloud ShellのBash環境を使用するのが簡単です。ローカルでAzure CLIを使用する場合は、インストール後にログインして最新バージョンに更新してください。 リソースグループの作成 まずはAzure Cloud Shellを起動し、リソースグループを作成します。 az group create --name IoTEdgeResources --location japaneast ロケーションは日本リージョンであるjapaneastを指定しています。コマンドが成功すると、リソースグループが作成されます。 IoT Hubの作成 次に、IoT Hubを作成します。既存のIoT Hubがあれば流用することも可能です。新規に作成する場合は以下のコマンドを実行します。 az iot hub create \ --name <ハブ名> \ --resource-group IoTEdgeResources \ --sku F1 無料プラン(F1)のIoT HubがIoTEdgeResourcesリソースグループに作成されます。作成には数分かかる場合があります。 ...

April 26, 2021 · 2 min · 胡田昌彦

【クイックスタートをやってみる】 #AzureFunctions を使用して #AzureStaticWebApps プレビューに #API を追加する #azure

Azure Static Web Apps に Azure Functions で API を追加する この記事の内容 Azure Static Web Apps のクイックスタートシリーズ第2回として、API 追加手順を解説します Azure Functions を使って HTTP トリガー関数を作成し、Static Web Apps と連携させます Visual Studio Code の拡張機能を使ったローカル開発・デバッグの方法を紹介します フロントエンドの HTML から API を呼び出すスクリプトの書き方を説明します ローカルで動作確認後、GitHub にプッシュして本番環境に反映する流れを紹介します はじめに 本記事は、Azure Static Web Apps クイックスタートシリーズの第2回です。前回は Static Web Apps を使って静的サイトを初めてデプロイしました。今回はその続きとして、Azure Functions を使って API を追加し、フロントエンドにロジックを組み込む手順を解説します。 前提条件 作業を始める前に、以下のツールや拡張機能がインストールされていることを確認してください。 Node.js(推奨バージョン: 14.x) Visual Studio Code Azure Functions 拡張機能(VS Code 向け) Azure Static Web Apps 拡張機能(VS Code 向け) Node.js はバージョンに注意が必要です。最新バージョンではなく、推奨バージョン(14.x) を使用してください。最新版をインストールしてしまうと、Azure Functions のローカル実行時に「サポートされているバージョンを使用してください」というエラーが表示されることがあります。 ...

April 25, 2021 · 2 min · 胡田昌彦

Azure Static Web Appsを使用して静的サイトを初めて構築する

Azure Static Web Appsを使用して静的サイトを初めて構築する この記事の内容 Azure Static Web AppsはGitHubリポジトリと連携し、コードをプッシュするだけで自動デプロイできます Visual Studio Codeの拡張機能を使うことで、Azure Static Web Appsのリソース作成からデプロイまでをIDE上で完結できます GitHub Actionsが自動的に構成され、コミット・プッシュのたびにビルドとデプロイが走ります フレームワークなし(バニラHTML)の構成でも問題なく動作します 作成されたサイトには .azurestaticapps.net ドメインが自動的に割り当てられます Azure Static Web Appsとは Azure Static Web Appsは、静的なWebサイトをホスティングするためのAzureサービスです。GitHubリポジトリと直接連携し、コードをコミット・プッシュするたびにGitHub Actionsが自動的に実行されてビルド・デプロイが行われます。 Azureにはサービスが非常に多く、触ったことがないものもたくさんあります。クイックスタートをやってみることで、実際に手を動かして理解を深めるのが効果的です。本記事では、そのクイックスタートの内容をもとに、Azure Static Web Appsで静的サイトを構築する流れを解説します。 事前準備 以下のものが必要です。 Azureアカウント GitHubアカウント Visual Studio Code Visual Studio Code の Azure Static Web Apps 拡張機能 拡張機能はまだインストールされていない場合、VS Codeの拡張機能マーケットプレイスから「Azure Static Web Apps」を検索してインストールします。 GitHubリポジトリの作成 まず、デプロイするコードを管理するGitHubリポジトリを作成します。 今回はフレームワークなし(プリセット:なし)で進めます。リポジトリはプライベートで作成しました。作成後、リポジトリには index.html などの基本的なファイルが含まれています。 ローカルにクローンしてVS Codeで開く 作成したリポジトリをローカルにクローンし、該当フォルダに移動します。 git clone <リポジトリURL> cd <リポジトリ名> 続いてVisual Studio Codeでフォルダを開きます。 ...

April 24, 2021 · 1 min · 胡田昌彦