命令行控制

插座电源控制:

root@OpenWrt:/sys/class/leds# echo 0 > /sys/class/leds/tp-link:blue:relay/brightness
root@OpenWrt:/sys/class/leds# echo 1 > /sys/class/leds/tp-link:blue:relay/brightness

插座小夜灯控制:

echo 0 > /sys/class/leds/i-konke:yellow:light/brightness
echo 1 > /sys/class/leds/i-konke:yellow:light/brightness

插座USB口控制:

echo 0 > /sys/class/leds/i-konke:green:usb/brightness
echo 0 > /sys/class/leds/i-konke:green:usb/brightness

插座USB口定时设置:

/etc/dropbear/accessory/timer/online
格式:
1022 y 2017-07-03-19:00:00 y 2017-07-03-04:10:00 y 2,3,4,5,6 usb

 

网页控制-无控制面板

新增json.cgi
切换到www/cgi-bin目录,新增json.cgi

cd /www
mkdir cgi-bin
cd cgi-bin
vi json.cgi

!/bin/sh
echo “Content-Type: application/javascript”

echo “Cache-Control: no-cache, must-revalidate”

echo “Expires: Sat, 26 Jul 1997 05:00:00 GMT”

echo

VERSION=0.0.1

RELAY_CTRL=/sys/class/leds/tp-link:blue:relay/brightness

TIMINGS=tail -n+3 /etc/online.txt | sed ':a;N;$!ba;s/n/","/g'

IP_ADDRESS=ifconfig wlan0 | sed ':a;N;$!ba;s/n/","/g' | grep -E -o '[0-9]+.[0-9]+.[0-9]+.[0-9]+' | head -n 1

get=$(echo "$QUERY_STRING” | sed -n ‘s/^.get=(1).*$/1/p’ | sed “s/%20/ /g”)

set=$(echo "$QUERY_STRING” | sed -n ‘s/^.set=(1).*$/1/p’ | sed “s/%20/ /g”)

callback=$(echo "$QUERY_STRING” | sed -n ‘s/^.callback=(1).*$/1/p’ | sed “s/%20/ /g”)

case “$get” in

state)

case "`cat $RELAY_CTRL`" in

0) echo "$callback({"state":"off"})"

;;

1) echo "$callback({"state":"on"})"

;;

esac
;;

timing)

echo "$callback({"timings":["$TIMINGS"]})"
;;

esac

case “$set” in

on)

echo 1 > $RELAY_CTRL

echo "$callback({"ok":true})"
;;

off)

echo 0 > $RELAY_CTRL

echo "$callback({"ok":true})"
;;

esac

if [ -z “$get" ] && [ -z "$set” ]; then

echo “$callback({"info":{"name":"kankun-json","version":"$VERSION","ipAddress":"$IP_ADDRESS"},"links":{"meta":{"state":"http://$IP_ADDRESS/cgi-bin/json.cgi?get=state","timing":"http://$IP_ADDRESS/cgi-bin/json.cgi?get=timing"},"actions":{"on":"http://$IP_ADDRESS/cgi-bin/json.cgi?set=on","off":"http://$IP_ADDRESS/cgi-bin/json.cgi?set=off"}}})”

fi

设置权限:

chmod -R 0755 /www/
chmod +x /www/cgi-bin/json.cgi

接着在浏览器中访问:
http://ip/cgi-bin/json.cgi
如果出现以下提示代表json.cgi安裝成功。

网页控制-控制面板1

下载dash面板到插座中

链接: https://pan.baidu.com/s/1xzW8mIDEItPotaNXcamPwg?pwd=qxh9 提取码: qxh9
把下载的文件通过scp上传到插座的/www/目录中,

chmod +x /www/cgi-bin/*
然后修改switches.json中的插座地址:

接下来,直接在浏览器中访问,即可出现dash页面,可以随意控制插座开关。

 

API控制

创建relay.cgi 用网页界面切换小K的 on / off
首先登陆小K智能插座:

cd /www
mkdir cgi-bin
cd cgi-bin
vi relay.cgi

!/bin/sh
echo “Content-Type: text/plain”
echo “Cache-Control: no-cache, must-revalidate”
echo “Expires: Sat, 26 Jul 1997 05:00:00 GMT”
echo

RELAY_CTRL=/sys/class/leds/tp-link:blue:relay/brightness

case “$QUERY_STRING” in
state)
case “cat $RELAY_CTRL” in
0) echo “OFF”
;;
1) echo “ON”
;;
esac
;;
on)
echo 1 > $RELAY_CTRL
echo ON OK
;;
off)
echo 0 > $RELAY_CTRL
echo OFF OK
;;
esac

接下来修改一下目录权限。
chmod -R 0755 /www/
chmod +x /www/cgi-bin/relay.cgi
接下来你可以去用网页浏览器简单控制小K on & off 了。如需远程控制自行映射到外网即可。
打开 http://ip/cgi-bin/relay.cgi?on
关闭 http://ip/cgi-bin/relay.cgi?off

刷机实现乐联网接入

目的:把小K改造到公开的物联网平台乐联网(www.lewei50.com)。

注意:刷机有风险,变砖自负。

1.将你的小k一代,按开关键3、4秒,指示灯变蓝(恢复默认设置)。

2,搜索名为0K_SP3_??????的ssid,默认无密码,使用笔记本连接,会得到192.168.10.*段的ip,小K的地址是192.168.10.253

3,这里下载修改过的4M固件,并将名字改成firmware4M.bin。https://github.com/yangbo1979/SmartPlug

下载链接: https://pan.baidu.com/s/1e7-t5VwGsRDT6gOSZLrBNQ?pwd=ftir 提取码: ftir

4,登录小K的默认用户名是root,密码为admin。通过winscp这个软件使用scp协议将文件传到小K的/tmp目录下

5,执行mtd -r write /tmp/firmware4M.bin firmware,刷入bin。

6,设备会自动重启

7,重启后,会有OpenWrt-xu1(或OpenWrt-Lewei,记不清了)的无线网,密码12345678,联之

8,连上这个无线网,你会获得192.168.2.*的IP,打开网页192.168.2.1,
登录用户名root,密码admin
在wifi页面配置好无线网,并且在system页面的最后lewei sn标签下,输入网关号和userkey,switchId处填你在乐联网设置的控制器标识。

点“save and apply”后设备会自动重启
9.网站上配置对应设备的标识,要设置“API地址”为长连接地址。

注:设备上的开关单按是直接开关。按5s左右为恢复网络配置为单ap模式,断电重开后可以恢复无线网配置。按10s左右为手动重启。

完成!!你现在有了一个属于“自己控制”的智能插座了!

如果乐联网连不上怎么办?请看下面:
观察小k的日志发现刷完固件以后,要登录到小k上,去 xutest这个目录里,找到tcp_lewei.lua这个文件
然后去修改function tcp_lewei()这个函数的头两行,改成下面这两个

local tcp_host = “tcp.lewei50.com”
local tcp_port = 9960

Enjoy it~

 

VIA:李子博客

参与评论