命令行 控制 易微联 wifi通断器

news2024/11/28 0:46:11

有个设备需要远程控制开关,最简单的方式就是通过一直在线运行的 Pi,进行命令行控制智能开关。

1、材料准备

找个最便宜的智能开关,话说易微联的做的真是便宜,销售量也很大。

这种 网上叫 Wifi通断器,或者智能开关,十几块钱就可以买到。

自己接入插头和插线板,效果如下:

 线是两芯的,后期如果对接地有要求只有再换线。

2、配置2.4Gwifi用户密码

插上电后,通断器有个指示灯,在黑色小按钮的旁边。

按照说明书所说:


通电后,设备首次使用,默认进入快速配网模式(Touch)。Wi-Fi指示灯呈“两短一⻓闪烁”。
三分钟内没有进行配网,设备将退出快速模式。如需再次进入,⻓按配对按钮5秒直到Wi-Fi 指示灯呈两短一⻓闪烁即可。
此为蓝牙配对并配置模式。

兼容配网模式
如使用快速添加模式配网失败,请使用“兼容模式”进行配对。
1 长按配对按钮5秒直到Wi-Fi指示灯呈“两短一长闪烁”状态,松开。再次长按配对按钮
5秒直到Wi-Fi指示灯呈“快闪”状态,此时设备进入兼容模式。 2 在app界面,点击“+”,选择“兼容模式”。
先把移动设备连接上Wi-Fi账号为:ITEAD-******,密码为:12345678   *****就是设备id
此为wifi模式

连接上以后,设备地址为 10.10.7.1

蓝牙方式,安卓手机可以发现和配对,但是iphone和macbook无法发现,最简单就用兼容配网模式。

长按5秒,进入两短一长闪烁,再长按5秒,进入快闪。

此时,用浏览器访问 http://10.10.7.1/ 可以出现 sonoff的wifi配置界面,由于这个通断器只支持2.4GWifi,因此要配置2.4G无线网的用户密码。

同时可以查询设备id,浏览器访问 http://10.10.7.1/device,会返回

{"deviceid":"10013*****","apikey":"b6*-*-*-*7a","chipid":"B4E8*6AEC","accept":"post"}
其中 chipid,就是该设备网络的mac地址,deviceid很重要,需要复制下来待用。

3、命令行操作

环境为 zsh,其他shell类似。

首先找到该设备ip地址,通过路由器或者扫描等,方法很多。我找到的地址是192.168.1.12,就以此为例,下文不做修改了。

3.1获取设备信息

curl -X POST "http://192.168.1.12:8081/"

返回的json字符串不好看,可以在其他工具里格式化一下,下文都是格式化过的。

{
	"id": "urn:dev:ops:eWeLink_",
	"title": "eWeLink_",
	"@context": "https://iot.mozilla.org/schemas",
	"properties": {
		"dispUrl": {
			"type": "string",
			"title": "Dispatch Server",
			"description": "The address of the dispatch server",
			"links": [
			{
				"rel": "property",
				"href": "/properties/dispUrl"
			}
			]
			},
			"apikey": {
				"type": "string",
				"title": "apikey",
				"description": "The apikey of the device",
				"readOnly": "true",
				"links": [
				{
					"rel": "property",
					"href": "/properties/apikey"
				}
				]
			}
			},
			"description": "A wifi gate",
			"base": "http://eWeLink_.local:8081/",
			"securityDefinitions": {
				"nosec_sc": {
					"scheme": "nosec"
				}
				},
				"security": "nosec_sc"
			}
		}
	}
}

3.2获取设备状态

curl -H "Content-Type: application/json" -X POST -d '{"deviceid":"10013***","data":{}}' http://192.168.1.12:8081/zeroconf/info

返回的json结果有4个开关,尽管物理上只有一个开关接线桩,但是软件兼容4个的。

{
	"seq": 2,
	"error": 0,
	-"data": {
		-"switches": [
		-{
			"switch": "off",
			"outlet": 0
		},
		-{
			"switch": "off",
			"outlet": 1
		},
		-{
			"switch": "off",
			"outlet": 2
		},
		-{
			"switch": "off",
			"outlet": 3
		}
		],
		-"configure": [
		-{
			"startup": "off",
			"outlet": 0
		},
		-{
			"startup": "off",
			"outlet": 1
		},
		-{
			"startup": "off",
			"outlet": 2
		},
		-{
			"startup": "off",
			"outlet": 3
		}
		],
		-"pulses": [
		-{
			"pulse": "off",
			"switch": "on",
			"outlet": 0,
			"width": 0
		},
		-{
			"pulse": "off",
			"switch": "on",
			"outlet": 1,
			"width": 0
		},
		-{
			"pulse": "off",
			"switch": "on",
			"outlet": 2,
			"width": 0
		},
		-{
			"pulse": "off",
			"switch": "on",
			"outlet": 3,
			"width": 0
		}
		],
		"sledOnline": "on",
		"fwVersion": "1.0.0",
		"rssi": -42,
		"bssid": "cc:29:bd:6:d9:30"
	}
}

3.3 设置开关

curl -H "Content-Type: application/json" -X POST -d '{"deviceid":"10013***","data": {"switches": [{"switch": "on", "outlet": 0 }, {"switch": "off", "outlet": 1 }, {"switch": "off", "outlet": 2 }, {"switch": "off", "outlet": 3 } ] } }' http://192.168.1.12:8081/zeroconf/switches

curl -H "Content-Type: application/json" -X POST -d '{"deviceid":"10013**","data": {"switches": [{"switch": "off", "outlet": 0 }, {"switch": "off", "outlet": 1 }, {"switch": "off", "outlet": 2 }, {"switch": "off", "outlet": 3 } ] } }' http://192.168.1.12:8081/zeroconf/switches


或者数组中只写1个开关的控制,单个开关也可以
curl -H "Content-Type: application/json" -X POST -d '{"deviceid":"10013**","data": {"switches": [{"switch": "on", "outlet": 0 } ] } }' http://192.168.1.12:8081/zeroconf/switches

curl -H "Content-Type: application/json" -X POST -d '{"deviceid":"10013**","data": {"switches": [{"switch": "off", "outlet": 0 } ] } }' http://192.168.1.12:8081/zeroconf/switches

返回的json结果中,只要"error":0 即表示执行成功,也可以直接查看插线板的指示灯,开关控制的时候,会有继电器开合的声音,指示灯会根据on/off 切换 亮/灭。

其他还有一些命令,参照上文执行即可。

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

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

相关文章

使用ALLpairs完成正交表测试法练习题

该实验报告需要完成如下三个正交表测试法练习题 1、为了测试一个游戏软件的安装过程,需要考虑如下因素: (1) 操作系统: win2008、win7、win10、RedHat、Linux (2) 杀毒软件:瑞星、卡巴斯基、诺顿、江民、360 杀毒 (3) 数据库: oracle10g、SQLServer200…

五一劳动节前 特辑 ,路上那些车不能碰 你赔不起系列

相信明天大家4月29日都上了高速,都奔赴自己今年第一个想去的地方,那么上了高速,见的车辆就多了,哪些车辆我们要明白,尽量不要去碰,或者看见进行 技术性躲避,因为碰一下,半套房没了&a…

Pytorch2 如何通过算子融合和 CPU/GPU 代码生成加速深度学习

动动发财的小手,点个赞吧! PyTorch 中用于图形捕获、中间表示、运算符融合以及优化的 C 和 GPU 代码生成的深度学习编译器技术入门 计算机编程是神奇的。我们用人类可读的语言编写代码,就像变魔术一样,它通过硅晶体管转化为电流&a…

大二一个学期学这么点内容,没有概念,只有实操

如何查看所有的数据库: Show databases; 如何进入某个数据库: use xxx; 如何新进数据库: Create database jx; 如何删除数据库: Drop database jx; 如何查看所有的表格: Show tables; 如何创建数据表&#xf…

Segmentation of retinal vessels based on MRANet

随手把一篇论文的创新部分抽取出来 MLF 为了更好地聚合每一层的上采样特征信息和MSR块的信息,在解码路径中使用了MLF块,这允许最大限度地重用功能,从而减少细节的损失。MLF块的结构如图2所示。 如图2所示,有两种输入:input1和inp…

直接攻击,越狱攻击,道德攻击……这样做,ChatGPT 就会泄漏你的隐私

夕小瑶科技说 原创作者 | 小戏 大模型的出现让我们的隐私比以往任何时候都危险。 一个很直观的例子,在大模型向黑洞一样不断吞噬现有网络中的文本数据之时,伴随着模型训练的文本数量从 GPT-2 的 40GB 文本到 GPT-3 的 45TB 文本,我们可以非常…

郑哲:学习、应用初探与探索创新 | 提升之路系列(四)

导读 为了发挥清华大学多学科优势,搭建跨学科交叉融合平台,创新跨学科交叉培养模式,培养具有大数据思维和应用创新的“π”型人才,由清华大学研究生院、清华大学大数据研究中心及相关院系共同设计组织的“清华大学大数据能力提升项…

python中snap-stanford指导手册(主要用于做图网络)

文章目录 RequirementSnap操作手册Basic TypesVector TypesHash Table TypesPair TypesGraph and Networks Types(graph和network类型)Node and Edge Operation Requirement 需要提前安装用于操作图网络的snap库,这个库中有很多现成的图数据…

物联网平台:一文读懂什么是物模型

文章目录 一、什么是物模型二、标准参数(1)标准参数的意义 三、物模型字段详细说明(1)物模型的每个属性包含以下字段(2)物模型的每个方法包含以下字段(3)物模型的每个事件包含以下字…

【Python】【进阶篇】15、如何启动Django项目详解

目录 如何启动Django项目详解1. 启动项目并实现访问1) 启动项目命令介绍2) manage.py文件子命令 如何启动Django项目详解 我们使用 django-admin 命令成功创建项目后,我们要如何启动这个项目呢?本节的学习目标是能够通过本地回送地址 127.0.0.1 成功访问…

第十一章 Transform组件(上)

本章节我们介绍Transform类,它是一个组件,每一个游戏对象有拥有该组件。因此,它值得我们重点介绍一下。Transform代表了游戏对象的世界变换,也就是移动,选择和缩放。 首先,我们先介绍它的属性(…

Linux Ansible角色介绍

目录 角色的基础结构 角色来源与应用 Galaxy角色 系统角色 自定义角色 角色(roles)用于层次化、结构化地组织playbookroles通过标准化目录结构来装载变量文件、tasks(模块任务)、handlers(处理程序)、…

标准ACL配置

标准ACL配置 【实验目的】 掌握标准ACL的配置。 验证配置。 【实验拓扑】 实验拓扑如图1所示。 图1 实验拓扑 设备参数如表所示。 表1 设备参数表 设备 接口 IP地址 子网掩码 默认网关 R1 S0/3/0 192.168.1.1 255.255.255.252 N/A Gi0/0/0 192.168.2.1 255.…

大数据分析利器之Power BI,你是否已经掌握?(文末送书)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

【校招VIP】IT职位校招简历千万不要用两栏的模板,另外,告诉你个陷阱:越个性机会越少

前两天在简历指导的直播里,发现了不应该出现的一种简历格式问题。 有的同学喜欢用那种竖栏两栏的简历模板。 我们建议研发岗的校招,简历不要这么去写。 因为两栏的话,实际上有一个很大的问题。 因为简历上需要写项目经历,需要写…

你最关心的4个零代码问题,ChatGPT 帮你解答了!

作为人工智能(AI)新型聊天机器人模型 ChatGPT,刚上线5天就突破100万用户,两个多月全球用户量破亿,不愧为业界最炙热的当红炸子鸡。 ChatGPT 是一种语言生成模型,由 OpenAI 开发和训练。它是基于 Transform…

C语言函数大全-- s 开头的函数(1)

C语言函数大全 本篇介绍C语言函数大全-- s 开头的函数(1) 1. sbrk 1.1 函数说明 函数声明函数功能void *sbrk(intptr_t increment);它是一个 Unix 系统的函数,用于调整程序的堆空间。 参数: increment : 增加的堆空…

机器学习算法系列(五)-- 支持向量机(SVM)

机器学习算法系列之–支持向量机(揭开SVM的神秘面纱) 支持向量机(Support Vector Machine :SVM):二分类算法模型,数据集较小时,分类效果甚至优于神经网络。 其最大的特点在于&#x…

C++ muduo日志库的使用

muduo日志库的使用 一、引用二、使用方法2.1、引入头文件2.2、 启动日志库2.3、记录日志2.4、输出格式2.5、日志滚动 三、总结 一、引用 muduo是一个高性能的网络库,它的日志库采用了异步、多线程的方式来记录日志,其主要特点包括: 能够按大…

使用Pano2VR实现全景图切换和平面图效果

内容简介 本文在文章《使用Pano2VR实现背景音乐、放大/缩小、旋转、缩略图和直线/立体/鱼眼模式等》基础上,增加全景图切换和平面图效果;效果如下图(为了可以上传缩小屏幕,属于PC端运行): 实现过程 1. 运行…