空无以求全
宁静以致远
当前位置:首页 > .html

打造自己的智能家居有木有!!!

作者:大熊空间发布时间:2022-02-19 17:09分类: 浏览:268评论:0


导读: 请先看三个视频(如无法正常播放请单击链接查看): DIY智能家居...


请先看三个视频(如无法正常播放请单击链接查看):
DIY智能家居
v2.0
操作演示
http://v.youku.com/v_show/id_XNTY5MzcwNzMy.html

乐联网手机APP
和微信操作演示
http://v.youku.com/v_show/id_XNTY5NjUwODQ4.html


乐联网管理平台操作演示,注意下自定义微信命令
http://v.youku.com/v_show/id_XNTY5NjI2OTky.html



大家好,我叫无用
在这里我主要介绍下DIY智能家居系统开发经历和同乐为物联管理平台的对接方案。
注:无用技术有限,文中难免有错误,如有错误,欢迎拍砖^-^

查看乐联网已经对接上的设备

先上图:
这是我在乐联网上公开的家里温度、空气质量和湿度传感器等实时信息曲线图,是不是很酷^-^
可以点这里查看
http://www.lewei50.com/home/gatewaystatus/586


图片1.png
2013-6-12 01:17 上传
下载附件 (113.96 KB)
通过手机微信绑定个人账户后查看室内传感器实时信息
图片3.png
2013-6-12 00:18 上传
下载附件 (79.17 KB)
通过微信命令打开/关闭
家里的设备
图片4.png
2013-6-12 00:18 上传
下载附件 (85.77 KB)
通过手机端APP应用查看传感器实时信息
图片5.png
2013-6-12 00:18 上传
下载附件 (32.29 KB)
登录乐联网官方网站查看传感器实时信息
http://www.lewei50.com/dev/docList
图片6.png
2013-6-12 00:18 上传
下载附件 (62.53 KB)
数据对比分析
图片7.png
2013-6-12 00:18 上传
下载附件 (43.07 KB)
通过网页控制家里的设备


图片8.png
2013-6-12 00:18 上传
下载附件 (16.35 KB)
看到这些心动的有木有!!!我对乐联网简直是一见钟情啊,当然还有很多好玩的等着我们一起去探索,
点这里查看更多信息http://www.lewei50.com/dev/docList
看到这里很多朋友可能开始好奇了,怎么实现的这些功能呢?下面一步一步来解开这些疑问。
当然乐联网已经为爱好者提供了非常快捷的解决方案,使用它你可以快速搭建传感器数据上传和设备控制,
点这里查看更多信息 http://www.lewei50.com/dev
不过无用有自己的一套解决方案,在遇到乐联网之前已经在用啦,碰到乐联网后毫无压力的与乐联网开放平台对接到了一块。
上架构图:
图片9.png
2013-6-12 00:18 上传
下载附件 (285.92 KB)
是不是有点智能家居的味道了,呵呵。

1
版的诞生
(v1.0)


故事的开始,2012
年北京的冬天(在北京的兄弟们都知道这年冬天特别的冷),我家暖气出现了故障,整个冬天停止供暖
-_-
。后来我和我老婆实在坚持不住了,去家电城买了个电暖气,这才缓解受冻之苦。但是问题又来了,每天下班到家在打开暖气等到屋里暖起来还是要等好长一段时间的。 有一次突然灵机一动,为何不自己动手做一套简单的系统呢:在下班回家的路上用手机提前把电暖气打开,让它先暖着屋里,提前打开饮水机,回到家就能喝上暖暖的开水
^_^
, 提前打开热水器,回到家就可洗个热水澡,在加个温度传感器方便查看电暖气的效果,
Oh Yea
说干就干,于是
DIY
智能家居的第
1
个版本(
v1.0
)就这样诞生了。上设备图:
图片10.png
2013-6-12 00:18 上传
下载附件 (261.84 KB)
Db120 路由器,刷
Openwrt
系统(之前拿来上网用的
49RMB)
图片11.png
2013-6-12 00:18 上传
下载附件 (126.2 KB)
433无线模块(
25RMB)
图片12.png
2013-6-12 00:18 上传
下载附件 (76.99 KB)
每个终端设备一个arduino pro mini
占用空间特小
(18RMB)
图片13.png
2013-6-12 00:18 上传
下载附件 (180.17 KB)
继电器模块(5RMB)
图片14.png
2013-6-12 00:18 上传
下载附件 (18.34 KB)
DS18B20温度传感器(4.5RMB)
图片15.png
2013-6-12 00:18 上传
下载附件 (98.43 KB)
开关电源模块 5v 700ma 稳定性很强
(5RMB)
路由器改造:
图片16.png
2013-6-12 00:19 上传
下载附件 (291.03 KB)
将433模块接到路由器的串口上
饮水机改造:
图片17.jpg
2013-6-12 00:19 上传
下载附件 (99.6 KB)
因为是放到饮水机内部使用,就不做美化了,呵呵。
插排改造:
图片42.jpg
2013-6-12 00:24 上传
下载附件 (100.51 KB)
图片20.png
2013-6-12 00:19 上传
下载附件 (293.92 KB)
美化一下,呵呵。
使用db120 openwrt
作为家庭网关,
使用433
做为无线网络模块,由于
433
只支持半双式,两个模块同时发数据会造成数据混乱
,
一个模块发送数据其它模块都能收到,所以使用了请求回应的方式,
openwrt
上的
433
模块作为逻辑上的主模块,数据请求由它发起并带上一个地址,接收方收到数据时判断这个地直址如果是自己就作出回应,整个网络中不会使用重复地址,为了不会使数据混乱
openwrt
上的程序负责保证同时只有一个请求通过
433
发送出去。
继电器、温度传感器和433
无线使用一个
arduino
放到饮水机内部( 虽然这样做饮水机打开时会影响正常测温,但是当时为了节省开支只好这样了),另一个继电器、
433
无线和
arduino
都塞进一个插排里面,这样做不仅可以控制电暖气,而且还可以控制其它电器。
串口指令结构如下:
0x11 0x22 [
] +
设备地址
+  
功能标识
+
附加数据
Arduino 中的代码片段:
图片21.png
2013-6-12 00:19 上传
下载附件 (47.88 KB)
Openwrt 程序使用
c++
编写,主要负责提供中间层的作用,它不处理业务,通过
433
无线模块同其它
arduino
设备通讯,并以
tcp
协议方式对外提供接口。
C++代码片段:
图片22.png
2013-6-12 00:19 上传
下载附件 (15.56 KB)
手上有一台美国vps
外网服务器
(30rmb/

)
通过ssh

openwrt
提供的端口在
vps
上打通,让
vps
上的
php
程序能直接使用
c++
提供的端口
.
主要逻辑处理在php
上,这样开发和修改起来相对容易了很多。
Php代码片段:
图片23.png
2013-6-12 00:19 上传
下载附件 (48.48 KB)
图片24.png
2013-6-12 00:19 上传
下载附件 (44.58 KB)
编写网页程序,对外提供操作UI:
图片25.png
2013-6-12 00:34 上传
下载附件 (63.2 KB)

2
版(
v2.0
)的诞生:


在这里非常感谢乐联网老刘的支持,当他看到我用433
无线模块组装的插排时跟我约稿,鼓励我将制作过程写一份文章发表出来,当时乐联在做
DSM501A
空气颗粒物检测活动,除了送我一个
DSM501A
外,还送我一个设备做为奖励,有老刘的支持才有这篇文章的发表,非常感谢!!! 之前我也一直想把这些分享出来,可是出于时间等原因一直没有去做,这次既然要做就做好一些把功能都完善一下,于时第
2
版出来了(操作演示请查看视频1),主要改进了以下几点:
1. 由于
433
模块很不稳定,有时会出现丢数据的现象,所以使用
zigbee
模块换掉
433
模块。
2. 增加卧室温度检测、湿度检测、空气颗粒物检测(
DSM501A
,乐联网做活动送的)、空调控制(夏天到家前可以先打开空调了
^-^
)。
3.外网服务器换用国内阿里云主机,包年
690RMB
,国内
ip
速度快!
zigbee模块(
49RMB
有些小贵):
图片26.png
2013-6-12 00:19 上传
下载附件 (116.94 KB)
换掉路由器内部的433模块
图片27.png
2013-6-12 00:19 上传
下载附件 (494.82 KB)
插排里也换一下:
图片28.png
2013-6-12 00:20 上传
下载附件 (405.38 KB)
饮水机也换一下:


图片29.png
2013-6-12 00:20 上传
下载附件 (479.78 KB)


使用洞洞板集成zigbee模块、
arduino
、温度传感、温度传感器、
DSM501A
颗粒物传感器和红外学习模块:
图片30.jpg
2013-6-12 00:20 上传
下载附件 (178.82 KB)
图片31.png
2013-6-12 00:20 上传
下载附件 (362.2 KB)
美化了下UI操作界面
图片32.png
2013-6-12 00:20 上传
下载附件 (26.71 KB)

与乐联网的对接



传感器数据上传

openwrt
上写
php
代码实现
(openwrt
可以装
php
很方便
)
,代码片段:
上传温度数据
图片33.png
2013-6-12 00:20 上传
下载附件 (28.37 KB)
上传DSM501A 颗粒物数据
图片34.png
2013-6-12 00:20 上传
下载附件 (157.22 KB)
使用crontab
定时上传,每
2
分钟执行一次:
图片35.png
2013-6-12 00:20 上传
下载附件 (1.37 KB)

控制设备对接

采用乐联网tcp
长连接方式,不怕防火墙,响应速度快,也是运行在
openwrt 上
,采用
python
编写,代码片段:
返回网关上的所有控制设备信息
图片36.png
2013-6-12 00:20 上传
下载附件 (55.09 KB)
控制某个设备:
图片37.png
2013-6-12 00:20 上传
下载附件 (34.06 KB)

远程控制还不够?来点智能的怎么样?

经过一段时间的使用,无用发现远程控制并不是对智能家居的真正需要,比如下班后在路上有时会忘记拿出手机来打开家里的电器,有时感觉这种方式操作起来还有些繁琐。这时乐联网上的定时执行计划功能是个不错的选择,一般下班8点到家,通过配置
7
点时打开家里的热水器,饮水机:
图片38.png
2013-6-12 00:20 上传
下载附件 (5.54 KB)
如果下班后没有按时回家,比如公司加班,朋友聚会,那些这些按时打开的设备不就白白的浪费着国家能源了,无用在这里想到了一个办法: 在离家还有两公里的时候打开家里的设备,离家两公里以外的话关闭已经打开的设备
,是不是有点节能的感觉,呵呵,无用已经实现了并且自己在用,体验还不错,这里简单介绍下实现方法:
1.编写一个android 后台程序,类似于微信那种后台程序(android 不熟,硬着头皮边学边做的),通过移动网络每1
分钟将自己的地理位置上传到外网服务器上,代码片段:

图片39.png
2013-6-12 00:20 上传
下载附件 (33.41 KB)
2.编写服务器上的php
程序,代码片段:

图片40.png
2013-6-12 00:20 上传
下载附件 (80.75 KB)

发表评论: