智能创客,中国最大的极客空间,智能平台,免费教学,视频教程,手把手教你创造儿时梦想!

标题: WIFI作品DIY教程07-《wifi家居网关》家居控制中心zigbee/nrf24l01等 [打印本页]

作者: znck007    时间: 2014-11-22 14:02
标题: WIFI作品DIY教程07-《wifi家居网关》家居控制中心zigbee/nrf24l01等
我们让openwrt的php+mysql+uhttpd+python+arduino+zigbee(nrf24l01/315/433蓝牙无线模块等),
要变成《wifi家居网关》,那么我们只要在完成:
WIFI作品DIY教程05-《家居服务器》web server(php+mysql+uhttpd)
WIFI作品DIY教程06-《openwrt后台程序》控制mysql、串口通信等
再编写arduino+nrf24l01(或zigbee或315或433或蓝牙等无线模块),那么家居控制中心就被我们用最低的成本搭建起来。


由于nrf24l01的成本不到10元,建立一个100平米内的个人家居控制中心,
拥有入室防盗、手机开门、窗帘开窗、电灯开关、无线插座、红外摇控、空气检测、温度调控、烟雾火警、wifi摄像头等功能
总花费在1000元上下,是不是有点小激动?那么我们主要以nrf24l01为主无线模块来开展DIY个人智能家居吧。
淘宝党们:http://item.taobao.com/item.htm?id=41584503200



我们需要的配件:Z WIFI核心板USB扩展板SD卡arduino扩展板无线扩展板nrf24l01(或zigbee等)


第一部分:Arduino和NRF24l01通信(包含Zigbee串口通信)
一、Arduino和NRF24l01通信源代码
下载地址:http://pan.baidu.com/s/1mg3eqLy


解压文件后,运行arduino,如上图。


选择file->examples->znck007->zwifi_wangguan

二、安装CH340驱动

在drivers目录里找到CH340驱动,然后按说明安装。

三、按Arduino扩展板和无线扩展板直接连接电脑。

由于我们先要调试好NRF2401通信,所以单独摘出来直接连接电脑调试。




再选择我们的板znck007 arduino Core+ (Atmega644PA@16M,5V)



选择正确的Com口,可以在设备管理器查看到哦。




编译代码下载到arduino。




按Ctrl+Shift+M启动串口监视窗口,会看出相关数据输出,那么代码已经刷进arduino了,可以和NRF24l01通信了(也和zigbee串口通信)。



第二部分:arduino源代码讲解
一、源代码运行原理
因为我们采用的arduino使用avr644芯片,有二个串口Serial和Serial1通口。
我们使用Serial和Openwrt通信,Serial1和zigbee通信(蓝牙串口等),而NRF24l01我们使用spi通信。
一、详细代码解析(源代码里都有注解)

网关我们sid默认设置为1,nid为1,用于区别不同设备。
代码最关键为三个部份:
1、openwrt串口通信处理
2、无线串口通信处理(zigbee/bluetooth等)
3、NRF24l01通信处理



在setup里初始化NRF24l01




监视nrf24l01是否有数据




有数据而发送到openwrt保存到数据库。






监视openwrt是否发数据过来,发过来则调用nrf24l01发送字符到指定设备。


在今年的6月份,我们《智能创客》出版的智能家居DIY书籍也会上市,书籍将更全面的教创友们如何打造一个3D智能家居DIY的家。
购买全套有机会赠送书哦!淘宝党们:http://item.taobao.com/item.htm?id=41584503200



《WIFI作品DIY教程系列》
WIFI作品DIY教程01-《wifi开发板》介绍和联网等配置教程
WIFI作品DIY教程02-《openwrt摄像头》3D外壳和diy介绍
WIFI作品DIY教程03-《WIFI音响/MP3播放器/电台》
WIFI作品DIY教程04-《WIFI烟雾煤气报警器》
WIFI作品DIY教程05-《家居服务器》web server(php+mysql+uhttpd)
WIFI作品DIY教程06-《openwrt后台程序》控制mysql、串口通信等
WIFI作品DIY教程07-《wifi家居网关》家居控制中心zigbee/nrf24l01等


《Arduino开源智能家居DIY教程系列》
Arduino开源智能家居《花絮1》zigbee小底板DIY成功
Arduino开源智能家居《认识Zigbee》zigbee功能和自组网介绍
Arduino开源智能家居《zigbee开发板》手机/按键点亮LED
Arduino开源智能家居01《网关》升级版网关正式教程(zigbee)
Arduino开源智能家居02《温湿传感器》什么样温湿度才适居
Arduino开源智能家居03《开发板套件》学习zigbee家居-性价比高
Arduino开源智能家居04《插座开关》手机控制:网扇、空调...
Arduino开源智能家居05《红外线》手机红外线控制电器


《百元智能家居DIY教程系列》
《智能家居网关》DIY制作图文教程01-百元智能家居系列
《智能温湿度》DIY制作图文教程02-百元智能家居系列
《智能插座》DIY制作图文教程03-百元智能家居系列
《智能电灯开关》DIY制作图文教程04-百元智能家居系列
《手机红外线》DIY制作图文教程05-百元智能家居系列
关注@智能创客  微信:znck007(打造DIY创客平台)









作者: qebabe    时间: 2014-11-22 16:08
期待快点更新
作者: fmanthon    时间: 2014-11-22 16:35
引頸以待 !!!
作者: 爱拼才会赢    时间: 2014-11-22 21:04
期待更多更好更强!
作者: zhuangpeng    时间: 2014-12-2 14:17
楼主加油啊!期待更新
作者: znck007    时间: 2014-12-2 23:24
zhuangpeng 发表于 2014-12-2 14:17
楼主加油啊!期待更新

已经更新了。
作者: qqyangbo5    时间: 2014-12-2 23:32
大神的讲解已经很详细了,可是对于我这种小白来说还是得继续努力,因为我老是会犯很蠢的错误,最后发现还是得自己多摸索,别怕失败,,
作者: znck007    时间: 2014-12-3 08:38
qqyangbo5 发表于 2014-12-2 23:32
大神的讲解已经很详细了,可是对于我这种小白来说还是得继续努力,因为我老是会犯很蠢的错误,最后发现还是 ...

嗯嗯,我们也是不断失败然后写出来的。
作者: zhuangpeng    时间: 2014-12-3 11:07
楼主辛苦了!请问这个教程和ZIGBEE控制通用吗?
作者: zhuangpeng    时间: 2014-12-3 15:33
哈哈,太棒了,楼主投入了这么多时间share知识,感谢!期待快点学习如何控制远端ZIGBEE
作者: znck007    时间: 2014-12-3 23:17
zhuangpeng 发表于 2014-12-3 15:33
哈哈,太棒了,楼主投入了这么多时间share知识,感谢!期待快点学习如何控制远端ZIGBEE ...

可以通用的,我们以前的代码都出来了,直接刷就好。
作者: zxcvbnm    时间: 2014-12-4 16:59
加油,希望楼主赶紧更新!
作者: c1a1o1    时间: 2015-3-6 16:43
WIFI作品DIY教程07
作者: clanaid    时间: 2015-3-10 20:29
楼主我 阅读了系arduino端网关的代码,同样是读取串口,如何来判断是openwrt还是ZigBee发出来的命令
作者: znck007    时间: 2015-3-11 11:42
clanaid 发表于 2015-3-10 20:29
楼主我 阅读了系arduino端网关的代码,同样是读取串口,如何来判断是openwrt还是ZigBee发出来的命令 ...

有二个串口的,arduino644芯片
作者: clanaid    时间: 2015-3-11 13:28
znck007 发表于 2015-3-11 11:42
有二个串口的,arduino644芯片

那arduino uno r3就没办法这样做了吧
作者: znck007    时间: 2015-3-12 10:02
clanaid 发表于 2015-3-11 13:28
那arduino uno r3就没办法这样做了吧

嗯,用二个串口才行。
作者: clanaid    时间: 2015-3-13 13:39
znck007 发表于 2015-3-12 10:02
嗯,用二个串口才行。

如果,直接把ZigBee和openwrt直接通信,这样的方式和你的方式相比效率会差点么
作者: znck007    时间: 2015-3-16 09:50
clanaid 发表于 2015-3-13 13:39
如果,直接把ZigBee和openwrt直接通信,这样的方式和你的方式相比效率会差点么 ...

会更好,但技术层面要更高,自己做系统板等。
作者: clanaid    时间: 2015-3-16 20:16
znck007 发表于 2015-3-16 09:50
会更好,但技术层面要更高,自己做系统板等。

我现在手头上有一个hg255d路由器,刷了openwrt,直接把路由器的串口和ZigBee的串口连接,代码的流程大概和你之前arduino和ZigBee的那个无相差太多吧
作者: znck007    时间: 2015-3-17 09:46
clanaid 发表于 2015-3-16 20:16
我现在手头上有一个hg255d路由器,刷了openwrt,直接把路由器的串口和ZigBee的串口连接,代码的流程大概 ...

不大,主要是串口如何通信而以了。
作者: 山西社区k    时间: 2015-3-22 20:10
以后真的注意了。。。 楼主真好













淘客机器人、淘客返利机器人、淘宝客机器人 联系客服QQ:1785400000

作者: clanaid    时间: 2015-3-26 22:19
如果服务器不设在openwrt上,设在云端上,那网关是否应该采用轮询机制访问服务器?
作者: znck007    时间: 2015-3-27 09:45
clanaid 发表于 2015-3-26 22:19
如果服务器不设在openwrt上,设在云端上,那网关是否应该采用轮询机制访问服务器? ...

目前是这样的。
作者: ocvbemoa    时间: 2015-5-11 18:56
本帖最后由 创客帝国 于 2015-7-24 10:34 编辑

嘿嘿~奸笑中!










作者: 善旦景oebys    时间: 2015-5-25 13:20
本帖最后由 创客帝国 于 2015-7-24 10:34 编辑

谢谢楼主哦











作者: aln411    时间: 2015-5-30 21:25
顶!!!!!!!
作者: 我哎你你说呢rxh    时间: 2015-7-2 04:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: agkkl    时间: 2015-9-10 22:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: kycup    时间: 2015-10-5 18:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: 洋芋炒土豆    时间: 2015-10-6 13:34
努力学习中
作者: justLB    时间: 2015-10-9 18:27
有关于zigbee的讲解不
作者: hnrtv    时间: 2015-11-2 08:39
USB转串口(CH340)的驱动折腾了一个晚上。一台电脑(Win7/32位)怎么都转不上,转到另外一台(Win7/64位)没问题,32位的又不想重做系统,折腾3个多小时,最终解决,厂家驱动做的不完善,害人啊!。有类似问题得可以私信我!
作者: tswtj    时间: 2015-11-21 19:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: lonsin    时间: 2015-11-26 23:03
一直再用esp8266
作者: lonsin    时间: 2015-11-26 23:04
开始学习
作者: XXY    时间: 2015-12-15 09:16
期待楼主更精彩的内容
作者: XXY    时间: 2015-12-15 13:29
真心很不错为楼主点赞
作者: drfat    时间: 2016-1-9 09:46
学习学习!
作者: Raspberry    时间: 2016-1-13 21:43
学习学习
作者: nsebn    时间: 2016-2-13 01:54
不错,顶的人不多啊,快点继续













作者: zkdpeac    时间: 2016-2-17 21:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: wuyue1994    时间: 2016-4-19 10:14
学习学习!
作者: wuyue1994    时间: 2016-4-19 10:17
顶一个,希望自己做出来!
作者: 场立誉lm3ahvi    时间: 2016-4-26 09:43
谢谢分享哈
作者: liangzhineng    时间: 2016-5-19 12:01
发帖不易,感谢作者。
作者: liangzhineng    时间: 2016-6-11 12:09
谢谢作者的开源,学到了很多知识
作者: 皓睿    时间: 2016-8-29 20:10
大神的讲解已经很详细了,可是对于我这种小白来说还是得继续努力
作者: 皓睿    时间: 2016-8-29 20:14
我是来学习的。留个名~
作者: 眉眼嬉笑m7    时间: 2016-11-6 12:17
真的吗?太好了,非常喜欢

















欢迎光临 智能创客,中国最大的极客空间,智能平台,免费教学,视频教程,手把手教你创造儿时梦想! (http://luntan.znck007.com/) Powered by Discuz! X3.2