我们让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个人智能家居吧。
我们需要的配件: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的家。
购买全套有机会赠送书哦!
06
2019
05
WIFI作品DIY教程07-《wifi家居网关》家居控制中心zigbee/nrf24l01等
作者:mohongmao | 分类:WIFI作品DIY | 浏览:31830 | 评论:0
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。