標籤:智能家居 自動化 arduino ethernet android
家居自動化越來越受歡迎,吸引人之餘也讓大家買得起了。網路上提供了很多可以實現的想法,這都是之前未曾見的。在智能手機上展示給你的朋友:你可以離公寓幾公裡之外開關公寓裡的燈,同時可以通過一個網路攝影機來控制開門。Cool!
步驟1:材料
帶有Android+ Ethernet Internet + Arduino 的智能家居自動化
- 智能手機(Android 2.3系統)
- 線路乙太網路 + 路由器(我用的是 TP-link(TL-WR740N)
- Arduino Mega2560 或 Arduino Uno + W5100 插板(Ethernet)
- Led IP(可選)
步驟2:APP Invertor(一個完全線上開發的Android編程環境)(App通過網路控制Arduino)
首先,你需要建立一個app android,而後我使用了一個 app invertor 2 連結:
http://ai2.appinventor.mit.edu/
參考: https://www.youtube.com/watch?v=rwsKzyEpgoE
(教程: AppEthernet - App inventor 2 / Channel: Android e Arduino)
如果你需要變為英文,下載 .aia 到我的工程中(因為我用的是葡萄牙語)
http://www.mediafire.com/download/pbcepmryegczdpb/SmartHouseApp.aia(Project .aia)
在Andoid環境下,下載安裝App:
http://www.mediafire.com/download/v2yk79xk91eaw57/SmartHouseApp.apk
步驟3:下載常式到Arduino Mega -- 代碼連結下載
你需要更改:
byte ip[] = { 192, 168, 0, 00 }; // IP the arduino
EthernetServer server(80); // Port acess
注意:
01 - 你需要 IDE 1.0.5 版本- 由於IRremote庫的原因,代碼不能在IDE 1.0.6下工作
02 - 頁面每4秒鐘會自動重新整理一次,如果你需要更改: client.println(‘<‘MET A HTTP-EQUIV=‘refresh‘ CONTENT=‘4; URL=http://seudominio.no-ip.org/‘>");
03 - 在 "SmartHomeAPP" 應用中,你需要改成一個 URL=http://seudominio.no-ip.org/‘
04 - 更改你的LED IR 代碼,來開/關你的電視或立體聲音響
Lindo Download Sketch Arduino INO
http://www.mediafire.com/view/v2y3ztk5uhex2ij/APP_ETHERNET_INVENTOR_WAKE.ino
如何建立一個 http://seudominio.no-ip.org/
訪問連結: https://www.youtube.com/watch?v=1FWGt5gnnYs orhttps://www.youtube.com/watch?v=ZPvvoEDjSww
步驟4:理解代碼及主要特徵
方法“Get”,用來給Arfduino發送變數,你可以看到如下代碼:
if (c == ‘\n‘) {
if (readString.indexOf("lampada1") > 0) {
digitalWrite(lampada1,!digitalRead(lampada1)); }
//--------- send the page a variable "lampada1"
然後Arduino讀取整個頁面,而後返回“Get”發放,你可以看到下面的代碼:
//botao lampada1
if(digitalRead(lampada1)){ statusLed = "Ligada"; }
else { statusLed = "Desligada"; } client.println("
Lampada 1 - "+statusLed+"
");
//--------- in this piece you can see "+statusLed+", it returns to the relay this on or off on page
//-------------------------------------------------------------------------
翻譯自:Instructables
智能家居自動化的實現(Android+Ethernet Internet+Arduino)