极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: chzhewl

DIY智能家居和乐联网开放平台对接(arduino+zigbee+openwrt)

  [复制链接]
发表于 2013-7-14 13:58:39 | 显示全部楼层
mark
!!!!!!!!!!!!!1
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-15 12:37:30 | 显示全部楼层
tianruoqiwo 发表于 2013-7-12 17:40
lz:openwrt上是PHP与乐联网交互吗?能否解释下···

是的,数据上传通过php实现,tcp长连接控制通过python 实现.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-15 12:46:58 | 显示全部楼层
maipengjia 发表于 2013-7-10 12:24
非常好的文章支持ing  学习ing
由于最近要家装,对智能家居有个大概认识,看过了各类介绍,觉得这个市场现 ...

感觉支持 :
1. 将所有模块集成到一块,体积会小很多,我也在想办法把这些都放到86盒控制家里电灯,有想法可以一块交流下.
2. 必竟是diy 的东西, 没考虑做到大家都能用, 使用openwrt也是根据个人情况选择的,使用树莓派可扩展性会更好一些.
3.乐联网对爱好者是免费的,至少目前还是.
4.红外使用别人做的成品实现的, 目前已经通过 arduino 实现了这个功能,并把代码存到服务端.准备有时间分享一下.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-15 12:48:22 | 显示全部楼层
wangjingchu 发表于 2013-7-11 14:25
恩,非常感谢~
前几天弄好了,发现就是ttyS0串口正常的,被console用去控制台了,后来发现这个ttyS0也是 ...

linux 上应该是没有这个限制的, 我没有尝试过, 可以实验下.
回复 支持 反对

使用道具 举报

发表于 2013-7-16 13:37:04 | 显示全部楼层
lz:请教为何不用openwrt自动收发邮件的方式与自己的邮箱交换呢?
http://www.360doc.com/content/10/1213/23/3884271_77884345.shtml

本人的刚刚接触openwrt,但是相信linux会有很多好工具实现交换去绕过服务器商
回复 支持 反对

使用道具 举报

发表于 2013-7-16 13:58:56 | 显示全部楼层
http://bbs.linuxpk.com/thread-9227-1-1.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-17 11:02:59 | 显示全部楼层
tianruoqiwo 发表于 2013-7-16 13:37
lz:请教为何不用openwrt自动收发邮件的方式与自己的邮箱交换呢?
http://www.360doc.com/content/10/1213 ...

仔细看了下你提供的方案,  使用crontab  " */2 * * * * /etc/cmdmail "  也是通过定时的方式实现的,还是缺乏实时性, 其实这要看需求了,如果只是一些温度等传感数据采集,查看数据, 实时性要求没那么高, 这个方案肯定没有问题. 但是对于实时控制来说肯定需要一个实时通讯的方案, 使用一台外网的服务器便是一个正向的解决方法. 百度的BAE应用引擎好像可以免费还没有尝试, 如果对于实时通讯你有好的解决方案可以分享下,  我也想把这个收费的服务器给换掉.
回复 支持 反对

使用道具 举报

发表于 2013-7-17 12:27:19 | 显示全部楼层
对于实时性的,发邮件确实粗糙了些,应该可以再优化些。我昨天下午试了下,其实邮件反应挺快的,从发送脚本开始执行到QQ邮箱响应,在15秒左右,图片是脚本和响应。

要提高事实性,telnet openwrt怎么样? 还有Google App Engine高端些,我只用过它来翻墙,没开发过app。但是我觉得,只要路由器和互联网连接上了,就一定有好的交互方式。觉得路由器上直接和QQ、微信交互都用可能,可惜没这方面的积累

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-17 14:08:13 | 显示全部楼层
tianruoqiwo 发表于 2013-7-17 12:27
对于实时性的,发邮件确实粗糙了些,应该可以再优化些。我昨天下午试了下,其实邮件反应挺快的,从发送脚本 ...

  我是这么理解你这个实验的:  openwrt->邮件服务器->邮件网页客户端, 这样的话响应时间就取决于qq邮箱的响应速度, 而且qq的在线邮箱它是做过优化的,基本上可以做到有邮件实时提醒,  这个方案可以用在数据查看和预警上面. 而且QQ新邮件在QQ客户端和微信上都能查看.但要实现邮件实时控制刚好是返过来的, 应该是用户->邮件服务器->openwrt ,  比如要远程打开电灯, 用邮件控制的话过程应该是 给一个邮箱账号发送指令邮件, 这个指令邮件会先发到邮件服务器上,然后 openwrt 上会有一个邮件客户端定时向服务器检查有没有新邮件, 有新邮件接收邮件分析指令实现控制.  这里造成的延迟就取决于两个方面: 1. 邮件服务器的处理延迟, 如果是发邮件和收邮件都是同一个服务商的可能要快很多,比如都是QQ的.   假如发邮件126邮箱,收邮件是QQ邮箱,  126服务器会先把邮件发到QQ服务器上,这个时间就不太好估计了.  2. openwrt 的定时轮训间隔时间, 不可能1秒钟检查一下邮件,这个延时就显而易见了.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-17 14:12:49 | 显示全部楼层
tianruoqiwo 发表于 2013-7-17 12:27
对于实时性的,发邮件确实粗糙了些,应该可以再优化些。我昨天下午试了下,其实邮件反应挺快的,从发送脚本 ...


不过对控制也有实时和非实时之分, 对于远程打开电灯这个事情来说,  比如人还没有回家, 离家还有很远,  发一个邮件去打开就行了, 只要到家后灯是打开的就行,不考虑实时性, 但是如果人在家里, 发一个邮件过10几秒后电灯才打开,肯定不能接受啦.
回复 支持 反对

使用道具 举报

发表于 2013-7-18 19:03:11 | 显示全部楼层
下午用openwrt实际搞了下,msmtp发邮件很容易,fetchmail效果不好。
结果用POP3协议搜索了下正好有交互脚本例子


telnet pop.163.com 110 #telnet登录110端口
Trying 202.108.5.104...
Connected to pop.163.com.
Escape character is '^]'.
+OK Welcome to coremail Mail Pop3 Server (163com[20050206])
USER crazywill # 用户名
+OK core mail
PASS mypassword # 登录密码
+OK 254 message(s) [27676669 byte(s)]
STAT # 查看邮箱状态
+OK 254 27676669
LIST # 邮件列表
+OK 254 27676669
1 2468
2 21945
3 33136
4 2071
5 3364
6 18906
7 3136
8 24764
.................

TOP 1 0 # 查看指定邮件的邮件头,0表示查看整个邮件头,其它正整数表示限制返回多少行。
+OK core mail
Received: from smtp.63.com (unknown [58.252.70.158])
by smtp5 (Coremail) with SMTP id wKjREDrA9gIfFqlEjCnRAg==.29062S4;
Mon, 03 Jul 2006 21:07:18 +0800 (CST)
TO: [email protected]
FROM : [email protected] # 这里即前面发信时伪造的一个假发送人信息,平时正常操作只显示这个。
SUBJECT: test by telnet/smtp # 邮件主题
Message-Id: <44A91687.0E6F6C.07562>
Date: Mon, 3 Jul 2006 21:07:19 +0800 (CST)
Sender: [email protected] # 这里是真正的发送人,不可伪造。
回复 支持 反对

使用道具 举报

发表于 2013-7-18 19:12:02 | 显示全部楼层
不过,有C语言邮件接收库 libmail,可以自己开发一个可执行程序,仿造交互程序这样。将频率加快这样时延会稍微小点。

不知道有没有其它类似协议,可以实现更好的交互。
回复 支持 反对

使用道具 举报

发表于 2013-7-22 15:08:42 | 显示全部楼层
不错,正是我苦苦寻找的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-22 17:54:22 | 显示全部楼层
tianruoqiwo 发表于 2013-7-18 19:12
不过,有C语言邮件接收库 libmail,可以自己开发一个可执行程序,仿造交互程序这样。将频率加快这样时延会稍 ...

使用邮件来实现先天性的会有些不足,毕竟邮件不是用来做这种事件的, 不一定要在这条路上走死, 最近了解了下百度的bae应用引擎很不错,有很多免费的资源可以用,包括数据库,脚本运行平台等,正在研究如何使用这些资源来实现实时通讯. 可以一起了解下  另外使用飞信实现实时控制也不错,php 的飞信API https://code.google.com/p/php-fetion ( 已实验过,好用), python 的飞信API https://code.google.com/p/pytool/(还没实验过). 另外乐联网提供的TCP长连接实时通讯可以很好的实现实时控制, 而且是免费的, 对接上后就可以用乐联的手机APP,飞信等来实现控制了,不过目前还在测试阶段,有点不稳定,期待其进一步的优化.
回复 支持 反对

使用道具 举报

发表于 2013-7-23 20:13:39 | 显示全部楼层
chzhewl 发表于 2013-7-22 17:54
使用邮件来实现先天性的会有些不足,毕竟邮件不是用来做这种事件的, 不一定要在这条路上走死,: ...

邮件这条路已经走到头了,正在转弯
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-19 18:20 , Processed in 0.047580 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表