华为云用户手册
-
属性上报 属性上报是指设备主动向平台上报自己的属性。更多接口信息请参考设备属性上报。 在properties_sample.py文件中实现了设备属性上报、响应平台设置与查询设备属性的功能。 代码实现了设备每隔10秒向平台上报属性的功能,service_property为设备属性对象,具体可在services_propertis.py文件查看。 1 2 3 4 5 6 7 # 定时上报属性 while True: # 按照产品模型设置属性 service_property = ServicesProperties() service_property.add_service_property(service_id="Battery", property='batteryLevel', value=1) iot_client.report_properties(service_properties=service_property.service_property, qos=1) time.sleep(10) 设备上报属性成功后可在设备详情页面查看到上报的属性。 图1 查看上报数据-Battery_batteryLevel 如果在“设备详情”页面没有最新上报数据,请确认设备上报的服务/属性和产品模型中的服务/属性一致。
-
建立连接 设备或网关在接入 物联网平台 时首先需要和平台建立连接,从而将设备或网关与平台进行关联。开发者通过传入设备信息,将设备或网关连接到物联网平台。 IoTClientConfig类主要提供配置客户端相关信息的功能,在建立连接之前,先修改以下参数。 1 2 3 4 # 客户端配置 client_cfg = IoTClientConfig(server_ip='iot-mqtts.cn-north-4.myhuaweicloud.com', device_id='5e85a55f60b7b804c51ce15c_py123', secret='******', is_ssl=True) # 创建设备 iot_client = IotClient(client_cfg) server_ip:物联网平台的设备对接地址,可参考平台对接信息获取(获取的是 域名 信息,可通过在cmd命令框中执行“ping 域名”,获取IP地址); device_id和secret:在成功注册设备后获取; is_ssl:设置为True 时建立MQ TTS 连接,False时建立MQTT连接。 调用 connect 方法进行连接。 iot_client.connect() 如果连接成功会打印: -----------------Connection successful !!! 注:如果连接失败,在retreat_reconnection函数中已实现退避重连,代码样例如下: # 退避重连 def retreat_reconnection(self): print("---- 退避重连") global retryTimes minBackoff = 1 maxBackoff = 30 defaultBackoff = 1 low_bound = (int)(defaultBackoff * 0.8) high_bound = (int)(defaultBackoff * 1.2) random_backoff = random.randint(0, high_bound - low_bound) backoff_with_jitter = math.pow(2.0, retryTimes) * (random_backoff + low_bound) wait_time_until_next_retry = min(minBackoff + backoff_with_jitter, maxBackoff) print("the next retry time is ", wait_time_until_next_retry, " seconds") retryTimes += 1 time.sleep(wait_time_until_next_retry) self.connect()
-
响应命令下发 在command_sample.py文件中提供了响应平台下发命令的功能。详细接口信息请参考命令下发接口。 1 2 3 4 5 # 响应平台下发的命令 def command_callback(request_id, command): # result_code:设置为0命令下发成功,为1下发命令失败 iot_client.respond_command(request_id, result_code=0) iot_client.set_command_callback(command_callback)
-
订阅Topic 订阅某Topic的设备才能接收broker发布的关于该Topic的消息,关于平台预置Topic可参考Topic定义。 在message_sample.py文件中提供了订阅Topic、取消订阅Topic和设备消息上报等功能。 订阅命令下发Topic方式如下: 1 iot_client.subscribe(r'$oc/devices/' + str(self.__device_id) + r'/sys/commands/#') 如果订阅成功会打印(Topic为自定义的Topic,如上Topic_1): ------You have subscribed: topic
-
烟感设备样例 场景说明 有一款烟感设备,具有如下特征: 具有烟雾报警功能(火灾等级)和温度上报功能。 支持远程控制命令,可远程打开报警功能。比如火灾现场温度,远程打开烟雾报警,提醒住户疏散。 该款烟感设备,设备能力比较弱,无法按照设备接口定义的JSON格式上报数据,只能上报简单的二进制数据。 产品模型定义 在烟感产品的开发空间,完成产品模型定义。 level:火灾级别,用于表示火灾的严重程度。 temperature:温度,用于表示火灾现场温度。 SET_ALARM:打开或关闭告警命令,value=0表示关闭,value=1表示打开。响应命令result用于上报修改后告警值。 图1 模型定义-smokedetector
-
接口介绍 API分组 应用场景 产品管理 产品模型定义了该产品下所有设备具备的能力或特征,产品管理为应用服务器提供对已导入物联网平台中产品模型的操作管理功能。 设备管理 设备管理为应用服务器提供对设备的操作管理功能,包括对设备基本信息和设备数据的操作。 设备消息 设备消息为应用服务器提供向设备透传消息的功能。 设备命令 设备的产品模型中定义了物联网平台可向设备下发的命令,设备命令为应用服务器提供向设备下发命令的功能,实现对设备的控制操作。 设备属性 设备的产品模型中定义了物联网平台可向设备下发的属性,设备属性为应用服务器提供向设备下发属性的功能。 AMQP队列管理 AMQP队列管理为客户创建、删除、查看队列。AMQP队列可通过规则订阅后通过AMQP客户端接收消息数据。 接入凭证管理 接入凭证是用于AMQP、MQTTS等协议建立长连接时认证使用。 数据转发、设备联动 规则管理为应用服务器提供物联网平台的规则引擎功能,通过设置规则实现业务的联动变化或将数据转发至其他华为云服务。包含设备联动和数据转发两种类型。 设备联动:包含触发条件和执行动作两部分。当满足设置的触发条件后,触发相应动作,如“下发命令”、“发送通知”、“上报告警”、“恢复告警”。 数据转发:包含设置转发数据、设置转发目标和启动规则三部分。支持转发至“ 数据接入服务 DIS”、“分布式消息服务 Kafka”、“ 对象存储服务 OBS”、“应用与 数据集成平台 ROMA Connect”、“第三方应用服务(HTTP推送)”、“AMQP推送消息队列”。 订阅管理 订阅管理为应用服务器提供对物联网平台资源的订阅功能,若订阅的资源发生变化,平台会通知应用服务器。 设备影子 设备影子是一个用于存储和检索设备当前状态信息的文件,设备影子为应用服务器提供对设备影子的操作管理功能。 每个设备有且只有一个设备影子,由设备ID唯一标识。 设备影子仅保存最近一次设备的上报数据和用户设置的预期数据。 无论该设备是否在线,都可以通过该影子查询和设置设备的状态。 设备组管理 设备组管理为应用服务器提供对设备组的管理操作功能,包括对设备组信息和设备组设备的操作。 标签管理 标签可用于对资源进行分类,标签管理为应用服务器提供对各类资源绑定和解绑标签功能。 当前仅设备支持标签。 资源空间管理 资源空间管理为应用服务器提供对资源空间的管理能力,包括资源空间的增删改查。 批量任务 批量任务为应用服务器提供批量处理功能,对接入物联网平台的设备进行批量操作。 目前提供批量软、固件升级,批量创建/删除/更新设备,批量冻结/解冻设备,批量创建同步/异步命令,批量创建消息和批量配置设备影子的能力。 当前单用户单一任务类型的未完成的任务最大为10,超过则无法创建新的任务。 设备CA证书管理 设备CA证书管理为应用服务器提供对设备CA证书进行操作管理功能,包括对设备CA证书进行上传、验证、查询等操作。物联网平台支持使用证书进行设备接入认证。 OTA升级包管理 OTA升级包管理为应用服务器提供对升级包进行操作管理功能,包括对升级包的创建、查询、删除等操作。 广播消息 广播消息为应用服务器向订阅了指定Topic的所有在线设备发布消息。 设备隧道管理 设备隧道可用于应用服务器与设备进行数据传输。 数据流转积压策略管理 数据流转积压策略管理为应用服务器提供了对积压策略的管理操作功能,包括对数据流转积压策略的创建,查询,修改删除等操作功能。 数据流转流控策略管理 数据流转流控策略管理为应用服务器提供了对流控策略的管理操作功能,包括对数据流转流控策略的创建,查询,修改删除等操作功能。
-
应用开发资源 为了降低应用的开发难度、提升开发效率,物联网平台开放了应用侧API。应用通过调用物联网平台的API,实现安全接入、设备管理、数据采集、命令下发等业务场景。 资源包名 描述 下载 应用侧开发 API Java Demo 物联网平台为应用服务器提供了应用侧API,能够让开发者快速验证API开放的能力,体验业务功能,熟悉业务流程。 API Java Demo 应用侧 Java SDK 应用侧Java SDK提供Java方法调用应用侧API与平台通信。使用指南可以参考应用侧Java SDK使用指南。 应用侧Java SDK 应用侧 .Net SDK 应用侧.Net SDK提供.Net方法调用应用侧API与平台通信。使用指南可以参考应用侧.Net SDK使用指南。 应用侧.Net SDK 应用侧 Python SDK 应用侧Python SDK提供Python方法调用应用侧API与平台通信。使用指南可以参考应用侧Python SDK使用指南。 应用侧Python SDK 应用侧 Go SDK 应用侧Go SDK提供Go方法调用应用侧API与平台通信。使用指南可以参考应用侧Go SDK使用指南。 应用侧Go SDK 应用侧 Node.js SDK 应用侧Node.js SDK提供Node.js方法调用应用侧API与平台通信。使用指南可以参考应用侧Node.js SDK使用指南。 应用侧Node.js SDK 应用侧 PHP SDK 应用侧PHP SDK提供PHP方法调用应用侧API与平台通信。使用指南可以参考应用侧PHP SDK使用指南。 应用侧PHP SDK
-
导入代码样例 下载quickStart(websocket).zip样例,并解压。 修改Demo里的关键工程配置参数。其中MqttOverWebsocketDemo.html需要配置host地址、设备ID和设备密钥,用于启动Demo时连接平台。 host地址:即域名,请参考平台对接信息获取; 设备ID和设备密钥:在物联网平台注册设备或调用创建设备接口后获取。 var host = '****'; //IoT平台mqtt对接地址 var deviceId = '****'; //请填写在平台注册的设备ID var secret = '****'; //请填写在平台注册的设备密钥
-
接收下发命令 在Demo中提供了接收平台下发命令的功能,在MQTT建链完成并成功订阅Topic后,可以在管理控制台设备详情中命令下发或使用应用侧Demo对该设备ID进行命令下发。下发成功后,在Demo中接收到平台下发给设备的命令。 例如下发参数名为smokeDetector: SILENCE,参数值为1的命令。 图6 命令下发-SILENCE_1 命令下发成功后,Demo收到平台下发的命令,浏览器调试界面的console栏显示如下: 图7 显示 由于是同步命令需要端侧回复响应可参考接口。
-
导入代码样例 下载quickStart(C)样例。 将代码复制到linux运行环境中。可以看到代码文件层级如下图。 代码目录简述: src:源码目录 mqtt_c_demo:demo核心源码; util/string_util.c:工具资源文件; conf:证书目录 rootcert.pem:设备校验平台身份的证书,用于设备侧接入物联网平台登录鉴权使用;如果对接的IoTDA版本非基础版,请将该证书文件中c/ap-southeast-1-device-client-rootcert.pem文件内容复制到conf/rootcert.pem文件中。 include: 头文件目录 base目录:存放依赖的paho头文件 openssl目录:存放依赖的openssl头文件 util目录:存放依赖的工具资源头文件 lib:依赖库文件 libcrypto.so*/libssl.so*: openssl库文件 libpaho-mqtt3as.so*: paho库文件 Makefile:Makefile文件
-
准备工作 编译openssl库 访问openssl官网(https://www.openssl.org/source/)下载最新版本openssl(如openssl-1.1.1d.tar.gz),上传到linux编译机上(以上传到/home/test目录下为例),并使用如下命令解压: tar -zxvf openssl-1.1.1d.tar.gz 配置生成makefile文件。 执行以下命令进入openssl源码目录 cd openssl-1.1.1d 运行如下配置命令: ./config shared --prefix=/home/test/openssl --openssldir=/home/test/openssl/ssl 其中“prefix”是安装目录,“openssldir”是配置文件目录,“shared”作用是生成动态链接库(即.so库) 。 如果编译有问题,配置命令加上no-asm(表示不使用汇编代码) ./config no-asm shared --prefix=/home/test/openssl --openssldir=/home/test/openssl/ssl 编译出库。 在openssl源码目录下,运行make depend命令。 make depend 再运行make命令进行编译。 make 安装openssl。 make install 在配置的openssl安装目录下home/test/openssl找到lib目录,有生成的库文件: “libcrypto.so.1.1”、“libssl.so.1.1”和软链接“libcrypto.so”、“libssl.so”,请将这些文件复制到demo的lib文件夹下(同时将/home/test/openssl/include/openssl里的内容复制到demo的include/openssl下)。 注:有的编译工具是32位的,如果在64位的linux机器上使用,这时只要将Makefile中的-m64都删除,再进行编译即可。 编译paho库文件 访问github下载地址:https://github.com/eclipse/paho.mqtt.c,下载paho.mqtt.c源码。 解压后上传到linux编译机。 修改makefile 通过如下命令进行编辑Makefile vim Makefile 查找字符串 /DOXYGEN_COMMAND = 在/DOXYGEN_COMMAND =doxygen的下一行添加下面两行(自定义的openssl的头文件和库文件) CFLAGS += -I/home/test/openssl/include LDFLAGS += -L/home/test/openssl/lib -lrt 把如下图的CCDLAGS_SO、LDFLAGS_ CS 、LDFLAGS_AS、FLAGS_EXES的openssl地址都改成对应的地址 编译 执行清空命令 make clean 执行编译命令 make 编译完成后,可以在build/output目录下看到编译成功的库。 复制paho库文件。 当前SDK仅用到了libpaho-mqtt3as,请将“libpaho-mqtt3as.so”和“libpaho-mqtt3as.so.1”文件复制到demo的lib文件夹下。(同时回到paho源代码路径,进入src目录,将MQTTAsync.h、MQTTClient.h、MQTTClientPersistence.h、MQTTProperties.h、MQTTReasonCodes.h、MQTTSubscribeOpts.h复制到demo的include/base文件夹下)。 有的paho版本会有MQTTExportDeclarations.h头文件,建议可以将MQTT相关的头文件都添加进去。
-
概述 物联网平台支持使用FunctionGraph编解码的功能,根据您提交的脚本文件,实现设备二进制格式与JSON格式相互转换。常在设备能力比较弱,只能上报简单的二进制数据的场景下使用。FunctionGraph的函数托管计算服务支持Node.js、Python、Java、Go、C#、PHP、Cangjie和定制运行时语言,可以满足多种开发需求;具有实时查看运行日志、查看图形化监控等功能,大大的提高了开发者开发、调试效率。 FunctionGraph是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。 FunctionGraph的收费标准可见:FunctionGraph 函数工作流 计费概述。此外,FunctionGraph按函数实际执行资源计费,不执行不产生费用。
-
调测“查询 IAM 用户可以访问的项目列表”接口 在访问物联网平台业务接口前,应用服务器需要调用“查询IAM用户可以访问的项目列表”接口获取用户的项目ID,用于后续访问物联网平台业务接口。 应用服务器需要构造一个HTTP请求,请求示例如下: GET https://iam.cn-north-4.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ******** 参考API文档,调测查询IAM用户可以访问的项目列表接口。 配置“查询IAM用户可以访问的项目列表”接口的HTTP方法、URL和Headers。 单击“Send”,在下方查看返回码和响应消息内容。 返回body中包含一个projects列表,查找其中“name”参数值与“IoTDA”环境中“region”参数值相同的条目,取其“id”参数值更新到“IoTDA”环境中“project_id”参数,以便于在调用其它接口时使用。 这里我们已经在postman中自动更新了“project_id”参数,使用时无需手动操作。
-
调测“查询产品”接口 应用服务器如果需要查询之前创建的产品详情,可以调用此接口。 应用服务器需要构造一个请求,请求示例如下: GET https://iotda.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/products/{product_id} Content-Type: application/json X-Auth-Token: ******** 接下来参考API文档,调测物联网平台查询产品接口。 注:在以下步骤中,只呈现样例调测用到的参数。 配置“查询产品”接口的HTTP方法、URL和Headers。 单击“Send”,在下方查看返回码和响应消息内容。
-
调测“获取IAM用户Token”接口 在访问物联网平台业务接口前,应用服务器需要调用“获取IAM用户Token”接口鉴权,华为云认证通过后向应用服务器返回鉴权令牌X-Subject-Token。 应用服务器需要构造一个HTTP请求,请求示例如下: POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 参考API文档,调测获取IAM用户Token接口。 配置“获取IAM用户Token”接口的HTTP方法、URL和Headers。 配置“获取IAM用户Token”接口的Body。 单击“Send”,在下方查看返回码和响应消息内容。 请将返回头域中的的X-Subject-Token更新到“IoTDA”环境的“X-Auth-Token”参数中,以便于在调用其它接口时使用。若超过令牌有效时间,需要重新调用鉴权接口。 这里我们已经在postman中自动更新了“X-Auth-Token”参数,使用时无需手动操作。
-
调测“创建产品”接口 在设备接入物联网平台前,应用服务器需要调用此接口创建产品,后续注册设备时需要使用这里创建的产品。 应用服务器需要构造一个请求,请求示例如下: POST https://iotda.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/products Content-Type: application/json X-Auth-Token: ******** { "name" : "Thermometer", "device_type" : "Thermometer", "protocol_type" : "MQTT", "data_format" : "binary", "manufacturer_name" : "ABC", "industry" : "smartCity", "description" : "this is a thermometer produced by Huawei", "service_capabilities" : [ { "service_type" : "temperature", "service_id" : "temperature", "description" : "temperature", "properties" : [ { "unit" : "centigrade", "min" : "1", "method" : "R", "max" : "100", "data_type" : "decimal", "description" : "force", "step" : 0.1, "enum_list" : [ "string" ], "required" : true, "property_name" : "temperature", "max_length" : 100 } ], "commands" : [ { "command_name" : "reboot", "responses" : [ { "response_name" : "ACK", "paras" : [ { "unit" : "km/h", "min" : "1", "max" : "100", "para_name" : "force", "data_type" : "string", "description" : "force", "step" : 0.1, "enum_list" : [ "string" ], "required" : false, "max_length" : 100 } ] } ], "paras" : [ { "unit" : "km/h", "min" : "1", "max" : "100", "para_name" : "force", "data_type" : "string", "description" : "force", "step" : 0.1, "enum_list" : [ "string" ], "required" : false, "max_length" : 100 } ] } ], "option" : "Mandatory" } ], "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka" } 参考API文档,调测物联网平台创建产品接口。 注:在以下步骤中,只呈现样例调测用到的参数。 配置“创建产品”接口的HTTP方法、URL和Headers。 配置“创建产品”接口的BODY。 单击“Send”,在下方查看返回码和响应消息内容。 将返回的“product_id”更新到“IoTDA”环境中的“product_id”参数中,用于后续其它接口使用。 注:在postman中自动更新了“product_id”参数,使用时无需手动操作。
-
调测“创建设备”接口 在设备接入物联网平台前,应用服务器需要调用此接口在物联网平台创建设备。在设备接入物联网平台时携带设备唯一标识,完成设备的接入认证。 应用服务器需要构造一个HTTP请求,请求示例如下: POST https://iotda.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/devices Content-Type: application/json X-Auth-Token: ******** { "node_id" : "ABC123456789", "device_name" : "dianadevice", "product_id" : "b640f4c203b7910fc3cbd446ed437cbd", "auth_info" : { "auth_type" : "SECRET", "secure_access" : true, "fingerprint" : "********", "secret" : "********", "timeout" : 300 }, "description" : "watermeter device" } 参考API文档,调测物联网平台创建设备接口。 注:在以下步骤中,只呈现样例调测用到的参数。 配置“创建设备”接口的HTTP方法、URL和Headers。 配置“创建设备”接口的Body。 单击“Send”,在下方查看返回码和响应消息内容。 请将返回的“device_id”更新到“IoTDA”环境中的“device_id”参数中,用于后续其它接口使用。 注意:在postman中自动更新了“device_id”参数,使用时无需手动操作。
-
调测“查询设备”接口 应用服务器需要查询在物联网平台创建的设备详情时,可以调用此接口。 应用服务器需要构造一个HTTP请求,请求示例如下: GET https://iotda.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/devices/{device_id} Content-Type: application/json X-Auth-Token: ******** 参考API文档,调测物联网平台查询设备接口。 注:在以下步骤中,只呈现样例调测用到的参数。 配置“查询设备”接口的HTTP方法、URL和Headers。 单击“Send”,在下方查看返回码和响应消息内容。
-
安装并配置Postman 安装Postman。 访问Postman官网,下载并安装Windows 64位Postman最新版本。 安装Postman依赖.NET Framework 4.5组件。 如需下载Windows 32位Postman最新版本,访问此处下载。 填写邮箱、用户名和密码注册Postman。 导入Postman环境变量。 单击右上角的图标,打开“MANAGE ENVIRONMENTS”窗口。 单击“Import”,在弹出的页面中,单击“选择文件”,导入IoTDA.postman_environment.json文件(下载Collection解压后获取)。 单击导入的“IoTDA”环境。 参考下表修改以下参数。 参数名 参数说明 IAMEndpoint IAM终端节点,参考IAM地区和终端节点获取。 IoTDAEndpoint 物联网平台终端节点,参考2.e。 IAMUserName IAM用户名,参考我的凭证获取。 IAMPassword 登录华为云的密码。 IAMDoaminId 账号名,参考我的凭证获取。 region 开通 设备接入服务 的区域,参考物联网平台终端节点获取。 IoTDAEndpoint参考。 进入控制台,选择左侧导航栏“总览”,单击“实例基本信息-接入信息”,根据相应的接入类型和协议选择对应的接入地址。 图1 总览-获取接入信息 返回主页,选择环境变量为刚导入的“IoTDA”。 单击左上角的“Import”,单击“Choose Files”导入“应用侧API调用(V5版本).postman_collection.json”。 导入成功后,显示如下。
-
概述 Postman是网页调试与辅助接口调用的工具,具有界面简洁清晰、操作方便快捷的特性,可以处理用户发送的HTTP请求,例如:GET,PUT、POST,DELETE等,支持用户修改HTTP请求中的参数并返回响应数据。 为充分了解接口,建议提前获取应用侧API参考查阅。我们已经写好了Postman的collection,在Collection中接口的请求结构体已经完成可以直接使用。 本文档以Postman为例,模拟应用服务器以HTTPS协议接入物联网平台,调测以下API接口: “获取IAM用户Token”接口 “查询IAM用户可以访问的项目列表”接口 “创建产品”接口 “查询产品”接口 “创建设备”接口 “查询设备”接口
-
接收下发命令 在Demo中提供了接收平台下发命令的功能,在MQTT建链完成并成功订阅Topic后,可以在管理控制台设备详情中命令下发或使用应用侧Demo对该设备ID进行命令下发。下发成功后,在Demo中接收到平台下发给设备的命令。 例如下发参数名为smokeDetector: SILENCE,参数值为50的命令。 图4 命令下发-SILENCE 命令下发成功后,Demo收到的消息是50,命令运行主界面显示如下: 由于是同步命令需要端侧回复响应可参考接口。
-
连接鉴权 参考连接鉴权接口文档,使用MQTT.fx工具接入物联网平台。 下载MQTT.fx(默认是64位操作系统,如果是32位操作系统,单击此处下载MQTT.fx),安装MQTT.fx工具。 安装最新版MQTT.fx工具,可单击此处下载。 MQTT.fx 1.7.0及旧版本对带有$的主题(Topic)处理存在问题,请使用最新版本进行测试。 访问这里,填写注册设备后生成的设备ID(DeviceId)和密钥(DeviceSecret),生成连接信息(ClientId、Username、Password)。 设备通过MQTT协议的connect消息进行鉴权,对于构造clientId的各个部分信息都必须包括进去,平台收到connect消息时,会判断设备的鉴权类型和密码摘要算法。 使用生成工具生成的clientId格式,默认不校验时间戳:设备ID_0_0_时间戳。 当采用“HMACSHA256”校验时间戳方式时,会先校验消息时间戳与平台时间是否一致,再判断密码是否正确。 当采用“HMACSHA256”不校验时间戳方式时,clientId也需要携带“YYYYMMDDHH”格式时间戳,用于加解密密码。 connect消息鉴权失败时,平台会返回错误,并自动断开MQTT链路。 打开MQTT.fx软件,单击设置图标。 参考下表配置鉴权参数,然后单击“Apply”。 参数名称 说明 Broker Address 填写从设备接入服务控制台获取的设备对接地址,此地址为域名信息。不能通过域名接入的设备,此处填写从2中获取的IP地址。 Broker Port 默认为1883。 Cliend ID 设备cliendID,请参考2中获取。 User Name 即设备ID,请参考2中获取。 Password 加密后的设备密钥,请参考2中获取。 注:如果您选择安全方式接入,Broker Port设置为8883,下载并获取证书,加载Java语言pem格式的证书。 单击“Connect”,设备鉴权成功后,在物联网平台“所有设备”界面可以看到设备处于在线状态。 图3 设备列表-设备在线
-
创建产品 创建MQTT协议产品。如果已有MQTT协议产品,可跳过此步骤。 登录管理控制台,单击左侧导航栏“产品”,单击页面左侧的“创建产品”。 根据页面提示填写参数,然后单击“创建”。 表1 创建产品信息参数 基本信息 所属资源空间 平台自动将新创建的产品归属在默认资源空间下。如需归属在其他资源空间下,下拉选择所属的资源空间。如无对应的资源空间,请先创建资源空间。 产品名称 自定义。支持字母、数字、下划线(_)、连字符(-)的字符组合。 协议类型 选择MQTT。 数据格式 选择JSON。 所属行业 请根据实际情况选择。 设备类型 请根据实际情况选择。 高级配置 产品ID 定制ProductID,用于唯一标识一个产品。如果携带此参数,平台将产品ID设置为该参数值;如果不携带此参数,产品ID在物联网平台创建产品后由平台分配获得。 图2 创建MQTT产品-标准类型
-
物联网平台支持在华为云的哪些区域开通? 设备接入服务(IoTDA)当前支持在“华北-北京四”、“华东-上海一”、“华南-广州”和“华南-广州-友好用户环境”、“中国-香港”、“亚太-新加坡”、“亚太-雅加达”、“亚太-曼谷”、“拉美-圣地亚哥”、“拉美-墨西哥城二”、“中东-利雅得”、“非洲-约翰内斯堡”区域开通服务。企业版当前仅支持在“华北-北京四”、“华东-上海一”、“华南-广州”区域开通服务。 原设备接入服务和设备管理服务只支持在“华北-北京一”区域使用,且不支持新用户开通此服务。 设备发放、 全球SIM联接 、数据分析支持在“华北-北京四”区域开通服务。 父主题: 方案咨询
-
在产品详情上传产品模型,弹窗提示“文件输入格式有误”? 问题描述 客户在产品详情界面里,上传产品模型文件,提示“文件输入格式有误”。 可能原因 模型的json文件格式错误。 servicetype-capability.json中commands/properties的值不是数组格式。 压缩包中存在其他的文件。 解决方法 检查每个json文件的格式是否正确,可以使用第三方格式校验工具进行检查。 检查servicetype-capability.json中commands/properties的值是否为数组格式(值是否包含在中括号之内)。 检查产品模型的压缩包是否存在其他文件或者隐藏文件,如果存在其他文件或者隐藏文件,则删除后重新上传。
-
在产品详情中上传产品模型,无法单击确定按钮? 问题描述 用户在产品详情页面中上传了产品模型,无法单击确定按钮。 图1 产品-上传模型文件 可能原因 上传的产品模型文件命名不符合规范。 上传的产品模型的压缩文件不是zip格式的。 解决方法 检查产品模型文件的名称是否符合deviceType_manufacturerId_model.zip的格式,并检查“deviceType”、“manufacturerId”、“model”三个字段是否和devicetype-capability.json中的定义一致。 检查产品模型文件是否压缩为zip格式。如非zip格式,请解压后重新压缩、上传。
-
在线开发产品模型时,如何选择数据类型? 数据类型的配置可以参考如下原则: int:当上报的数据为整数或布尔值时,可以匹配为此类型。插件开发中可匹配int型或array类型。 decimal:当上报的数据为小数时,可以匹配为此类型。插件开发中可匹配string或者int或者array类型。 string:当上报的数据为字符串、枚举值或布尔值时,可以配置为此类型。如果为枚举值或布尔值,值之间需要用英文逗号(“,”)分隔。插件开发中可匹配string类型或者array类型。 dateTime:当上报的数据为日期时,可以配置为此类型。插件开发中可匹配string类型或者array类型。 jsonObject:当上报的数据为json结构体时,可以配置为此类型。插件开发者可匹配string或者array类型。
-
使用小熊派开发板开发时,设备无法激活? 可以输入“AT+CGATT?”,然后单击“发送”,若返回“+CGATT:1”,表示网络附着成功(附着成功代表NB-IoT联网正常),返回“+CGATT:0”表示网络附着失败,请查看SIM卡是否插入正确,或联系运营商检查网络状态; 或者可以将拨测开关拨到AT-PC模式,选择STM的端口,波特率设置为9600,输入指令“AT+CGSN=1”获取IMEI号,比较跟在平台注册设备时填写IMEI号是否保持一致,不一致的话,需要修改成一致的。
-
deviceId、nodeId和IMEI有什么对应关系? 在物联网平台中,设备注册时,需要填写设备标识码(即nodeId)。设备标识码是设备的物理标识,通常使用IMEI或MAC地址。设备ID(deviceId)是物联网平台对设备的逻辑标识。 NB-IoT设备:在设备接入物联网平台时携带设备标识码(nodeId),完成设备的接入鉴权。 MQTT设备:在设备接入物联网平台时携带设备ID(deviceId)和密钥,通过一机一密的方式,完成设备的接入鉴权。 更多请参考设备注册鉴权。
-
物联网卡无法正常接入设备接入平台? 电信NB物联网卡 由于电信NB网络做了限制,目前电信NB卡连接华为云IoT平台,会出现设备接入平台或执行软固件升级失败等情况。 3G/4G物联网卡 根据工网安函〔2020 〕1173 号文件,3G/4G物联网卡流量包规格大于100MB或配置流量池的情况下,需要提供定向IP地址或域名才能购买。因此如果您的物联网卡需要访问华为云IoT平台时,请您检查物联网卡的定向信息是否包含华为云IoT平台的域名。 图7 物联网卡 查询华为云IoT平台接入域名,详细步骤可以参考资源获取。 GSL控制台定向域名/IP修改方式进入订单管理页面,详细步骤请参考订单管理资料。 电信NB物联网卡通过云云对接接入华为云IoT平台的功能正在公测中,如有相关诉求请新建工单,联系相关技术专家进行处理。
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- ...
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333
推荐文章