基于MQTT的物联网应用(智能家居)

1. 需求背景

在我们的日常生活当中,我想大家都会发现一些现象:
比如在一个公共场合,不管是办公区还是商业区,其实并没有人,但是灯却亮着,比如这是一个会议室,其实并没有人,里面的空调却一直开着,对于一个特定的环境下,这样的浪费可能不能引起特别大的损失,但是想一下,对于一个城市或者一个国家来说,这样的损失将会变得非常大,我们仔细想一下为什么会这样子呢?因为我们的生活环境是一个不会思考的环境,好比有一人把一个办公区的所有灯打开之后,如果他自己没有去关的话,这些灯就会一直亮下去。但是如果我们的灯要是变得稍微”智能“一点呢?好比在一个环境内,如果检测到没有人了,他就会自己把灯关掉,如果有人又来了,然后在打开对应区域的灯光,这样会不会能帮助我们节省很多的财力。再回到我们的会议室,如果会议室变得稍微智能一点,好比,有人来开会,或者获取到了预约请求之后,在合适的时间打开空调保持在一个相对舒适的温度,等到会议结束之后,空调就自动关闭。这样一来不光省电节能,而且还让我们的办公效率等到提升。
我们在说一下我们每天都居住的家,你是不是也有过类似的经历,比如我刚出门走了,我却忘了我自是否把门锁好了?有的时候你可能不得不在走回去确认一下,但是结果发现门是锁着的。还有就是假如我们要出去度假,如何确保我们房屋是安全的没有被人非法入侵?每个人都会有这样的困惑,如果能让我在离开家以后能确认房屋的状态的话,我们也不会被之前的问题所困扰。
那么我们如何才能把上述问题解决了呢?我们通过传感技术,根据采集的传感信息执行一些指定的操作,好比我们采用人体红外传感器和光照传感器我们就可以做到当检测到有人存在的时候保持灯光的开启,当人离开之后就关闭灯光,同时也可以根据光照强度传感器采集的数据来控制灯光的强与弱。这样就避免了有充足的光照的时候还开着灯。当然,以上只是一些例子而已,我们完全可以根据自己的实际需要去指定对应的规则,来实现智能化。同时我们可以加入大数据和云服务,让这些传感器更加有“想法”,从而也可以根据传感器的数据来创造更多的价值,我们在物联网技术中被广泛使用的就是MQTT(Message Queuing Telemetry Transport)协议,我们可以把传感器的数据通过mqtt协议上传到服务器,然后通过远程去获取数据以便于下发特定的命令,我们继续讨论家庭安防的问题,我们可以通过安装门磁(Doorsensor),使用MQTT上传门磁的状态,在门或窗在被开启的时候,我们就会在远程立刻获取到消息推送,同时可以触发摄像头进行拍照或者摄像,这样就可以达到就算我们离开了家,也可以检测家里的一举一动,以保证家庭的财产的安全。

2. MQTT

我们可以通过MQTT协议把所有的传感器的数据实时的上传到服务器,然后根据采集的数据做出相应的判断来实现上述想法,那么MQTT有哪些特点呢?
MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性:

  1. 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;
  2. 对负载内容屏蔽的消息传输;
  3. 使用 TCP/IP 提供网络连接;
  4. 有三种消息发布服务质量: “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数 据,丢失一次读记录无所谓,因为不久后还会有第二次发送。 “至少一次”,确保消息到达,但消息重复可能会发生。 “只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
  5. 小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;
  6. 使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制

3. 实践(基于树莓派的智能家居实践)

3. 1 前提

作为在校学习通信网络的的一个项目,我们的目标是并不是生产出一个可以立马销售的商品,而是把相关通信的知识应用的实际生产环境当中,做出一个可以展示的demo。

3. 2 概述

这个项目的目标是通过树莓派采集若干传感器(温湿度传感器,光照传感器,人体红外传感器等)的数值,实时上报于对外开放的公共的MQTT服务器,然后编写android应用和MQTT服务器对接获取传感器上传的信息,然后可以在手机上定制规则,下发到树莓派执行对应的操作。所以整个项目可以分为终端数据采集和执行对应操作的树莓派的开发和安卓应用的开发。而我负责的是树莓派的开发。

3. 3 内容

在树莓派上使用Python语言开发,获取传感器的数值,然后通过mqtt协议实时上传到mqtt的web服务器,这里我们使用的是中国移动提供的OpenNet服务,在主线程中注册mqtt的topic,这样实现了mqtt接收下行消息。


光.png

当手机app开启的时候,就会主动和服务器获取注册入网的所有传感器和接入设备。


光照.png

然后用户根据自己的想法和意愿制定相应的规则,比如在灯1光照强度超过某一个限定值得时候,关闭灯;在温度超过限定值得时候,自动开启风扇或者空调等自动化操作。应用在我们的家庭当中话,我们就可以很容易的实现当我快下班回到家的时候,就自己把空调开启,保持在一个舒适的温度,或者在办公区内当到达指定的时间的时候,全部的灯光自动关闭或者根据是否有人来决定是否开关灯。从而实现了智能家居。

4. 总结

在整个项目当中,需要深入研究mqtt以及其他相关联的通信网络的知识,才能够灵活的应用在该项目中并且得以实现。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,651评论 18 139
  • 今天先讲到的内容主要涉及以下设备: 首先是一块树莓派开发板,这是整个智能家居的控制中心,所有的程序都将在这块开发板...
    蝈胖胖阅读 10,454评论 3 13
  • by孤鸟差鱼 给你的一席话 你当一辈子去完成 那多难得
    孤鸟差鱼阅读 128评论 0 1
  • 2013.9.2我第一次走进师大,那时年轻,爱笑。报到那天有两位12级的学姐一直帮助我,从搬行李到购置物品,不过后...
    啊陈小白阅读 280评论 0 0
  • 妈妈在她二十三岁的时候,给了我生命。如今我二十六岁了,妈妈,可不可以不要变老。 我喜欢唱歌遗传我老妈的基因,她最喜...
    冰镇夏天阅读 268评论 0 4