当你正在开心地看NBA或者足球的时候,你老婆叫你去把卧室房间的灯关掉,你是否很郁闷,当然不怕老婆的除外。
现在你们有救了,这款灯可以用android手机app 控制(本人太穷因此不会出Iphone版本) ,让看球的同时,点点手机的按钮就能够关闭的灯了。
首先,我们先看下整体的架构:
看看硬件实现,组成部分: arduino主板,W5100(联网),继电器(5V光电驱动),普通LED节能灯:
android 客户端,第一步主界面,登陆(成功的话,会显示对应的唯一ID):
登陆成功:
进入设备控制选择(假如灯设备发送信息过来才会显示 on line ,掉线的话显示 off line ),假如有多种设备的话(TV,空调等),会一起显示:
进入具体操作界面(目前只是实现打开,关闭),后续实现调节亮度,及自动模式等:
人靠衣装,马靠鞍,还是把硬件简单包装下吧:
原始效果:
简单包装后的效果图,是不是高端了不少(绝对没有PS过):
最后,这个项目是个开源的项目(硬件,android客户端,数据库,服务器),全部都是开源,详细介绍请移步:
此外,这个项目虽然整个架构已经实现,但是还需很多地方需要完善,希望小伙伴们的有兴趣的一起来把它做得更好。
good luck !
附录:贴上arduino的关键代码源码:
void setup()
{
Serial.begin(9600);
pinMode(led, OUTPUT);
delay(1000);
Ethernet.begin(mac);
Serial.println("Obtaining local IP");
IPAddress myIPAddress = Ethernet.localIP();
Serial.println(myIPAddress);
Serial.println(" connecting ......");
// 这里一定要注意,第一次链接服务器失败后,再重新链接一次就成功了。
// 这个问题搞了一个礼拜,太郁闷了,一定要注意
if (client.connect(server, port))
{
Serial.println("connected");
client.println("node login 2745dd5ef44dd3f7a9a19e6d1491f18f light\r\n");
} else {
if (client.connect(server, port))
{
digitalWrite(led, HIGH);
Serial.println("connected");
client.println("node login 2745dd5ef44dd3f7a9a19e6d1491f18f light\r\n");
}
else
{
Serial.println("Connection failed");
}
}
previoustime = millis();
}