新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于android的远程控制智能灯

基于android的远程控制智能灯

作者:时间:2014-06-09来源:极客网收藏

  

本文引用地址:http://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();

  }

 



关键词: 智能

评论


相关推荐

技术专区

关闭