基于android的遠(yuǎn)程控制智能燈
本文引用地址:http://www.ex-cimer.com/article/248012.htm
當(dāng)你正在開(kāi)心地看NBA或者足球的時(shí)候,你老婆叫你去把臥室房間的燈關(guān)掉,你是否很郁悶,當(dāng)然不怕老婆的除外。
現(xiàn)在你們有救了,這款燈可以用android手機(jī)app 控制(本人太窮因此不會(huì)出Iphone版本) ,讓看球的同時(shí),點(diǎn)點(diǎn)手機(jī)的按鈕就能夠關(guān)閉的燈了。
首先,我們先看下整體的架構(gòu):
看看硬件實(shí)現(xiàn),組成部分: arduino主板,W5100(聯(lián)網(wǎng)),繼電器(5V光電驅(qū)動(dòng)),普通LED節(jié)能燈:
android 客戶(hù)端,第一步主界面,登陸(成功的話,會(huì)顯示對(duì)應(yīng)的唯一ID):
登陸成功:
進(jìn)入設(shè)備控制選擇(假如燈設(shè)備發(fā)送信息過(guò)來(lái)才會(huì)顯示 on line ,掉線的話顯示 off line ),假如有多種設(shè)備的話(TV,空調(diào)等),會(huì)一起顯示:
進(jìn)入具體操作界面(目前只是實(shí)現(xiàn)打開(kāi),關(guān)閉),后續(xù)實(shí)現(xiàn)調(diào)節(jié)亮度,及自動(dòng)模式等:
人靠衣裝,馬靠鞍,還是把硬件簡(jiǎn)單包裝下吧:
原始效果:
簡(jiǎn)單包裝后的效果圖,是不是高端了不少(絕對(duì)沒(méi)有PS過(guò)):
最后,這個(gè)項(xiàng)目是個(gè)開(kāi)源的項(xiàng)目(硬件,android客戶(hù)端,數(shù)據(jù)庫(kù),服務(wù)器),全部都是開(kāi)源,詳細(xì)介紹請(qǐng)移步:
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
此外,這個(gè)項(xiàng)目雖然整個(gè)架構(gòu)已經(jīng)實(shí)現(xiàn),但是還需很多地方需要完善,希望小伙伴們的有興趣的一起來(lái)把它做得更好。
有什么問(wèn)題請(qǐng)聯(lián)系: liyongming1982@163.com
good luck !
附錄:貼上arduino的關(guān)鍵代碼源碼:
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 ......");
// 這里一定要注意,第一次鏈接服務(wù)器失敗后,再重新鏈接一次就成功了。
// 這個(gè)問(wèn)題搞了一個(gè)禮拜,太郁悶了,一定要注意
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();
}
評(píng)論