《智能家居DIY》智能路由器+网关+控制端解决方案(全开源)-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 45746|回复: 6

《智能家居DIY》智能路由器+网关+控制端解决方案(全开源)

[复制链接]
发表于 2015-9-19 12:58 | 显示全部楼层 |阅读模式
本帖最后由 智能创客 于 2015-9-19 12:59 编辑

在智能设备、3D打印、物联网IOT很热门,智能家居协议还未形成统一,小米路由器、TP-LINK、极路由、360路由器等已经进入了智能时代,猜猜他们想干什么?成为路由器+家居控制中心,路由器是一天24小时都在运行,具备有成为家居控制中心的条件。

151204u3q5o5vu8kjdvokp.jpg


2013年底,基于对创客的爱好,我们成立了"智能创客网”www.znck007.com,开始研究硬件+软件+手机客户端的智能方案,每个人都有一个家,因此从家开始,以让我们技术宅拯救世界为理念,开始了智能家居DIY。


153642f6z3usjseizog1ev.jpg
经过了二年的研究,从第一系列(arduino mini+enc28j60+nrf24l01)和第二系列(arduino+zigbee),到第三系列(openwrt(wifi)+arduino+zigbee/nrf24l01/ble),同时受到电子工业出版社邀请写了一本《智能家居DIY》的书籍。书中介绍第三系列的具体实现方案,采用的openwrt是一个路由器系统(小米路由器就是基于这个系统深度开发的),全天稳定运行,不仅可以当路由器使用,也可以实现家居控制中心。


一、选择硬件板
211255aej9p79046lje46m.jpg
在市面上有很多硬件板,如上图703n、RT5350、Raspberry(树莓派)、bananapi(香蕉派),我们要满足可以刷openwrt(具有Wifi的STA+AP、USB接口)。


212153gu0ciox2akxx3e8e.jpg
经过研究,采用了性价比比较高的703n,改造成flash16M,内存64M,然后刷入openwrt系统。(采用其它板也可以,openwrt软件部分类式)


二、刷入openwrt系统

212758u1m0s9mws9iwu8rj.jpg
703n使用flash刷写器刷入openwrt固件(各种硬件开发板,刷入openwrt的方式不同)


212952nce56vmebml4lzww.jpg
使网页登陆openwrt(luci),如上图很像路由器系统网页设置,我们也可以修改成自定义的页面。



三、接上arduino+zigbee+nrf24l01

213934sjjxj3x5v1xw7x5w.jpg
使用连usb连接(或如我们做成pcb板,直接插入openwrt板)


214908tuhszo8fm785975d.jpg
安装ch340、ftdi驱动(openwrt一条命令就可以安装)


223812fpfn57gyrrpd5fnn.jpg
这时openwrt可以和arduino串口通信(像电脑开发arduino一样简单)
编写串口通信代码可以使用lua、python、C代码编译、ipk编译(根据自己懂的语言开发)

如下python脚本:

print "ttyUSB0 ready..."
ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1) #打开串口通信
#ser.write("lABC") #向串口发送字符
while True:
    data=ser.readline() #读取一行 读取1个字符read(1)
    print "serial data <<<"+data
    time.sleep(1)
ser.close()


224147i2apfp1lapcm2zzo.jpg

然后再开发arduino+zigbee(串口通信,也兼容ble等)+nrf24l01(spi通信)代码,arduino开源有很多代码可以参考,zigbee自组网代码(可以跟我们联系要)。


四、云端服务器(手机端外网控制)
230619u976kw0h509n0gnz.jpg
云端服务器可以使用java,aspx,php等语言,加上mysql,mssql,oracle等数据库
使用您善长的语言+数据库开发,API控制和保存数据记录。


230923p2kolzo6ek9msic0.jpg
云端主要实现与openwrt通信(可采用http、tcp、udp等)
http协议简单,但会有延时和耗cpu/ram资源,tcp长连接耗服务器资源,udp转发适合方案(但比较专业和深入)



五、终端
231320tf2lpieice2spfze.jpg
终端基础硬件,采用zigbee或arduino+nrf24(可含zigbee/ble等)做为与openwrt网关通信。



六、传感器,控制器
231944j8tsnaz7ag7ddv07.jpg
传感器上传数据到云端,供用户电脑手机查看分析报警等,如温度、湿度、pm2.5、气压、门磁、下雨、人体红外等。


232001tb0bzab0gbvml5b5.jpg
控制器收到用户命令实现开关,控制家电类操作,如开灯、开门、开窗、电视、冰箱、空调等。



231631dv29ek4tw493f9j9.jpg
传感器数据流程:传感器-》终端无线-》网关无线-》云端服务器-》保存传感数据-》用户查看。
控制器数据流程:手机操作-》云端服务器-》网关-》网关无线-》终端无线-》开关命令。



七、微信/小米/360硬件平台研究
095359snqueugtff2fqqgq.jpg 当前微信、QQ、360、小米、OneNET等互联网公司都开发了硬件平台,微信有自己的Airsync/Airkiss协议,小米有了智能模组、360生产物联芯片模块等。
他们以云端+芯片模块(含协议)的模式与各大厂商、公司合作,希望有大量的厂家接入并生产给消费者。

未来局势很明显,他们提供强大的云端和芯片模块(有些免费送的),物联网IOT就是这些大互联网公司的天下,那跟我们也就没什么关系了吗?
智能创客网www.znck007.com汇集了群多创客,免费智能硬件教学(图书+源码+论坛+云端+视频等),教如何连接这些硬件平台,站在巨人的肩膀上做自己的产品。


八、关于我们
234814mp05o8ynvff0fp8v.jpg
211255aej9p79046lje46m.jpg
212153gu0ciox2akxx3e8e.jpg
发表于 2015-9-21 15:25 | 显示全部楼层
楼主方便给个ZigBee自主网的代码么 。
 楼主| 发表于 2015-9-21 20:21 | 显示全部楼层
孤。 发表于 2015-9-21 15:25
楼主方便给个ZigBee自主网的代码么 。

当然啦,加我们群。我们的书上也有。
发表于 2015-9-21 20:30 | 显示全部楼层
我对智能家居的看法,目前独居老人家庭最需要,不能太复杂,便于远在千里之外的几女随时监控,应有几大部分组成智能安防,便利家居,智能家电,24小时语音服务等。
发表于 2015-9-21 20:40 | 显示全部楼层
补充:所有适合的家居都应改造成电子的。例如,卫生间的马桶,改造成工程塑料的,便于安装电路,可以对人体排泄物进行检测分析,及时及早发现病症。(听说以色列的间谍就通过马桶取样了解到了阿拉法特的身体健康情况。)
 楼主| 发表于 2015-9-22 08:57 | 显示全部楼层
曹五哥 发表于 2015-9-21 20:40
补充:所有适合的家居都应改造成电子的。例如,卫生间的马桶,改造成工程塑料的,便于安装电路,可以对人体 ...

嗯,涉及到医疗领域。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 10:37 , Processed in 0.105572 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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