
# 快速接入
本章将使用SmokeDetector Demo 指导您快速体验产品模型的创建、Demo的配置与启动、以及SDK基本功能的使用。Demo源码可见：[SmokeDetector.cs](https://github.com/huaweicloud/huaweicloud-iot-device-sdk-csharp/blob/master/iot-device-demo/CoreCapability/SmokeDetector.cs)。为了方便体验，提供了一个烟感的产品模型，烟感会上报烟雾值、温度、湿度、烟雾报警、还支持响铃报警命令。以烟感例，体验消息上报、属性上报等功能。
#### 创建产品
为了方便体验，提供了一个烟感的产品模型，烟感会上报烟雾值、温度、湿度、烟雾报警、还支持响铃报警命令。以烟感为例，体验消息上报、属性上报等功能。
1. 访问[设备接入服务](https://www.huaweicloud.com/product/iothub.html)，单击"管理控制台"进入设备接入控制台，选择您的实例，单击实例卡片进入。
2. 单击左侧导航栏"产品"，单击页面左侧的"创建产品"。 
   图1产品-创建产品   
   ![](https://support.huaweicloud.com/sdkreference-iothub/figure/zh-cn_image_0000002358714305.png "点击放大")
   
   
3. 根据页面提示填写参数，然后单击"确定"完成产品的创建。 
   
   |                                                                     **基本信息**                                                                     ||
   |---|---|
   | 所属资源空间 | 平台自动将新创建的产品归属在默认资源空间下。如需归属在其他资源空间下，下拉选择所属的资源空间。如无对应的资源空间，请先创建[资源空间](https://support.huaweicloud.com/usermanual-iothub/iot_01_0006.html)。 |
   | 产品名称   | 自定义。支持字母、数字、下划线（_）、连字符（-）的字符组合。                                                                                                          |
   | 协议类型   | 选择"MQTT"。                                                                                                                                |
   | 数据格式   | 选择"JSON"。                                                                                                                                |
   | 设备类型选择 | 选择"自定义类型"                                                                                                                                |
   | 设备类型   | 填写"smokeDetector"                                                                                                                        |
   | **高级配置**                                                                                                                                         ||
   | 产品ID   | 不填写                                                                                                                                      |
   | 产品描述   | 请根据实际情况填写。                                                                                                                               |
      
   图2创建产品-MQTT   
   ![](https://support.huaweicloud.com/sdkreference-iothub/figure/zh-cn_image_0000001981306829.png "点击放大")
   
   
 
#### 上传产品模型
1. 单击下载烟感产品模型[smokeDetector](https://iot-developer.obs.cn-north-4.myhuaweicloud.com:443/smokeDetector.zip)，获取产品模型文件。
2. 找到创建的产品，单击产品进入产品详情页。
3. 选择"基本信息"页签，单击"上传模型文件"，上传[1]获取的产品模型文件。
   
   图3产品-上传产品模型   
   ![](https://support.huaweicloud.com/sdkreference-iothub/figure/zh-cn_image_0000001981312633.png "点击放大")
   
   
 
#### 注册设备
1. 选择左侧导航栏"设备 \> 所有设备"，单击"注册设备"。
2. 根据页面提示信息填写参数，然后单击"确定"。 
   
   | 参数名称   | 说明                                |
   |:---|:---|
   | 所属资源空间 | 确保和创建的产品归属在同一个资源空间。               |
   | 所属产品   | 选择创建的产品。                          |
   | 设备标识码  | 即nodeID，设备唯一物理标识。可自定义，由英文字母和数字组成。 |
   | 设备名称   | 即device_name，可自定义。                |
   | 设备认证类型 | 选择"密钥"。                           |
   | 密钥     | 设备密钥，可自定义。若不填写密钥，物联网平台会自动生成密钥。    |
      
   设备注册成功后保存设备标识码、设备ID、密钥。
   
   
 
#### 设备接入
1. 获取接入地址。可在控制台的"总览 \> 接入信息"中查看。 
   图4接入信息-设备侧MQTT接入地址   
   ![](https://support.huaweicloud.com/sdkreference-iothub/figure/zh-cn_image_0000002379668860.png "点击放大")
   
   
2. 打开文件iot-device-demo/config/DemoConfigDefault.json，将之前获取到的接入地址、设备ID以及设备密钥填入对应位置，或者将配置填入下面模板后再覆盖iot-device-demo/config/DemoConfigDefault.json。 
   ```
   {
     "DemoName": "SmokeDetector",
     "AuthConfig": {
       "AuthUseCert": false,
       "ServerAddress": "填入接入地址",
       "ServerPort": 8883,
       "DeviceId": "填入设备ID",
       "DeviceSecret": "填入设备密钥"
     }
   }
   ```
   其中DemoName用于指定运行的Demo，此处为SmokeDetector指定基于烟雾报警器产品模型的物模型编程Demo。可以进入SDK目录下运行以下命令查看所有Demo名称列表：
   ```
   cd iot-device-demo
   dotnet run --project .\iot-device-demo.csproj
   ```
   图5查看Demo名称列表   
   ![](https://support.huaweicloud.com/sdkreference-iothub/figure/zh-cn_image_0000002394209341.png "点击放大")
   
   
3. 编译及运行。 
   1. 进入SDK目录下，执行命令运行demo，其中.\\config\\DemoConfigDefault.json为配置文件路径。
      ```
      cd iot-device-demo 
      dotnet run --project .\iot-device-demo.csproj  .\config\DemoConfigDefault.json
      ```
      ![](https://support.huaweicloud.com/sdkreference-iothub/public_sys-resources/note_3.0-zh-cn.png)
      如果您使用旧版本5.0+的SDK并且无法升级到.NET 8.0，可以修改以下文件的TargetFramework。但请注意，[目前除了.NET 8.0和.NET 6.0属于长期支持的版本外，其它更旧版版本均已不再支持](https://dotnet.microsoft.com/zh-cn/platform/support/policy/dotnet-core#lifecycle)：
      图6.NET版本   
      ![](https://support.huaweicloud.com/sdkreference-iothub/figure/zh-cn_image_0000002402024097.png "点击放大") 
   
   2. 执行命令编译project，输出示例如下，connect success则表示连接成功。
      ```
      dotnet clean
      dotnet build
      ```
      图7连接成功   
      ![](https://support.huaweicloud.com/sdkreference-iothub/figure/zh-cn_image_0000002360530770.png "点击放大") 
   
   
   
   
4. 查看设备运行情况。在控制台的设备详情页面查看设备已在线以及设备上报的物模型数据。 
   图8查看上报数据-smokeDetector   
   ![](https://support.huaweicloud.com/sdkreference-iothub/figure/zh-cn_image_0000001981329933.png "点击放大")
   
   
![](https://support.huaweicloud.com/sdkreference-iothub/public_sys-resources/notice_3.0-zh-cn.png)
SDK默认提供断线重连功能，当调用设备初始化后，当由于网络不稳定、网络不可达、平台主动断开连接等，导致连接失败，会在后台自动申请重连。若是客户不需要该机制，请见：[断线重连](https://github.com/huaweicloud/huaweicloud-iot-device-sdk-csharp/blob/master/README_CN.md#417-断线重连)文档。
