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

有个设备需要远程控制开关,最简单的方式就是通过一直在线运行的 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 切换 亮/灭。

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

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值