# 创建产品
使用物联网平台的第一步就是在控制台创建产品。产品是设备的集合，是指某一类具有相同能力或特征的设备的合集。
#### 操作步骤
1. 访问[设备接入服务](https://www.huaweicloud.com/product/iothub.html)，单击"管理控制台"进入设备接入控制台。选择您的实例，单击实例卡片进入。
2. 单击左侧导航栏"产品"，单击页面左侧的"创建产品"。根据页面提示填写参数，然后单击"确定"，完成产品的创建。 
   
   | **基本信息**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ||
   |:---|---|
   | 所属资源空间 | 下拉选择所属的资源空间。如无对应的资源空间，请先创建[资源空间](https://support.huaweicloud.com/usermanual-iothub/iot_01_0006.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | 产品名称    | 为产品命名。产品名称在相同资源空间有唯一性。长度不超过64，只允许中文、字母、数字、以及_?'#().,\&%@!-字符的组合。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 协议类型    | - MQTT：使用MQTT协议接入平台的设备，数据格式可以是二进制也可以是JSON格式，采用二进制时需要部署编解码插件。  - LwM2M/CoAP：使用在资源受限（包括存储、功耗等）的NB-IoT设备，数据格式是二进制，需要部署编解码插件才能与物联网平台交互。  - HTTPS：HTTPS是基于HTTP协议，通过SSL加密的一种安全通信协议。物联网平台支持HTTPS协议通信。  - Modbus：物联网平台支持使用Modbus协议接入，使用Modbus协议、通过IoT边缘节点接入平台的设备（或其他通过网关连接平台的子设备）为非直连设备。直连设备和非直连设备具体差异说明，请参考[网关和子设备](https://support.huaweicloud.com/usermanual-iothub/iot_01_0052.html)。  - HTTP（TLS加密）、ONVIF、OPC-UA、OPC-DA、TCP、UDP、其它协议（通过边缘接入）。   |
   | 数据格式    | - JSON：平台和设备之间的通信协议采用JSON格式。  - 二进制码流：您需在控制台[开发编解码插件](https://support.huaweicloud.com/devg-iothub/iot_02_9990.html)，将设备上报的二进制码流数据转换为JSON格式，将平台下发的JSON格式数据解析为二进制码流格式，设备才能与平台进行通信。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | 编码格式    | 当协议类型（protocol_type）为MQTT，数据格式（data_format）为二进制时，可通过该参数配置设备上报消息的编码格式。默认为UTF-8。 - UTF-8：将二进制码流转换为Unicode编码的字符串。  - BASE64：将二进制码流转换为BASE64编码的字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | 所属行业    | 请根据实际情况选择。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 设备类型   | 请根据实际情况选择。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | **高级配置**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ||
   | 产品ID    | 定制ProductID，用于唯一标识一个产品。如果携带此参数，平台将产品ID设置为该参数值；如果不携带此参数，产品ID在物联网平台创建产品后由平台分配获得。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 产品描述    | 产品描述。请根据实际情况填写。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      
   产品创建成功后，您可以单击"更多-删除"删除不再使用的产品。删除产品后，该产品下的产品模型、编解码插件等资源将被清空，请谨慎操作。
   
   
 
#### 后续步骤
1. 在产品列表中，单击对应的产品，进入产品详情页。您可以查看产品ID、产品名称、设备类型、数据格式、所属资源空间、协议类型等产品基本信息。
   图1产品-产品详情   
   ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000001950346782.png "点击放大") 
2. 您可以在产品详情页，[开发产品模型](https://support.huaweicloud.com/devg-iothub/iot_01_0017.html)、[开发编解码插件](https://support.huaweicloud.com/devg-iothub/iot_02_9990.html)、[在线调试](https://support.huaweicloud.com/devg-iothub/iot_02_9988.html)、[自定义Topic](https://support.huaweicloud.com/usermanual-iothub/iot_02_9992.html)。
 
 #### 什么是产品模型
产品模型用于描述设备具备的能力和特性。开发者通过定义产品模型，在物联网平台构建一款设备的抽象模型，使平台理解该款设备支持的服务、属性、命令等信息，如颜色、开关等。当定义完一款产品模型后，再进行[注册单个设备](https://support.huaweicloud.com/usermanual-iothub/iot_01_0031.html)时，就可以使用在控制台上定义的产品模型。
![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000001874920078.png "点击放大")
产品模型包括产品信息和服务能力：
- **产品信息**
  描述一款设备的基本信息，包括设备类型、协议类型。
  例如：设备类型为"WaterMeter"，协议类型为"CoAP"。
  
- **服务能力**
  描述设备具备的业务能力。将设备业务能力拆分成若干个服务后，再定义每个服务具备的属性、命令以及命令的参数。
  以水表为例，水表具有多种能力，如上报水流、告警、电量、连接等各种数据，并且能够接受服务器下发的各种命令。产品模型文件在描述水表的能力时，可以将水表的能力划分五个服务，每个服务都需要定义各自的上报属性或命令。说明如下：
  
  | 服务类型                    | 描述                                                  |
  |:---|:---|
  | 基础（WaterMeterBasic）   | 用于定义水表上报的水流量、水温、水压等参数，如果需要命令控制或修改这些参数，还需要定义命令的参数。 |
  | 告警（WaterMeterAlarm）    | 用于定义水表需要上报的各种告警场景的数据，必要的话需要定义命令。                 |
  | 电池（Battery）            | 定义水表的电压、电流强度等数据。                                  |
  | 传输规则（DeliverySchedule） | 定义水表的一些传输规则，必要的话需要定义命令。                            |
  | 连接（Connectivity）       | 定义水表连接参数。                                           |
     
  ![](https://support.huaweicloud.com/usermanual-iothub/public_sys-resources/note_3.0-zh-cn.png)
  具体定义几个服务是非常灵活的，如上面的例子可以将告警服务拆分成水压告警服务和流量告警服务，也可以将告警服务合入到水表基础服务中。
  
 
#### 产品模型开发方法
物联网平台提供了多种开发产品模型的方法，您可以根据自己需求，选择对应的方法开发产品模型。
- **自定义模型（在线开发** ）：从零自定义构建产品模型。详细参考[在线开发产品模型](https://support.huaweicloud.com/devg-iothub/iot_02_0005.html)。
- **上传模型文件（离线开发）** ：将本地写好的产品模型上传到平台。详细请参考[离线开发产品模型](https://support.huaweicloud.com/devg-iothub/iot_02_4012.html)。
- **Excel导入** ：通过导入文件的方式快速开发产品模型。详细请参考[Excel导入](https://support.huaweicloud.com/devg-iothub/iot_02_9995.html#section1)。
- **导入库模型（平台预置产品模型）**：您可以使用平台预置的产品模型，快速完成产品开发。当前平台提供了标准模型和厂商模型。标准模型遵循行业标准的产品模型，适用行业内绝大部分厂商设备，而厂商模型针对设备类型发布的产品模型，适用于用行业内少量厂家设备。您可以根据实际需求选择相应的产品模型。
 
