基于android的远程控制智能灯
本文引用地址:https://www.eepw.com.cn/article/248012.htm
当你正在开心地看NBA或者足球的时候,你老婆叫你去把卧室房间的灯关掉,你是否很郁闷,当然不怕老婆的除外。
现在你们有救了,这款灯可以用android手机app 控制(本人太穷因此不会出Iphone版本) ,让看球的同时,点点手机的按钮就能够关闭的灯了。
首先,我们先看下整体的架构:
看看硬件实现,组成部分: arduino主板,W5100(联网),继电器(5V光电驱动),普通LED节能灯:


android 客户端,第一步主界面,登陆(成功的话,会显示对应的唯一ID):

登陆成功:

进入设备控制选择(假如灯设备发送信息过来才会显示 on line ,掉线的话显示 off line ),假如有多种设备的话(TV,空调等),会一起显示:

进入具体操作界面(目前只是实现打开,关闭),后续实现调节亮度,及自动模式等:

人靠衣装,马靠鞍,还是把硬件简单包装下吧:
原始效果:

简单包装后的效果图,是不是高端了不少(绝对没有PS过):

最后,这个项目是个开源的项目(硬件,android客户端,数据库,服务器),全部都是开源,详细介绍请移步:
http://www.oschina.net/p/my-smart-home
http://git.oschina.net/xmeter/My-smart-home
其中本次arduino在代码在下面链接:
http://git.oschina.net/xmeter/My-smart-home/tree/master/hardware/arduino_light
此外,这个项目虽然整个架构已经实现,但是还需很多地方需要完善,希望小伙伴们的有兴趣的一起来把它做得更好。
有什么问题请联系: liyongming1982@163.com
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 lightrn");
} else {
if (client.connect(server, port))
{
digitalWrite(led, HIGH);
Serial.println("connected");
client.println("node login 2745dd5ef44dd3f7a9a19e6d1491f18f lightrn");
}
else
{
Serial.println("Connection failed");
}
}
previoustime = millis();
}
评论