如何通过PHP语言实现远程控制多路照明
如何通过PHP语言实现远程控制多路照明呢?
本文描述了使用PHP语言调用HTTP接口,实现控制多路照明,通过多路控制器,可独立远程控制多路照明。
可选用产品:可根据实际场景需求,选择对应的规格
| 序号 | 设备名称 | 厂商 |
|---|---|---|
| 1 | 智能WiFi控制器8路[交流电压版] | 统软云物联 |
| 2 | 智能WiFi控制器4路[交流电压版] |
下面以每款产品为例,用编程实现远程:
1. 智能WiFi控制器8路[交流电压版]

提供8路交流10A输出,可接照明、电器等;
广泛应用于共享台球室、共享自习室、共享充电等场景;
同时提供8路开关量输出,可外接轻触开关;
8路分控,均可通过HTTP接口远程独立控制通断;
支持远程定时任务,支持自定义联动操作;
更多...
使用PHP语言调用HTTP接口控制智能WiFi控制器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','order' => '命令'
)));$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控制器4路[交流电压版]

提供4路交流10A输出,可接照明、电器等;
广泛应用于共享台球室、共享自习室、共享充电等场景;
同时提供4路开关量输出,可外接轻触开关;
4路分控,均可通过HTTP接口远程独立控制通断;
支持远程定时任务,支持自定义联动操作;
更多...
使用PHP语言调用HTTP接口控制智能WiFi控制器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','order' => '命令'
)));$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控制器8路[交流电压版] | 交流电压版 | 无 | 交流220V | 8路 |
带外置天线 | ||||
|
智能WiFi控制器4路[交流电压版] | 交流电压版 | 无 | 交流220V | 4路 |
带外置天线 |
产品尺寸与走线
1. 智能WiFi控制器8路[交流电压版]接线示意图
走线示意
* 接线前请确保断路器上的电源已关闭

2. 智能WiFi控制器4路[交流电压版]接线示意图
走线示意
* 接线前请确保断路器上的电源已关闭

相关文章:
如何通过PHP语言实现远程控制多路照明
如何通过PHP语言实现远程控制多路照明呢? 本文描述了使用PHP语言调用HTTP接口,实现控制多路照明,通过多路控制器,可独立远程控制多路照明。 可选用产品:可根据实际场景需求,选择对应的规格 序号设备名称厂…...
Capture One Pro 23:专业 Raw 图像处理的卓越之选
在当今的数字摄影时代,拥有一款强大的图像处理软件至关重要。而 Capture One Pro 23 for Mac/Win 无疑是其中的佼佼者,为摄影师和图像爱好者带来了前所未有的体验。 Capture One Pro 23 以其出色的 Raw 图像处理能力而闻名。它能够精准地解析和处理各种…...
【主题广泛|投稿优惠】2024年交通运输与信息科学国际会议(ICTIS 2024)
2024年交通运输与信息科学国际会议(ICTIS 2024) 2024 International Conference on Transportation and Information Science 【重要信息】 大会地点:青岛 大会官网:http://www.icictis.com 投稿邮箱:icictissub-conf.…...
表格误删数据保存关闭后如何恢复?5个恢复方法大公开!
“我在编辑表格的时候一不小心就删除了部分数据,现在真的不知道该怎么操作了。希望大家能帮帮我吧!” 在日常工作中,我们经常会使用到各种表格软件来处理和分析数据。然而,有时由于操作失误或其他原因,我们可能会误删表…...
Go 语言中的切片:灵活的数据结构
切片(slice)是 Go 语言中一种非常重要且灵活的数据结构,它提供了对数组子序列的动态窗口。这使得切片在 Go 中的使用非常频繁,特别是在处理动态数据集时。本文将探讨切片的概念、操作和与函数的交互,以及如何有效地使用…...
在鲲鹏服务器搭建k8s高可用集群分享
高可用架构 本文采用kubeadm方式搭建k8s高可用集群,k8s高可用集群主要是对apiserver、etcd、controller-manager、scheduler做的高可用;高可用形式只要是为: 1. apiserver利用haproxykeepalived做的负载,多apiserver节点同时工作…...
MySQL之数据库事务机制学习笔记(五)
事务机制 事务(Transaction)是数据库管理系统中的一个重要概念,它是一组数据库操作的逻辑单元,要么全部执行成功,要么全部执行失败,具有以下四个特性,通常缩写为 ACID: 原子性&…...
linux 系统被异地登录,cpu占用拉满100%
一般是kswapd0导致的cpu占用异常 按顺序执行以下操作 在控制台执行top命令,查看占用最高的是否kswapd0。基本100%占用。记下该进程ID 5081 执行查找命令 find / -name kswapd0 显示查找结果: /proc/3316/.X2c4-unix/.rsync/a/kswapd0 /root/.configrc…...
智慧校园应用平台的全面建设
在当今社会,随着科技的不断进步,智慧校园应用平台逐渐成为学校管理的必备工具。在实现智慧校园全面建设的过程中,学校需要运用先进的技术和创新的理念,为教育提供更好的服务和支持。这篇文章将为您介绍智慧校园应用平台的全面建设…...
图论第6天
提高效率!!!两道题看并查集 841.钥匙和房间 忘了把visited 加引用了:& class Solution { public:bool canVisitAllRooms(vector<vector<int>>& rooms) {vector<int>visited(rooms.size(),false);dfs(rooms,visited,0);for(int i 0;i …...
Redis教程(二十一):Redis怎么保证缓存一致性
传送门:Redis教程汇总篇,让你从入门到精通 Redis 的缓存一致性 Redis 的缓存一致性是指在使用 Redis 作为缓存层时,保证缓存中的数据与数据库中的数据保持一致的状态。在分布式系统中,数据一致性是一个重要的问题,因为可能存在多个客户端同时读写同一数据,或者数据在不同…...
android apk签名
android apk签名 命令: java -jar signapk.jar platform.x509.pem platform.pk8 **.apk ***.apk note: apk密钥为: platform.pk8和platform.x509.pem 路径: build\target\product\security apk签名工具:sign…...
flutter 解析json另类封装方式 List<bean>,哈哈哈
flutter 解析json另类封装方式,哈哈哈 日常学习,仅供参考,不喜 勿喷 http请求数据泛型解析封装,需要判断泛型数据类型再根据类型解析,本文只抽取了list演示 核心代码 import dart:convert;import package:webwsyn/h…...
哈希表(Hash table)
哈希表(Hash table),也称为散列表,是一种根据关键码值(Key value)直接进行访问的数据结构。它通过散列函数(Hash function)将关键码值映射到表中的一个位置,以此来访问记录,从而加快查找的速度。以下是关于哈希表的详细解释: 基本概念 散列函数:将关键码值映射到表…...
【c语言】自定义类型-结构体
结构体 结构体的声明与使用结构体的声明与初始化结构体的自引用 结构体的内存对齐对齐规则为什么存在内存对齐修改默认对齐数 结构体的传参结构体实现位段什么是位段位段的内存分配位段的跨平台问题位段使用的注意事项 结构体:是一个自定义的类型,成员可…...
2-链表-71-环形链表 II-LeetCode142
2-链表-71-环形链表 II-LeetCode142 参考:代码随想录 LeetCode: 题目序号142 更多内容欢迎关注我(持续更新中,欢迎Star✨) Github:CodeZeng1998/Java-Developer-Work-Note 技术公众号:CodeZeng1998&#…...
【UnityShader入门精要学习笔记】第十七章 表面着色器
本系列为作者学习UnityShader入门精要而作的笔记,内容将包括: 书本中句子照抄 个人批注项目源码一堆新手会犯的错误潜在的太监断更,有始无终 我的GitHub仓库 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 文章目录 表面着色器…...
Python社会经济 | 怀特的异方差一致估计量
🎯要点 🎯算法和模型底层数学及代码:🖊线性代数应用(主成分分析):降维、投影(用于求解线性系统)和二次形式(用于优化)| 🖊奇值分解…...
《被讨厌的勇气》笔记
自由就是被别人讨厌。对人而言,最大的不幸就是不喜欢自己。活在“如果怎样怎样”之类的假设之中,就根本无法改变。活在害怕关系破裂的恐惧之中,那是为他人而活的一种不自由的生活方式。人生是连续刹那,我们只能活在“此时此刻”。…...
Python爬虫协程批量下载图片
import aiofiles import aiohttp import asyncio import requests from lxml import etree from aiohttp import TCPConnectorclass Spider:def __init__(self, value):# 起始urlself.start_url value# 下载单个图片staticmethodasync def download_one(url):name url[0].spl…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...


