基于Arduino的低成本智能家居,开源贴

///////////////////所有资料及源代码都放在了 (地址更新)

https://github.com/wasdpkj/Roomduino



先说一下背景,本人大二学生一枚,去年开始接触Arduino时就已经开始尝试将其融入寝室中:控制灯、饮水机、电风扇。

今年又尝试重写一个,对程序的要求就是:留出很大的扩展空间、主打网络控制、良好的人机界面。



系统基本介绍:



===========硬件要求===========

主机:

MCU:MEGA644PA(可以选用张老师的Microduino Core+,基本运算全归单片机,328资源不够);网络芯片:ENC28J60,RJ45网口:HR911105A;2.4G无线:nRF24L01;显示屏:NOKIA5110屏(后期会适配12864的OLED);红外接收头;红外遥控器;





副机:

MCU:MEGA328P或者168PA;2.4G无线:nRF24L01;交流电器控制:可控硅:BT136,光耦:MOC3041;





{副机可以自行选择设计成节点式(既一个arduino+24L01控制一个开关节点)还是单MCU多路式(既一个arduino+24L01控制四个开关)}



除了以上条件,你还需要一个路由器,一个YEELINK账号。



===========功能简介===========

主要功能:

红外直接遥控各路开关定时开启,也就是预约功能倒计时局域网控制,通过网页(网页控制方式是客户端发送pos命令,系统获取并使得控制页面做出响应)广域网控制,通过Yeelink

默认四路节点(因为Yeelink的5s限制,虽然可以扩展很多路,但也会很卡)



其他规格:

网络自动同步时钟POE供电2.4G通信一键配置节点预留DHT11,18B20,IIC接口,串口,充足的扩展空间



提示:

本文所涉及的PCB大多预留了ISP刷机座,烧写程序的方法论坛很多资源,不过多阐述局域网:在源代码中找到"web.rar"可以本地运行,我也上传到了空间:http://www.mudi-china.com/PKJ/arduino/room/,由于jquery的安全限制,现在仅支持PC端谷歌浏览器和ios端的谷歌浏览器的正常使用更多说明请参照github


Unnamed.jpg

2013-6-8 13:58 上传
(58.85 KB)





------------开源方案1:主机打板+副机节点---------------
你可以通过开源的PCB制作出主机,副机节点我也提供了PCB,不过想要集成在插座里的话,就要自己动手了

主机:

Unnamed QQ Screenshot20130605111754.png

2013-6-5 11:21 上传
(82.42 KB)



主机完成图:

IMG_3567.JPG

2013-6-5 11:27 上传
(319.11 KB)





副机节点(没有预留isp刷机座,需自行跳线):

Unnamed QQ Screenshot20130605111947.png

2013-6-5 11:21 上传
(33.79 KB)





改装节点插座中:

IMG_3252.JPG

2013-6-5 11:28 上传
(201.35 KB)

IMG_3265.JPG

2013-6-5 11:28 上传
(297.99 KB)

IMG_3267.JPG

2013-6-5 11:28 上传
(268.92 KB)

IMG_3269.JPG

2013-6-5 11:28 上传
(277.72 KB)





------------开源方案2:主机打板+副机多路式---------------
主机和上面一样
副机设计也很简单,接上24L01模块,引出几路信号线和地、接到可控硅控制板就行了
下面是可控硅控制板:
把上面的接线座当作墙壁里的开关(也就是火线的一部分)就可以控制交流电器了:
如果是感性负载,可控硅需要加上阻容滤波,阻性可不加。

Unnamed QQ Screenshot20130605113515.png

2013-6-5 11:35 上传
(61.4 KB)





------------开源方案3:主机用Microduino搭建---------------
关于Microduino:http://wiki.microduino.net
微博@Microduino
这是最适合普通玩家的方案了。
MEGA644,28J60,24L01,OLED。这些都能在Microduino里面找到,你所要外接的仅仅是一个红外接收头。

搭建的过程:
从收到一套Microduino到移植程序、适配屏幕,我用了不到半天,其间还包括吃饭、逛超市、骑车、吃西瓜。

这里我用到了:Microduino-Core+ ,Microduino-ENC28J60 + Microduino-RJ45,Microduino-nRF24,Microduino-OLED
并且用到了Test-Microduino扩张板,因为这样我可以更方便的烧写程序,并且获取到3.3V的电压。
再焊接一颗红外接收头,接好OLED到IIC线路上(Core+是第20和21引脚,别搞错了),硬件就算完成了。
你可以使用asp、tiny asp、Microduino-FT232R烧写程序。

200px-Microduino-core -rect.jpg

2013-6-8 00:10 上传
(13.68 KB)

200px-Microduino-enc-rect.jpg

2013-6-8 00:10 上传
(12.32 KB)

200px-Microduino-nRF24-rect.jpg

2013-6-8 00:10 上传
(12.56 KB)

200px-Microduino-oled-rect.jpg

2013-6-8 00:10 上传
(7.72 KB)





下面是Microduino搭建的Roomduino,

_DSC8151.jpg

2013-6-8 00:06 上传
(256.01 KB)





无视那堆线吧,我直接用跳asp刷机用的

_DSC8154.jpg

2013-6-8 00:06 上传
(217.91 KB)





oled格外漂亮

_DSC8164.jpg

2013-6-8 00:06 上传
(171.74 KB)





红外接收头,偷懒直接焊在了插针上

_DSC8166.jpg

2013-6-8 00:06 上传
(199.79 KB)





END

_DSC8170.jpg

2013-6-8 00:06 上传
(222.17 KB)





Microduino也很适合结合洞洞板

Unnamed QQ Screenshot20130710231420.png

2013-7-10 23:15 上传
(25.46 KB)





不过副机依然要自己选择搭建方案,我现在并无量产、开模的能力。









via - 极客工坊

标签: Arduino教程