智能家居自动化的实现(Android+Ethernet Internet+Arduino)
2015-01-20 17:48
351 查看
![](http://www.iwiznet.cn/blog/wp-content/uploads/2015/01/%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85%E8%87%AA%E5%8A%A8%E5%8C%961.jpg)
家居自动化越来越受欢迎,吸引人之余也让大家买得起了。网络上提供了很多可以实现的想法,这都是之前未曾见的。在智能手机上展示给你的朋友:你可以离公寓几公里之外开关公寓里的灯,同时可以通过一个摄像头来控制开门。Cool!
步骤1:材料
![](http://www.iwiznet.cn/blog/wp-content/uploads/2015/01/%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85%E8%87%AA%E5%8A%A8%E5%8C%962.jpg)
带有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)
![](http://www.iwiznet.cn/blog/wp-content/uploads/2015/01/%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85%E8%87%AA%E5%8A%A8%E5%8C%963.jpg)
首先,你需要创建一个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 -- 代码链接下载
![](http://www.iwiznet.cn/blog/wp-content/uploads/2015/01/%E6%99%BA%E8%83%BD%E5%AE%B6%E5%B1%85%E8%87%AA%E5%8A%A8%E5%8C%964.jpg)
你需要更改:
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 4.0 Ethernet 和 wifi 的实现分析
- Android自动化测试初探: 模拟键盘鼠标事件(Socket+Instrumentation实现)
- 用Arduino实现车库门开关自动化
- Android 2.2下实现Ethernet
- bash shell脚本实现android自动化测试部署与运行
- PAMIE的全称是Python Automated Module For Internet Explorer,顾名思义,PAMIE是一个实现IE自动化的模块
- Python实现Android自动化每日构建框架
- 使用Robolectric对android程序实现自动化测试
- Android开发之Ruby实现Android自动化屏幕适配
- Android 4.0 Ethernet 和 wifi 的实现分析
- Android自动化基于UIAutomator的实现及代码生成
- 使用Robolectric对android程序实现自动化测试
- Android自动化解锁脚本实现解析
- 一步一步使用Monkeyrunner实现Android的自动化测试
- Android2.2下实现Ethernet
- 如何用arduino+ethernet shield(W5100)与yeelink结合5分钟实现传感器数据web上传
- 解决android自动化测试中锁屏问题-简单的实现
- 【转】物联网跟我动手做系列教程—第三篇 实验三如何用arduino+ethernet shield与yeelink结合5分钟实现web远程家电控制(代码已更新)
- Android 自动化发布—采用Ant打包的完美实现:编译、合并、签名、混淆、优化、自动运行
- android自动化测试中实现长按并拖动