怎样用PHP语言实现远程控制三路开关

怎样用PHP语言实现远程控制三路开关呢?

本文描述了使用PHP语言调用HTTP接口,实现控制三路开关,三路开关可控制三路照明、排风扇等电器。

可选用产品:可根据实际场景需求,选择对应的规格
序号 设备名称 厂商
1 智能WiFi墙壁开关3路 统软云物联
2 智能WiFi触摸墙壁开关3路 统软云物联

下面以每款产品为例,用编程实现远程:

1. 智能WiFi墙壁开关3路

标准86型底盒安装,可直接平行替换原有墙壁开关;

可独立控制3路照明或其他电器;

3路分控,均可通过HTTP接口独立远程;

支持远程定时任务,支持自定义联动操作;

可保持(锁定)开关状态,用户操作后若干秒,恢复原有状态;

更多...


使用调用HTTP接口控制智能WiFi墙壁开关3路的代码

以设备控制(向设备下发命令)为例

全部接口文档复制

php 复制代码
<?php

$client = new http\Client;
$request = new http\Client\Request;

$body = new http\Message\Body;

$body->append(new http\QueryString(array(
	'device' => '设备ID',
	'order' => '命令'
)));
/*
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 线路1 - 可用值[1(开),0(关)]
   示例[关], order为:{"power1":"0"}
2. 线路2 - 可用值[1(开),0(关)]
   示例[关], order为:{"power2":"0"}
3. 线路3 - 可用值[1(开),0(关)]
   示例[关], order为:{"power3":"0"}
4. 1路状态保持 - 可用值[{"keep":"0","revert":"2"}(1路保持关(用户开2秒后自动关闭)),{"keep":"1","revert":"3"}(1路保持开(用户关3秒后自动打开))]
   示例[1路保持开(用户关3秒后自动打开)], order为:{"power1":{"keep":"1","revert":"3"}}
5. 2路状态保持 - 可用值[{"keep":"0","revert":"2"}(2路保持关(用户开2秒后自动关闭)),{"keep":"1","revert":"3"}(2路保持开(用户关3秒后自动打开))]
   示例[2路保持开(用户关3秒后自动打开)], order为:{"power2":{"keep":"1","revert":"3"}}
6. 3路状态保持 - 可用值[{"keep":"0","revert":"2"}(3路保持关(用户开2秒后自动关闭)),{"keep":"1","revert":"3"}(3路保持开(用户关3秒后自动打开))]
   示例[3路保持开(用户关3秒后自动打开)], order为:{"power3":{"keep":"1","revert":"3"}}
7. 1路先通后断 - 自定义
   示例[2s], order为:{"point1":"2000"}
8. 2路先通后断 - 自定义
   示例[2s], order为:{"point2":"2000"}
9. 3路先通后断 - 自定义
   示例[2s], order为:{"point3":"2000"}
10. 1路先断后通 - 自定义
    示例[2s], order为:{"reset1":"2000"}
11. 2路先断后通 - 自定义
    示例[2s], order为:{"reset2":"2000"}
12. 3路先断后通 - 自定义
    示例[2s], order为:{"reset3":"2000"}
*/

$request->setRequestUrl("http://iot-api.unisoft.cn/{APP_ID}/device/control/?sign={sign}&ts={ts}");
$request->setRequestMethod("POST");
$request->setBody($body);

$request->setHeaders(array(
  "X-APISpace-Token" => "",
  "Content-Type" => ""
));

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();

说明:{APP_ID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档

2. 智能WiFi触摸墙壁开关3路

更多...


使用调用HTTP接口控制智能WiFi触摸墙壁开关3路的代码

以设备控制(向设备下发命令)为例

全部接口文档复制

php 复制代码
<?php

$client = new http\Client;
$request = new http\Client\Request;

$body = new http\Message\Body;

$body->append(new http\QueryString(array(
	'device' => '设备ID',
	'order' => '命令'
)));
/*
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
*/

$request->setRequestUrl("http://iot-api.unisoft.cn/{APP_ID}/device/control/?sign={sign}&ts={ts}");
$request->setRequestMethod("POST");
$request->setBody($body);

$request->setHeaders(array(
  "X-APISpace-Token" => "",
  "Content-Type" => ""
));

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();

说明:{APP_ID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档

产品参数对比

产品 版本 额定功率 控制路数
###### 智能WiFi墙壁开关3路 ###### 白色 ###### 1000W / gang(单路) ###### 3路
###### 智能WiFi触摸墙壁开关3路 ###### 白色

产品尺寸与走线

1. 智能WiFi墙壁开关3路接线示意图

走线示意

* 接线前请确保断路器上的电源已关闭

2. 智能WiFi触摸墙壁开关3路接线示意图

走线示意

* 接线前请确保断路器上的电源已关闭
相关推荐
JaguarJack5 小时前
为什么 PHP 闭包要加 static?
后端·php·服务端
ServBay1 天前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户962377954481 天前
CTF 伪协议
php
BingoGo4 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack4 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo5 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack5 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack6 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo6 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack7 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel