Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/usausa/template-azure-iot
https://github.com/usausa/template-azure-iot
azure azure-functions azure-iot azure-iothub iot
Last synced: about 23 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/usausa/template-azure-iot
- Owner: usausa
- License: mit
- Created: 2022-07-09T05:45:04.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-14T09:10:54.000Z (5 months ago)
- Last Synced: 2024-06-14T10:32:58.323Z (5 months ago)
- Topics: azure, azure-functions, azure-iot, azure-iothub, iot
- Language: C#
- Homepage:
- Size: 756 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Template project for Azure
## 🍀 基本
* Azure IoT Hub、Functions、App Serviceを使用したIoTプロジェクト構成の雛形を提供する
## ✨ 実装機能
* IoT HubからのイベントによるIoTHubTriggerでのデータベースアクセス
* App Serviceによるデータベースの内容の表示![iot](./Document/IoT.drawio.svg)
![App Service](./Document/AppService.png)
## 🔨 設定
サンプルの動作確認に必要な設定項目について。
### データベース
* 以下のテーブルを作成し、センサーデータのエントリを用意しておく
```sql
CREATE TABLE Sensor (
Id uniqueidentifier NOT NULL,
Value real NOT NULL,
Timestamp datetimeoffset(3) NOT NULL,
CONSTRAINT PK_Sensor PRIMARY KEY CLUSTERED (Id)
)
```### Functions
* 関数アプリの構成で以下の値を設定しておく
| 名前 | 値
|:-|:-|
|HubConnectionString|Endpoint=...(IoT Hubの組み込みのエンドポイントの値)|
|SQLConnectionString|Server=...(SQL Databaseの接続文字列の値)|### App Service
* 関数アプリの構成で以下の値を設定しておく
| 名前 | 値
|:-|:-|
|ConnectionStrings__SQL|Server=...(SQL Databaseの接続文字列の値))|### Deviceクライアント
* Microsoft.Azure.Devices.Clientを使用したクライアントサンプルを動作させる場合、ソースの以下の部分を変更する
```csharp
public static class Program
{
// IoT Hubのデバイスの接続文字列
private const string ConnectionString =
"HostName={hub}.azure-devices.net;DeviceId={deviceId};SharedAccessKey={ssa}";// データベースに登録したデバイスのID
private static readonly Guid Id = Guid.Parse("00000000-0000-0000-0000-000000000000");
```### MQTTクライアント
* MQTTを直接使用するクライアントサンプルを動作させる場合、ソースの以下の部分を変更する
```csharp
public static class Program
{
// IoT Hubのホスト名
private const string Server = "{name}.azure-devices.net";
// IoT Hubに登録したデバイスID
private const string ClientId = "{deviceId}";
private const string Username = $"{Server}/{ClientId}/api-version=2021-04-12";
// az iot hub generate-sas-token 等で作成したSASトークン
private const string Password = "{SharedAccessSignature ...}";
private const string TopicD2C = $"devices/{ClientId}/messages/events/";// データベースに登録したデバイスのID
private static readonly Guid Id = Guid.Parse("00000000-0000-0000-0000-000000000000");
```