add quick start

This commit is contained in:
vany5921
2020-08-28 17:09:31 +08:00
parent 284c2b56a6
commit 6c0122a733
9 changed files with 514 additions and 6 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

+185
View File
@@ -0,0 +1,185 @@
# ENV II
<el-tag effect="plain">SKU:U001-B</el-tag>
<div class="product_pic"><img src="assets/img/product_pics/unit/envII/envII_01.webp"></div>
## Description
**ENV II** is an environment sensor which can sense temperature, humidity and atmospheric pressure. It is built with SHT30, BMP280 and BMM150 sensors, it is programmed over I2C. SHT30 is a digital temperature and humidity sensor with high precision and low power consumption. BMP280 is an absolute barometric pressure sensor which is especially designed for mobile applications. BMM150 is a magnetometer, which can be used to monitor the change of magnetic field and the direction of magnetic field.It offers the highest flexibility to optimize the device regarding power consumption, resolution and filter performance.
## Product Features
- Measurement of temperature, humidity, air pressure and magnetic field
- High-precision
- Support IIC
- GROVE interface, support [UIFlow](http://flow.m5stack.com) and [Arduino](http://www.arduino.cc)
- Two Lego installation holes
## Include
- 1x ENV II HAT
- 1x Grove Cable(5cm)
## Specification
<table class="table-1">
<thead>
<tr>
<th>Specification</th>
<th>Parameter</th>
</tr>
</thead>
<tbody>
<tr>
<td>Max temperature measuring range</td>
<td>-40 ~ 120 ℃</td>
</tr>
<tr>
<td>Typical temperature tolerance</td>
<td>0 ~ 60 ℃/±0.2℃</td>
</tr>
<tr>
<td>Humidity measuring range</td>
<td>10 ~ 90 %RH / ±2%</td>
</tr>
<tr>
<td>Air pressure measuring range</td>
<td>300 ~ 1100hPa / ±1hPa</td>
</tr>
<tr>
<td>Communication protocol</td>
<td>I2CSHT30(0x44),BMP280(0x76),BMM150(0x10)</td>
</tr>
<tr>
<td>Operating temperature range</td>
<td>32°F to 104°F ( 0°C to 40°C )</td>
</tr>
<tr>
<td>Magnetic field range typical</td>
<td>±1300μT (x, y-axis), ±2500μT (z-axis), resolution 0.3μT</td>
</tr>
<tr>
<td>net weight</td>
<td>4g</td>
</tr>
<tr>
<td>Gross weight</td>
<td>8g</td>
</tr>
<tr>
<td>Product Size</td>
<td></td>
</tr>
<tr>
<td>Package Size</td>
<td>35*36*18mm</td>
</tr>
<tr>
<td>Case material</td>
<td>Plastic ( PC )</td>
</tr>
</tbody>
</table>
## Comparison between SHT30 and DHT12
<table class="table-1">
<thead>
<tr>
<th>/</th>
<th>SHT30</th>
<th>DHT12</th>
</tr>
</thead>
<tbody>
<tr>
<td>Max temperature measuring range</td>
<td>-40 ~ 120 ℃</td>
<td>-20 ~ 60 ℃</td>
</tr>
<tr>
<td>Typical temperature resolution</td>
<td>0 ~ 60 ℃/±0.2℃</td>
<td>±0.2℃</td>
</tr>
<tr>
<td>Humidity measuring range/resolution</td>
<td>10 ~ 90 %RH / ±2%</td>
<td>20 ~ 95 %RH/0.1%</td>
</tr>
</tbody>
</table>
## EasyLoader
>EasyLoader is a concise and fast program writer, which has a built-in case program related to the product. It can be burned to the main control by simple steps to perform a series of function verification. Please install the corresponding driver according to the device type. M5Core host [Please click here to view the CP210X driver installation tutorial](en/arduino/arduino_development), M5StickC/V/T/ATOM series can be used without driver)
<div class="easyloader-box">
<div style="background-color:white;">
<div><img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/easyloader_intro.webp"></div>
<div class="easyloader-btn">
<a href="https://m5stack.oss-cn-shenzhen.aliyuncs.com/EasyLoader/Windows/UNIT/For%20M5Core/EasyLoader_ENV2_UNIT_With_M5Core.exe">Windows</a>
<a href="https://m5stack.oss-cn-shenzhen.aliyuncs.com/EasyLoader/MacOS/UNIT/EasyLoader_ENV2_UNIT_With_M5Core.dmg">MacOS</a>
<!-- <a>Linux</a>
<a>MacOS</a> -->
</div>
</div>
<div>
<video id="example_video" controls>
<source src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/video/Product_example_video/Unit/ENVII.MP4" type="video/mp4">
</video>
<div class="easyloader-mask">
<a>
<svg id="play-btn" t="1583228776634" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4152" width="75" height="75"><path d="M512 0C229.216 0 0 229.216 0 512s229.216 512 512 512 512-229.216 512-512S794.784 0 512 0z m0 928C282.24 928 96 741.76 96 512S282.24 96 512 96s416 186.24 416 416-186.24 416-416 416zM384 288l384 224-384 224z" p-id="4153" fill="#007aff"></path></svg></a>
<p>Description:</p>
<p>Display temperature, humidity and atmospheric pressure data.</p>
</div>
</div>
</div>
### PinMap
<table>
<tr><td>M5Core(GROVE A)</td><td>GPIO22</td><td>GPIO21</td><td>5V</td><td>GND</td></tr>
<tr><td>ENV II HAT</td><td>SCL</td><td>SDA</td><td>5V</td><td>GND</td></tr>
</table>
## Related Link
- **[BMP280 Datasheet](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/hat/BMP280-DS001-11_en.pdf)**
- **[SHT30 Datasheet](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/unit/SHT3x_Datasheet_digital.pdf)**
- **[bmm150 Datasheet](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/BMM150_datasheet_en.pdf)**
## Schematic
<img src="assets/img/product_pics/unit/envII_sch.webp">
## Example
### 1. Arduino IDE
This is an ENV example - implementing reading temperature, humidity and atmospheric pressure function.
1, Before compiling, please install `Adafruit BMP280 Library`
2, copy `Adafruit_Sensor.h` to `C:\Users\<user_name>\Documents\Arduino\libraries\Adafruit_BMP280_Library`
The code below is incomplete. To get the complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/ENVII/Arduino)
### 2. UIFlow
If you want the complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/ENVII/UIFlow)
<img src="assets/img/product_pics/unit/envII/envII_03.webp" width="60%">
<script>
var purchase_link = 'https://m5stack.com/collections/all/products/env-ii-unit';
anchor_search(purchase_link);
scrollFunc();
</script>
+2 -2
View File
@@ -1,4 +1,4 @@
# PROTO13.2-MEASU
# PROTO-MESU 13.2
<el-tag effect="plain">SKU:M033</el-tag>
@@ -7,7 +7,7 @@
## Description
**PROTO13.2-MEASU** is a stackable DIY proto module for measuring current and voltage, with Multimeter probe and matching base, which is convenient for users to make a simple multimeter. The height of the module is 13.2mm, and a DC power jack is included on the board for external power.
**PROTO-MESU 13.2** is a stackable DIY proto module for measuring current and voltage, with Multimeter probe and matching base, which is convenient for users to make a simple multimeter. The height of the module is 13.2mm, and a DC power jack is included on the board for external power.
## Product Features
+1 -1
View File
@@ -66,7 +66,7 @@
{a:"/#/en/module/bus", img:"https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/module/module_bus_01.webp", p:"BUS", sku:"M024" ,kw:"PROTOTYPE"},
{a:"/#/en/module/goplus", img:"https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/module/module_goplus_p1.webp", p:"GoPlus", sku:"M025" ,kw:"SERVO DC MOTOR IR"},
{a:"/#/en/module/proto13.2", img:"https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/module/proto_13.2.webp", p:"PROTO 13.2", sku:"M032" ,kw:"PROTO 13.2"},
{a:"/#/en/module/proto13.2_mesu", img:"https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/module/proto_13.2_mesu.webp", p:"PROTO 13.2 MESU", sku:"M033" ,kw:"PROTO 13.2 MESU"},
{a:"/#/en/module/proto13.2_mesu", img:"https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/module/proto_13.2_mesu.webp", p:"PROTO-MESU 13.2", sku:"M033" ,kw:"PROTO 13.2 MESU"},
//Drive Modules
{a:"/#/en/module/stepmotor", img:"https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/module/module_stepmotor_01.webp", p:"STEPMOTOR", sku:"M012" ,kw:"GRBL DRV8825"},
{a:"/#/en/module/servo", img:"https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/module/servo_01.webp", p:"SERVO", sku:"M014" ,kw:"SERVO"},
+1 -1
View File
@@ -67,7 +67,7 @@
{a:"/#/zh_CN/module/bus", img:"https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/module/module_bus_01.webp", p:"BUS", sku:"M024" ,kw:"PROTOTYPE"},
{a:"/#/zh_CN/module/goplus", img:"https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/module/module_goplus_p1.webp", p:"GoPlus", sku:"M025" ,kw:"SERVO DC MOTOR IR"},
{a:"/#/zh_CN/module/proto13.2", img:"https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/module/proto_13.2.webp", p:"PROTO 13.2", sku:"M032" ,kw:"PROTO 13.2"},
{a:"/#/zh_CN/module/proto13.2_mesu", img:"https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/module/proto_13.2_mesu.webp", p:"PROTO 13.2 MESU", sku:"M033" ,kw:"PROTO 13.2 MESU"},
{a:"/#/zh_CN/module/proto13.2_mesu", img:"https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/module/proto_13.2_mesu.webp", p:"PROTO-MESU 13.2", sku:"M033" ,kw:"PROTO 13.2 MESU"},
//Drive Modules
{a:"/#/zh_CN/module/stepmotor", img:"https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/module/module_stepmotor_01.webp", p:"STEPMOTOR", sku:"M012" ,kw:"GRBL DRV8825"},
{a:"/#/zh_CN/module/servo", img:"https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/m5-docs_homepage/module/servo_01.webp", p:"SERVO", sku:"M014" ,kw:"SERVO"},
@@ -0,0 +1,128 @@
# Arduino IDE 环境搭建{docsify-ignore-all}
## 驱动安装
>程序烧录前,用户请根据您使用的操作系统,点击下方按钮下载相应的CP210X驱动程序压缩包.在解压压缩包后,选择对应操作系统位数的安装包进行安装。
?> 对于Mac OS,在安装之前确保系统偏好设置->安全性和隐私->通用,并允许从App Store和被认可的开发者
><img src="/image/base/System_preferences.webp" width="50%">
* __下载CP2104驱动程序__
<div class="files_download">
<p class="item">
<a href="https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/drivers/CP210x_VCP_Windows.zip">
<img src="/image/base/Windows_logo.webp" width="50">
<span class="item-title">Windows10</span>
</a>
</p>
<p class="item">
<a href="https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/drivers/CP210x_VCP_MacOS.zip">
<img src="/image/base/MacOS_logo.webp" width="50">
<span class="item-title">MacOS</span>
</a>
</p>
<p class="item">
<a href="https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/drivers/CP210x_VCP_Linux.zip">
<img src="/image/base/Linux_logo.webp" width="50">
<span class="item-title">Linux</span>
</a>
</p>
</div>
><img src="/image/base/CP210X_install.gif " width="70%">
## Arduino-IDE
>[点击此处访问 Arduino 官网](https://www.arduino.cc/en/Main/Software),选择对应自己操作系统的安装包进行下载.
<img src="assets/img/related_documents/Arduino_IDE/Arduino_install.webp">
## M5Stack的板管理
>1.打开 Arduino IDE,选择 `文件`->`首选项`->`设置`
<img src="assets/img/related_documents/Arduino_IDE/Arduino_1.webp">
>2.复制下方的 M5Stack 板管理网址到 `附加开发板管理器:`
**https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json**
<img src="assets/img/related_documents/Arduino_IDE/arduino_board_config.webp">
>3.选择 `工具`->`开发板:`->`开发板管理器...`
<img src="assets/img/related_documents/Arduino_IDE/board_manage.webp">
>4.在新弹出的对话框中,输入并搜索 `M5Stack`,点击`安装`(若出现搜索失败的情况,可以尝试重启Arduino程序)
<img src="assets/img/related_documents/Arduino_IDE/Arduino_4.webp">
>5.选择 `工具`->`开发板:`->`ESP32`
### For M5Core and M5Stick
<img src="assets/img/related_documents/Arduino_IDE/Arduino_5.webp">
### For M5StickC
<img src="assets/img/related_documents/Arduino_IDE/Arduino_77.webp">
### For M5StickC PLUS
<img src="assets/img/related_documents/Arduino_IDE/Arduino_77.webp">
### For Atom Matrix/Lite
>ATOM系列目前还未更新板选项,您可以选用M5StickC或ESP32 Pico KIT作为板配置。(注意:选用ESP32-Pico作为板配置时,波特率请采用115200)
<img src="assets/img/related_documents/Arduino_IDE/Arduino_77.webp">
## 相关库
>不同的硬件设备,有着不同的案例程序库,请根据你所使用的设备选择下载.打开 Arduino IDE, 然后选择 `项目`->`加载库`->`库管理...`
<img src="assets/img/related_documents/Arduino_IDE/Arduino_6.webp">
### For M5Core and M5Stick
?>搜索 `M5Stack` 并安装,如下图所示
<img src="assets/img/related_documents/Arduino_IDE/Arduino_7.webp">
### For M5StickC
?>搜索 `M5StickC` 并安装,如下图所示
<img src="assets/img/related_documents/Arduino_IDE/Arduino_8.webp">
### For M5StickC PLUS
>到此页面下载M5StickCPlus的库[M5StickCPlus](https://github.com/m5stack/M5StickC-Plus) ,添加 "M5StickC-Plus.zip"到库管理器中
<img src="assets/img/related_documents/Arduino_IDE/Arduino_55.webp">
<img src="assets/img/related_documents/Arduino_IDE/Arduino_22.webp">
<img src="assets/img/related_documents/Arduino_IDE/Arduino_33.webp">
>从例程中找到M5StickCPlus
<img src="assets/img/related_documents/Arduino_IDE/Arduino_44.webp">
### For Atom Matrix/Lite
?>搜索 `M5Atom` 并安装,如下图所示,使用LED可能你还需要安装FastLED库
<img src="assets/img/related_documents/Arduino_IDE/Arduino_9.webp">
<script>
anchor_search();
scrollFunc();
</script>
+195
View File
@@ -0,0 +1,195 @@
# ENV II HAT
<el-tag effect="plain">SKU:U001-B</el-tag>
<div class="product_pic"><img src="assets/img/product_pics/unit/envII/envII_01.webp"></div>
## 描述
**ENV II** 是一款多功能环境传感器,内部集成SHT30、BMP280以及BMM150,用于检测温度、湿度、大气压值数据和磁场.SHT30是高精度低功耗的数字温湿度传感器,并支持I2C接口(0x44.BMP280(0x76)是一款专为移动应用而设计的绝对气压传感器,具有较高的精准度.BMM150(0x10)是磁力计,可用于监测磁场变化及磁场方向,对于需要对环境数据进行快速采集检测的项目来说, ENV-II HAT是一个兼顾性能与性价比的不错选择.
## 产品特性
- 温湿度、气压、磁场测量
- 简单易用
- 较高精准度
- 支持IIC
- GROVE 接口, 支持平台 [UIFlow](http://flow.m5stack.com) 、 [Arduino](http://www.arduino.cc).
- 2x LEGO 兼容孔
## 包含
- 1x ENV-II HAT
- 1x Grove 线(5cm)
## 应用
- 气象站
- 储谷仓环境监控
- 指南针
## 规格参数
<table class="table-1">
<thead>
<tr>
<th>规格</th>
<th>参数</th>
</tr>
</thead>
<tbody>
<tr>
<td>最大温度测量范围</td>
<td>-40 ~ 120 ℃</td>
</tr>
<tr>
<td>最高测量精度</td>
<td>0 ~ 60 ℃/±0.2℃</td>
</tr>
<tr>
<td>湿度测量范围/误差</td>
<td>10 ~ 90 %RH / ±2%</td>
</tr>
<tr>
<td>大气压测量范围/误差</td>
<td>300 ~ 1100hPa / ±1hPa</td>
</tr>
<tr>
<td>磁力计范围/误差</td>
<td>±1300μT (x, y-axis), ±2500μT (z-axis), 0.3μT</td>
</tr>
<tr>
<td>通信协议</td>
<td>I2CSHT30(0x44),BMP280(0x76), BMM150(0x10)</td>
</tr>
<tr>
<td>工作温度</td>
<td>32°F to 104°F ( 0°C to 40°C )</td>
</tr>
<tr>
<td>净重</td>
<td>4g</td>
</tr>
<tr>
<td>毛重</td>
<td>8g</td>
</tr>
<tr>
<td>产品尺寸</td>
<td></td>
</tr>
<tr>
<td>包装尺寸</td>
<td>35*36*18mm</td>
</tr>
<tr>
<td>外壳材质</td>
<td>Plastic ( PC )</td>
</tr>
</tbody>
</table>
## SHT30与DHT12对比
<table class="table-1">
<thead>
<tr>
<th>/</th>
<th>SHT30</th>
<th>DHT12</th>
</tr>
</thead>
<tbody>
<tr>
<td>最大温度测量范围</td>
<td>-40 ~ 120 ℃</td>
<td>-20 ~ 60 ℃</td>
</tr>
<tr>
<td>温度测量误差</td>
<td>0 ~ 60 ℃/±0.2℃</td>
<td>±0.2℃</td>
</tr>
<tr>
<td>湿度测量范围/误差</td>
<td>10 ~ 90 %RH / ±2%</td>
<td>20 ~ 95 %RH/0.1%</td>
</tr>
</tbody>
</table>
## EasyLoader
>EasyLoader是一个简洁快速的程序烧录器,其内置了一个产品相关的案例程序,通过简单步骤将其烧录至主控,即可进行一系列的功能验证.**(程序烧录前,请根据设备类型安装相应驱动程序. M5Core型主机[请点击此处查看CP210X驱动安装教程](zh_CN/arduino/arduino_development?id=安装串口驱动)M5StickC/V/T/ATOM系列可免驱动使用)**
<div class="easyloader-box">
<div style="background-color:white;">
<div><img src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/image/easyloader_intro.webp"></div>
<div class="easyloader-btn">
<a href="https://m5stack.oss-cn-shenzhen.aliyuncs.com/EasyLoader/Windows/UNIT/For%20M5Core/EasyLoader_ENV2_UNIT_With_M5Core.exe">Windows</a>
<a href="https://m5stack.oss-cn-shenzhen.aliyuncs.com/EasyLoader/MacOS/UNIT/EasyLoader_ENV2_UNIT_With_M5Core.dmg">MacOS</a>
<!-- <a>Linux</a>
<a>MacOS</a> -->
</div>
</div>
<div>
<video id="example_video" controls>
<source src="https://m5stack.oss-cn-shenzhen.aliyuncs.com/video/Product_example_video/Unit/ENVII.MP4" type="video/mp4">
</video>
<div class="easyloader-mask">
<a>
<svg id="play-btn" t="1583228776634" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4152" width="75" height="75"><path d="M512 0C229.216 0 0 229.216 0 512s229.216 512 512 512 512-229.216 512-512S794.784 0 512 0z m0 928C282.24 928 96 741.76 96 512S282.24 96 512 96s416 186.24 416 416-186.24 416-416 416zM384 288l384 224-384 224z" p-id="4153" fill="#007aff"></path></svg></a>
<p>案例描述:</p>
<p>显示温湿度、大气压、磁力计数据.</p>
</div>
</div>
</div>
### 管脚映射
<table>
<tr><td>M5Core(GROVE A)</td><td>GPIO26</td><td>GPIO20</td><td>5V</td><td>GND</td></tr>
<tr><td>ENV II HAT</td><td>SCL</td><td>SDA</td><td>5V</td><td>GND</td></tr>
</table>
## 原理图
<img src="assets/img/product_pics/unit/envII_sch.webp">
## 相关链接
- **Datasheet**
- **[BMP280 Datasheet](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/hat/BMP280-DS001-11_en.pdf)**
- **[SHT30 Datasheet](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/unit/SHT3x_Datasheet_digital.pdf)**
- **[bmm150 Datasheet](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/BMM150_datasheet_en.pdf)**
## 案例程序
### 1. Arduino IDE
该案例将使用 ENVII Unit ,实现温度、湿度、大气压数据的读取.
1, 在进行程序编译前,请安装`Adafruit BMP280 Library`
2, 并将`Adafruit_Sensor.h`复制至`C:\Users\<user_name>\Documents\Arduino\libraries\Adafruit_BMP280_Library`
[请点击此处下载Arduino示例程序](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/ENVII/Arduino)
### 2. UIFlow
[请点击此处UIFlow](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/ENVII/UIFlow)
<img src="assets/img/product_pics/unit/envII/envII_03.webp" width="60%">
<script>
var purchase_link = 'https://m5stack.com/collections/all/products/env-ii-unit';
anchor_search(purchase_link);
scrollFunc();
</script>
+2 -2
View File
@@ -1,4 +1,4 @@
# PROTO13.2-MEASU
# PROTO-MESU 13.2
<el-tag effect="plain">SKU:M033</el-tag>
@@ -7,7 +7,7 @@
## 描述
**PROTO13.2-MEASU**是一个可堆叠的DIY proto模块,用于测量电流和电压,带有万用表表笔和匹配插座,方便用户制作简单的万用表。模块高度为13.2mm,洞洞板设计能帮助用户快速搭建电路,板上有一个直流电源插座供外部电源使用。
**PROTO-MESU 13.2**是一个可堆叠的DIY proto模块,用于测量电流和电压,带有万用表表笔和匹配插座,方便用户制作简单的万用表。模块高度为13.2mm,洞洞板设计能帮助用户快速搭建电路,板上有一个直流电源插座供外部电源使用。
## 产品特性