基于android的遠程控制智能燈
本文引用地址:http://www.j9360.com/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();
}
評論