如何通过PHP语言实现远程控制空调

news2024/12/26 21:17:43

如何通过PHP语言实现远程控制空调呢?

本文描述了使用PHP语言调用HTTP接口,实现控制空调,通过不同规格的通断器,来控制不同功率的空调的电源。

可选用产品:可根据实际场景需求,选择对应的规格
序号设备名称厂商
1智能WiFi墙壁插座16A统软云物联
2智能WiFi通断器AC4-20A
3智能WiFi通断器AC4-30A

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

1. 智能WiFi墙壁插座16A

标准86型底盒安装,可直接平行替换原有16A墙壁插座;
1位3孔,额定功率3500W;
可接2匹内空调插头;
按钮动作可自定义、可屏蔽;
功率计量版实时上报计量数据;
HTTP接口远程控制通断;
支持远程定时任务,支持自定义联动操作;

更多...


使用调用HTTP接口控制智能WiFi墙壁插座16A的代码
以设备控制(向设备下发命令)为例

全部接口文档复制

<?php

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

$body = new http\Message\Body;

/*
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 线路 - 可用值[1(打开),0(关闭)]
   示例[关闭], order为:{"power":"0"}
2. 计量 - 可用值[1(打开),0(关闭)]
   示例[关闭], order为:{"metering":"0"}
3. 先通后断 - 自定义
   示例[3秒], order为:{"point":"3000"}
4. 先断后通 - 自定义
   示例[3秒], order为:{"reset":"3000"}
*/
$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通断器AC4-20A

总额定功率4400W;
按钮动作可自定义、可屏蔽;
HTTP接口远程控制通断;
支持远程定时任务,支持自定义联动操作;

更多...


使用调用HTTP接口控制智能WiFi通断器AC4-20A的代码
以设备控制(向设备下发命令)为例

全部接口文档复制

<?php

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

$body = new http\Message\Body;

/*
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 线路 - 可用值[1(打开),0(关闭)]
   示例[关闭], order为:{"power":"0"}
2. 先通后断 - 自定义
   示例[3秒], order为:{"point":"3000"}
3. 先断后通 - 自定义
   示例[3秒], order为:{"reset":"3000"}
*/
$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的取值,请参考文档。

3. 智能WiFi通断器AC4-30A

总额定功率6600W;
按钮动作可自定义、可屏蔽;
HTTP接口远程控制通断;
支持远程定时任务,支持自定义联动操作;

更多...


使用调用HTTP接口控制智能WiFi通断器AC4-30A的代码
以设备控制(向设备下发命令)为例

全部接口文档复制

<?php

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

$body = new http\Message\Body;

/*
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 线路 - 可用值[1(打开),0(关闭)]
   示例[关闭], order为:{"power":"0"}
2. 先通后断 - 自定义
   示例[3秒], order为:{"point":"3000"}
3. 先断后通 - 自定义
   示例[3秒], order为:{"reset":"3000"}
*/
$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墙壁插座16A
不带功率计量
标准86型底盒安装
3500W
带功率计量
标准86型底盒安装
3500W

产品参数对比

产品版本

智能WiFi通断器AC4-20A
20A

智能WiFi通断器AC4-30A
白色

产品尺寸与走线

1. 智能WiFi墙壁插座16A接线示意图

走线示意

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

2. 智能WiFi通断器AC4-20A接线示意图

产品尺寸

3. 智能WiFi通断器AC4-30A接线示意图

产品尺寸

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1662090.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go实现树莓派I2C读取SHT30温度湿度传感器

简介 树莓派其实本身包含很多资源引脚&#xff0c; 合理利用其实可以自制智能家居的一部分&#xff0c;本身硬件和Linux系统等高级语言支持加生态&#xff0c; 不说了&#xff0c; 做就好了… I2C 功能开启 参考之前的文章就可以了 Go实现树莓派读取bh1750光照强度 查看I2C总…

linux性能监控之top

说完了atop和htop&#xff0c;我们在来说说Linux自带的top&#xff0c;我们先看看命令效果&#xff1a; 可以看到是一个实时的系统监控工具&#xff0c;提供了一个动态的、交互式的实时视图&#xff0c;显示系统的整体性能信息以及正在运行的进程的相关信息。 我们先来解析下命…

重学java 35.API 6.包装类

心有所念&#xff0c;必有所灵 —— 24.5.10 一、基本数据类型对应的引用数据类型(包装类) 1概述 就是基本类型所对应的类&#xff08;包装类&#xff09;&#xff0c;我们需要将基本类型转为包装类&#xff0c;从而让基本类型拥有类的特性&#xff08;是基本类型可以使用包装类…

聊聊ChatGPT:智能语言模型背后的原理

目录 1. ChatGPT的基础&#xff1a;GPT模型 2. 预训练与微调&#xff1a;让模型更加智能 2.1 预训练 2.2 微调 3. 多样化的应用场景 4. 未来的展望 5. 结语 在当今的人工智能领域&#xff0c;OpenAI的ChatGPT无疑是一个炙手可热的话题。它不仅能流畅地进行对话&#xff…

Databend 开源周报第 143 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 了解 Databend …

工控组态技术:实现工业自动化控制的重要手段

体验地址&#xff1a;by组态[web组态插件] 工控组态技术是一种应用于工业自动化控制领域的重要技术&#xff0c;它通过将各种不同的硬件设备和软件系统进行组合和配置&#xff0c;实现了工业生产过程的自动化控制和优化。 随着工业技术的不断发展和进步&#xff0c;工控组态技…

解锁Spring Cloud Gateway与Nginx最強配置,构建未来网络高速公路!(下)

文章目录 5. 监控与日志5.1 Nginx访问日志与错误日志配置访问日志配置错误日志配置 5.2 Spring Cloud Gateway的日志记录与监控集成日志记录监控集成微服务监控 6. 故障排查与常见问题6.1 配置错误常见原因与解决语法错误监听端口冲突路由规则不匹配 6.2 性能瓶颈识别与优化建议…

Navicat Data Modeler Ess for Mac:强大的数据库建模设计软件

Navicat Data Modeler Ess for Mac是一款专为Mac用户设计的数据库建模与设计工具&#xff0c;凭借其强大的功能和直观的界面&#xff0c;帮助用户轻松构建和管理复杂的数据库模型。 Navicat Data Modeler Ess for Mac v3.3.17中文直装版下载 这款软件支持多种数据库系统&#x…

OmniPlan Pro 4 for Mac中文激活版:项目管理的新选择

OmniPlan Pro 4 for Mac作为一款专为Mac用户设计的项目管理软件&#xff0c;为用户提供了全新的项目管理体验。其直观易用的界面和强大的功能特性&#xff0c;使用户能够轻松上手并快速掌握项目管理要点。 首先&#xff0c;OmniPlan Pro 4 for Mac支持自定义视图&#xff0c;用…

鸿蒙内核源码分析(VFS篇) | 文件系统和谐共处的基础

基本概念 | 官方定义 VFS&#xff08;Virtual File System&#xff09;是文件系统的虚拟层&#xff0c;它不是一个实际的文件系统&#xff0c;而是一个异构文件系统之上的软件粘合层&#xff0c;为用户提供统一的类Unix文件操作接口。由于不同类型的文件系统接口不统一&#x…

开源相机管理库Aravis例程学习(七)——chunk-parser

开源相机管理库Aravis例程学习&#xff08;七&#xff09;——chunk-parser 简介例程代码函数说明arv_camera_create_chunk_parserarv_camera_set_chunksarv_chunk_parser_get_integer_value 简介 本文针对官方例程中的&#xff1a;05-chunk-parser做简单的讲解。并介绍其中调…

钓场是怎么收费看时间的,钓鱼钓虾计时计费管理系统软件

钓场是怎么收费看时间的&#xff0c;钓鱼钓虾计时计费管理系统软件 一、前言 以下软件操作教程以&#xff0c;佳易王钓场计时计费管理软件为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 佳易王钓场计时计费管理软件&#xff0c;支持百人或千人…

sql-labs通关详解(1-10)

1.less-1 1.判断类型 由此判断是字符型漏洞由单引号闭合。 2.判断 字段个数 http://192.168.190.145/sqli-labs/Less-1/?id1 order by 3-- 3.获取数据库名 -1 union select 1,2,database()-- 4.获取表名 -1 union select 1,2,group_concat(table_name) from information_…

权限束缚术--权限提升你需要知道这些

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文主要对渗透测试中权限提升的一些基础知识进行整理 并不包含权限提升的具体操作 适合要入门权限提升的朋友 提权的重要性 我们在渗透网站时&#xff0c;我们往往会拿到一些权限&#xff0c;但是我们的权限有…

目标检测算法YOLOv7简介

YOLOv7由Chien-Yao Wang等人于2022年提出&#xff0c;论文名为&#xff1a;《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors》&#xff0c;论文见&#xff1a;https://arxiv.org/pdf/2207.02696 &#xff0c;项目网页&#xff…

HC-05的简介与使用

蓝牙概述 蓝牙&#xff08;Bluetooth&#xff09;是一种用于无线通信的技术标准&#xff0c;允许设备在短距离内进行数据交换和通信。它是由爱立信&#xff08;Ericsson&#xff09;公司在1994年推出的&#xff0c;以取代传统的有线连接方式&#xff0c;使设备之间能够实现低功…

Ansible-Playbook通过role角色部署Lnmp架构

目录​​​​​​​ 一、配置Nginx的Roles角色 1.1编写files/default.conf 1.2编写files/nginx.repo 1.3编写handlers/main.yml 1.4编写tasks/main.yml文件 1.5编写vars/main.yml文件 1.6测试运行结果&#xff0c;并不是真的执行任务 二、配置Mysql的Roles角色 2.1编写…

vue-fontawesome-elementui-icon-picker选择icon框架

第一步&#xff1a;安装vue-fontawesome-elementui-icon-picker依赖 npm install vue-fontawesome-elementui-icon-picker --save-dev 第二步&#xff1a;main.js配置 (放在element ui引入之后) import iconPicker from vue-fontawesome-elementui-icon-picker; Vue.use(ico…

day2_greedyIntervalsLRU/LFU

二、贪心算法之区间调度问题 0.计算一个区间集合中无重复的区间的最大数量(模板) public int intervalSchedule(int[][] intvs) {if (intvs.length 0) return 0;// 按 end 升序排序Arrays.sort(intvs, (a, b) -> Integer.compare(a[1], b[1]));// 至少有一个区间不相交in…

Web3 Tools - Base58

Base58编码 Base58编码是一种用于表示数字的非常见的编码方法。它通常用于加密货币领域&#xff0c;例如比特币和其他加密货币的地址表示。 什么是Base58编码&#xff1f; Base58编码是一种将数字转换为人类可读形式的编码方法。与常见的Base64编码不同&#xff0c;Base58编码…