手把手学IOT服务端API编程[1、创建产品]|MVP讲堂

简介: 阿里云MVP(最有价值专家)的实践经验汇集。本教程旨在介绍服务器端的API编程接口,基于php脚本的sdk,希望对物联网服务器端有编程需求的有所帮助。

作者:阿里云MVP洵云

下节内容:[手把手学IOT服务端API编程[2、修改产品]
](https://yq.aliyun.com/articles/673868?spm=a2c4e.11153959.0.0.20f76ab1jC10kR)

阿里云的物联网架构主要分为设备端和服务端。
本教程旨在介绍服务器端的API编程接口,基于php脚本的sdk,希望对物联网服务器端有编程需求的有所帮助。

由于涉及到php脚本编程,所以首先是要有一套php脚本解释器的环境,通常是使用阿里云的ecs服务器搭建一套LNMP[linux,nginx,mysql,php]环境,
这样可以通过远程网页,显示我们php运行的结果,具体环境搭建可以参考ecs板块相关教程;
当然也可以使用笔者的演示网址:www.xunyun17.xyz/ioto/frm1.php

另外,如果需要通过api操作服务端的相关服务,需要下载相应的sdk,php脚本在github上有所有阿里云产品的sdk,直接通过如下git命令可以获取:

git clone https://github.com/aliyun/aliyun-openapi-php-sdk.git
由于下载下来的目录包含了所有云产品的接口,我们只需要物联网iot和core核心的sdk即可,所以单独将这两个目录移出来,然后删除冗余的目录,
这个可以通过如下三条命令实现:

mv aliyun-openapi-php-sdk/aliyun-php-sdk-core/ -f .
mv aliyun-openapi-php-sdk/aliyun-php-sdk-iot/ -f .
rm aliyun-openapi-php-sdk/ -rf

环境搭建好了后,我们就可以编写我们自己的php脚本,调用相关的api,来进行相应功能的开发了;
今天我们先来看第一个api:创建产品[CreateProductRequest],提到产品这个概念,要先介绍一下阿里云物联网的相关定义,按照设备的功能和
特性不同,通常将功能类似的设备划分为一类产品,比如输入
产品,输出产品,也可以分成发光产品,温度产品。。。,具体是用户根据自己的实际
情况和环境来划分的,然后每类产品下再创建若干的设备;其实产品和设备的关系也可以理解成目录和文件的关系;每个文件一般是属于某一个目录
的,所以每种设备也是属于每一类产品。如果要使用创建产品的api,我们需要提供两个参数:产品名称和产品描述;这个也比较容易理解产品名称
通常是这一类设备的通用功能的简称,而产品描述则是对这类产品的一个详细描述;

另外,由于安全考虑,凡是调用阿里云restful的api,都需要提供access key的id和secret,这个可以在个人控制台中找到;
这里用两个php脚本来实现,一个是frm文件,可以通过让用户在网页上动态输入不同的内容来创建不同的产品。另一个脚本则是ex文件,是要实现
调用相关api功能的操作;
下面大概看一下frm 文件:除了一些显示信息外,还提供了两个文本框,用于输入产品的名称和描述:
产品名称:
产品描述:

而在我们的ex文件里,则通过get函数得到用户输入的值:

$pname1 = $_GET["pname1"];
$pdesc1 = $_GET["pdesc1"];

然后通过
$request = new IotCreateProductRequest();
$request->setName($pname1);
$request->setDesc($pdesc1);
接口将配置信息传递到sdk中,再通过运行命令
$response = $client->getAcsResponse($request);
将信息发送给服务器,并通过下面的命令打印相关的返回信息:
echo 'RequestId :'.$response->RequestId.'
';
echo 'Success :'.$response->Success.'
';
echo 'ProductKey :'.$response->ProductInfo->ProductKey.'
';
echo 'ProductDesc :'.$response->ProductInfo->ProductDesc.'
';
echo 'ProductName :'.$response->ProductInfo->ProductName.'
';

当我们编写好这两个脚本后,在网页上运行一下,输入我们想要得产品名称和产品描述,

image

再到我们的iot控制台,察看一下是否有按照我们的
要求,创建了相关的设备:

image

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
1月前
|
Cloud Native API
微服务引擎 MSE 及云原生 API 网关 2024 年 9 月产品动态
微服务引擎 MSE 及云原生 API 网关 2024 年 9 月产品动态。
|
3月前
|
缓存 Serverless API
函数计算产品使用问题之怎么通过API使用SD
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
3月前
|
消息中间件 运维 Serverless
函数计算产品使用问题之如何部署Stable Diffusion Serverless API
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
8天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 10 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
1月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 09 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
2月前
|
网络协议 API Windows
MASM32编程调用 API函数RtlIpv6AddressToString,windows 10 容易,Windows 7 折腾
MASM32编程调用 API函数RtlIpv6AddressToString,windows 10 容易,Windows 7 折腾
|
2月前
|
Cloud Native API
微服务引擎 MSE 及云原生 API 网关 2024 年 8 月产品动态
微服务引擎 MSE 及云原生 API 网关 2024 年 8 月产品动态。
|
1月前
|
IDE API 定位技术
Python--API编程:IP地址翻译成实际的物理地址
Python--API编程:IP地址翻译成实际的物理地址
|
2月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 08 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
3月前
|
JSON API 数据库
神秘编程力量来袭!Rails 究竟隐藏着怎样的魔力,能构建出强大的 RESTful API?快来一探究竟!
【8月更文挑战第31天】《构建 RESTful API:使用 Rails 进行服务端开发》介绍了如何利用 Ruby on Rails 框架高效构建可扩展的 RESTful API。Rails 采用“约定优于配置”,简化开发流程,通过示例展示了路由定义、控制器设计及模型层交互等内容,帮助开发者快速搭建稳定可靠的服务端。无论小型项目还是大型应用,Rails 均能提供强大支持,提升开发效率。
28 0