如何通过PHP语言实现远程控制多路照明呢?
本文描述了使用PHP语言调用HTTP接口,实现远程控制多路照明,通过多路控制器,可独立远程控制多路照明。
可选用产品:可根据实际场景需求,选择对应的规格
序号 | 设备名称 | 厂商 |
---|---|---|
1 | 智能控制器8路|交流电压版 | 友友物联 |
2 | 智能控制器4路|交流电压版 |
下面以每款产品为例,用PHP语言编程实现远程控制多路照明:
1. 智能控制器8路|交流电压版
提供8路交流10A输出,可接照明、电器等;
广泛应用于共享自习室、共享设备改造等场景;
同时提供8路开关量信号输入,可外接轻触开关;
8路分控,均可通过HTTP接口远程独立控制通断;
支持远程定时任务,支持自定义联动操作;
使用PHP语言调用HTTP接口控制智能控制器8路|交流电压版的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
/*
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. 线路4 - 可用值[1(通),0(断)]
示例[断], order为:{"power4":"0"}
5. 线路5 - 可用值[1(通),0(断)]
示例[断], order为:{"power5":"0"}
6. 线路6 - 可用值[1(通),0(断)]
示例[断], order为:{"power6":"0"}
7. 线路7 - 可用值[1(通),0(断)]
示例[断], order为:{"power7":"0"}
8. 线路8 - 可用值[1(通),0(断)]
示例[断], order为:{"power8":"0"}
9. 批量控制 - 可用值[{"power":1}(全开),{"power":0}(全关),{"relay":[1,3,5,7],"power":1}(线路1|3|5|7开),{"relay":[1,3,5,7],"power":0}(线路1|3|5|7关),{"relay":[2,4,6,8],"power":1}(线路2|4|6|8开),{"relay":[2,4,6,8],"power":0}(线路2|4|6|8关)]
示例[线路1|3|5|7关], order为:{"batch":{"relay":[1,3,5,7],"power":0}}
10. 先通后断 - 可用值[{"interval":500}(500毫秒,全部线路),{"relay":[1,3,5,7],"interval":1000}(1秒,线路1|3|5|7),{"relay":[2,4,6,8],"interval":2000}(2秒,线路2|4|6|8)]
示例[1秒,线路1|3|5|7], order为:{"point":{"relay":[1,3,5,7],"interval":1000}}
11. 先断后通 - 可用值[{"interval":500}(500毫秒,全部线路),{"relay":[1,3,5,7],"interval":1000}(1秒,线路1|3|5|7),{"relay":[2,4,6,8],"interval":2000}(2秒,线路2|4|6|8)]
示例[1秒,线路1|3|5|7], order为:{"reset":{"relay":[1,3,5,7],"interval":1000}}
*/
$body->append(new http\QueryString(array(
'device' => '设备ID', //设备ID为设备的唯一ID,可以设备外壳或控制台查看
'order' => '命令' //数组,对应设备的命令
)));
//AppID为开发者ID,AppSecret为开发者密码
//请在控制台的“开发设置”中查看和设置
$ts = time();
$sign = md5(md5('AppSecret') . $ts);
$request->setRequestUrl("https://api.yoyoiot.cn/{AppID}/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();
说明:{AppID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
2. 智能控制器4路|交流电压版
提供4路交流10A输出,可接照明、电器等;
广泛应用于共享自习室、共享设备改造等场景;
同时提供4路开关量信号输入,可外接轻触开关;
4路分控,均可通过HTTP接口远程独立控制通断;
支持远程定时任务,支持自定义联动操作;
使用PHP语言调用HTTP接口控制智能控制器4路|交流电压版的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
/*
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. 线路4 - 可用值[1(通),0(断)]
示例[断], order为:{"power4":"0"}
5. 批量控制 - 自定义
示例[线路1|3关], order为:{"batch":{"relay":[1,3],"power":0}}
6. 先通后断 - 自定义
示例[1秒,线路1|3], order为:{"point":{"relay":[1,3],"interval":1000}}
7. 先断后通 - 自定义
示例[1秒,线路1|3], order为:{"reset":{"relay":[1,3],"interval":1000}}
*/
$body->append(new http\QueryString(array(
'device' => '设备ID', //设备ID为设备的唯一ID,可以设备外壳或控制台查看
'order' => '命令' //数组,对应设备的命令
)));
//AppID为开发者ID,AppSecret为开发者密码
//请在控制台的“开发设置”中查看和设置
$ts = time();
$sign = md5(md5('AppSecret') . $ts);
$request->setRequestUrl("https://api.yoyoiot.cn/{AppID}/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();
说明:{AppID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
产品参数对比
产品 / 版本 参数 | 智能控制器8路|交流电压版 | 智能控制器4路|交流电压版 | ||
---|---|---|---|---|
内置天线 | 外置天线 | 内置天线 | 外置天线 | |
外壳材质 | 塑料 | 塑料 | 塑料 | 塑料 |
产品尺寸 | 宽:125mm;长:90mm;厚:40mm | 宽:125mm;长:90mm;厚:40mm | 宽:95mm;长:90mm;厚:35mm | 宽:95mm;长:90mm;厚:35mm |
产品净重 | 258g | 258g | 167g | 167g |
产品颜色 | 浅灰色 | 浅灰色 | 浅灰色 | 浅灰色 |
控制路数 | 8路 | 8路 | 4路 | 浅灰色 |
工作电压 | AC 85-265V(交流 / 市电) | AC 85-265V(交流 / 市电) | AC 85-265V(交流 / 市电) | AC 85-265V(交流 / 市电) |
额定电流 | MAX 10A / gang(路) | MAX 10A / gang(路) | MAX 10A / gang(路) | MAX 10A / gang(路) |
负载功率 | MAX 4400W[阻性负载] / 700W[感性负载] 单独每路输出负载最大不超过2200W[阻性负载] / 350W[感性负载] 全接通时的总负载不得超过4400W[阻性负载] / 700W[感性负载] | MAX 4400W[阻性负载] / 700W[感性负载] 单独每路输出负载最大不超过2200W[阻性负载] / 350W[感性负载] 全接通时的总负载不得超过4400W[阻性负载] / 700W[感性负载] | MAX 4400W[阻性负载] / 700W[感性负载] 单独每路输出负载最大不超过2200W[阻性负载] / 350W[感性负载] 全接通时的总负载不得超过4400W[阻性负载] / 700W[感性负载] | MAX 4400W[阻性负载] / 700W[感性负载] 单独每路输出负载最大不超过2200W[阻性负载] / 350W[感性负载] 全接通时的总负载不得超过4400W[阻性负载] / 700W[感性负载] |
待机功耗 | 0.4(全断) - 1(全通 / 无负载)W | 0.4(全断) - 1(全通 / 无负载)W | 0.4(全断) - 1(全通 / 无负载)W | 0.4(全断) - 1(全通 / 无负载)W |
无线连接 | WiFi IEEE 802.11 b / g / n 2.4GHz | WiFi IEEE 802.11 b / g / n 2.4GHz | WiFi IEEE 802.11 b / g / n 2.4GHz | WiFi IEEE 802.11 b / g / n 2.4GHz |
产品外壳 | 防火V0级PC,耐高温,符合安规标准 | 防火V0级PC,耐高温,符合安规标准 | 防火V0级PC,耐高温,符合安规标准 | 防火V0级PC,耐高温,符合安规标准 |
包装清单 | 智能控制器*1 | 智能控制器*1 | 智能控制器*1 | 智能控制器*1 |
产品尺寸与走线
1. 智能控制器8路|交流电压版接线示意图
走线示意
* 接线前请确保断路器上的电源已关闭
2. 智能控制器4路|交流电压版接线示意图