如何自己DIY一套智能家居方案
栏目:行业资讯 发布时间:2024-07-01
 如何自己DIY一套智能家居方案必将是未来家庭的必备。某些高科技企业也在揶揄这块市场,纷纷推出了自家的智能家居解决方案,比较的有米家方案以及阿里智能的解决方案。但是回到现实的使用上来说,每个家庭的条件环境其实不一样,同样的  于是在暑假期间,萌生了DIY一套智能家居方案的想法,具有各种智能开关和传感器等节点,并且对接物联平台实现联网控制以及数据的上传。由于家庭中将会使用到的智能设备种类繁多,所以

  如何自己DIY一套智能家居方案必将是未来家庭的必备。某些高科技企业也在揶揄这块市场,纷纷推出了自家的智能家居解决方案,比较的有米家方案以及阿里智能的解决方案。但是回到现实的使用上来说,每个家庭的条件环境其实不一样,同样的

  于是在暑假期间,萌生了DIY一套智能家居方案的想法,具有各种智能开关和传感器等节点,并且对接物联平台实现联网控制以及数据的上传。由于家庭中将会使用到的智能设备种类繁多,所以我将采用模块化的设计思路,即采用核心板加外围功能部分的思路,像搭积木一样的构建各个智能设备。大家有同样想制作的想法可以参考。截至发帖前,我完成了智能网关星空体育,智能墙壁开关,无线遥控开关以及无线气象站的设计制作,之后有新的设备加入的话,我会及时的更新。

  好早之前就接触过zigbee组网,对于这种低成本低功耗的网络还是抱有很大信心的。这里讲解选择这个网络的几大理由:

  mesh结构的网络很适合智能家居的控制结构,在入网的任何一个节点都可以访问到所有节点的数据,这点很适合网关控制各个设备。

  多跳传输,无线方案中最大的问题就是数据发送的不稳定以及障碍物对信号的遮挡导致数据无法正确传输,而ZigBee的多跳恰好解决了这个问题,节点会自动选择优质的传输路线多跳传输,保证信号质量。

  zigbee网络确实是好,但是对于我这种比较懒惰的人并不想去学习那复杂的传输理论以及zigbee通讯芯片的编程,于是我选择上网购买ZigBee模块,最后选择了一种小型的串口转zigbee模块,比较方便单片机通讯。

  说到模块化,那么就需要核心的控制板。本质来说就是将单片机以及购买的zigbee模块集成到一张电路板上,并且预留各种接口,方便后期移植到各种设备上,这样一张电路板就可以适用各种智能家居设备了。

  在保证功能足够的同时,体积也是我需要考虑的问题,如果核心板做的过大,会导致无法安装到某些空间狭小的智能设备中,所以小体积是我所着重考虑的。

  基于多方面考虑之后,stc8F2k08s2进入了我的视线封装以及简单的外围电路,足够的IO口(14个)。这款芯片成为了核心板的控制单片机。于是一番绘制原理图以及PCB之后,成品大概明朗了:

  完成了核心板的制作,网关成为了下一个比较关注的对象,因为家中的所有智能设备的控制以及通讯都会由他来完成,包括链接到互联网上传数据,所以说对于网关的硬件选取也是重中之重。上联互联网,下接zigbee小型通讯网,网关担任了一个家庭控制中心的角色,对于它的选择我认为esp8266是个不错的方案,可以支持arduinoide编程,这对于不太了解网络通讯协议的我来说是个好消息,因为在arduino的编程中,我可以借助强大的库函数来完成我想要的功能。

  esp8266是一个拥有了近80Mhz的主频的32位处理器,内置了wifi模组省去了网线,并且拥有丰富的外设以及较高的性能,可以胜任智能网关的工作。当然,近期乐鑫发布的ESP32系列芯片也会是个好的选择,更高的主频以及wifi蓝牙双模的设计让其拥有更加方便的接入方式,由于手头上正好有一块esp8266,所以没有采用性能更好的ESP32。

  这样我需要对ESP8266进行片上编程,并调用它的串口和zigbee模块通信,当zigbee的节点收到其他设备发来的数据的时候,esp8266可以对其处理或者通过WiFi上传到云平台,整体的设计思路就是这样。

  为了方便网关节点的状态显示以及相关信息读取,为以后的调试提供便利,我给网关添加了一块4.3寸的串口触摸屏,这样方便信息的读取以及调试工作。

  完成了zigbee节点核心板的设计以及网关的硬件选择,整个智能家居系统的主要部分就构建完成了,我先不讲解程序的编写,因为我将会在调试好每一个智能设备之后,再对网关进行编写对应设备的接口程序。即完成一个智能设备的开发之后再对接网关,使其加入到家中的zigbee网络,实现联动控制或者联网控制,因为毕竟我使用的ZigBee模组只是起一个通讯的作用,具体的功能实现还是靠核心板上的单片机来完成。这种开发方法叫做迭发,对于较为庞大的项目是一种较好的解决方案。

  下面是介绍智能墙壁开关的设计,核心就是使得家里墙壁开关智能化,可以联网控制,达到场景联动,智能控制等目的。

  于是尝试网购新的开关,寻找空间大些的墙壁开关,后来我找到了专门生产触摸智能开关外壳的厂家,购买了几个触摸墙壁开关的外壳,内部空间较大,适合改造

  由于是触摸面板,所以我准备使用触摸模块作为输入。关于执行机构,也就是一充当原来机械开关的器件,我准备使用继电器来代替。继电器可以让我使用单片机输出的信号去控制220V交流电压的通断,并且提供良好的隔离以及绝缘性能。

  对于 智能开关节点,我将zigbee模块配置成了路由器节点,这样做的好处是,墙壁开关同时扮演了一个路由器的角色,看可以协助一些远距离的终端节点完成多跳数据传输。。例如我想在卧室使用一个无线开关(下一章将会开发的)去控制家门口的灯光,直接将数据发送到家门口的智能开关上或许信号强度不够造成通信失败,这时我在客厅增加一个路由器节点之后,无线开关的信号便可以传输到家门口的智能开关上。

  同样的,为了响应国家节能减排的号召,我给单片机配置成了空闲模式以节省功耗,但是空闲模式下单片机没法正确及时的检测触摸按键的按下,所以我使用单片机的外部中断来检测触摸按键,当触摸按键按下时,单片机检测到电平变化,引发中断,唤醒单片机,使得单片机执行相关指令。

  当zigbee模块收到来自智能网关的数据时候(例如闭合开关或者断开开关),其输出数据引发的串口中断也会唤醒单片机,这时候单片机会执行收到的指令,随后再次进入空闲模式。

  此外,为了更好的检测每个开关的状态,每次开关有动作之后,会将当前的状态上报给智能网关,以便网关检测家中所有的开关状况。

  链接zigbee的协调器节点到电脑上,打开智能开关的电源,可以看到每当我触摸开关,对应的继电器都会动作,并且协调器节点串口都会输出一些数据:

  同时,在串口监视器输入关闭两路开关的指令,按回车发送,可以观察到本来开启的两路开关,全部关闭了

  对于购买的外壳,我先找到了一张厂家提供的CAD图纸,上面标有了一些基本尺寸,这样方便我去设计一块合适的PCB板。

  将交流高压部分和直流低压部分开槽隔离,提供了较好的抗干扰特性。而反面则设有zigbee模块以及单片机的位置。

  这部分的程序主要是网关接受物联平台发来的控制指令json字符串,然后解码翻译,最后通过zigbee网络告知智能开关引起相应动作。所以其核心在于接受服务器的json字符串,解释其含义。

  同样的,还是使用arduino的json库来处理这些信息,查阅物联平台的通讯协议手册,发现采用如下格式:

  所以只需要解读say指令后面附带的指令即可,于是很快的,一个使用else if语句的并列结构就写好了,程序对收到的字符串依次判断,如果相同则发送指令给智能开关。

  至此,我实现了智能开关的设计,电路搭建以及使用网络控制。并且支持各种功能扩展(定时开关,和传感器联动等等),升级空间十分大,并且可联网控制,给生活带来了很大方便。

  晚上睡觉前,有的墙壁开关距离床上太远,因此不方便关灯,所以我准备设计一款遥控无线开关,可以通过配对的形式完成对家中所有智能设备的控制,类似与随手贴开关。下面是介绍无线.

  作为zigbee网络中的终端节点,无线遥控开关需要具有低功耗运行模式,因此根据我采用的e18zigbee模块的数据手册,将其配置成睡眠模式

  此时显示屏上会显示相关信息,设备编号为1的会显示在第一行,以此类推,超出一页的部分会自动翻页

  实现这个功能的主要原理就是无线开关记住了墙壁开关的短地址,这样每次按下按键都会发送一次数据给智能墙壁开关以便控制亮灭。由于是电池供电的开关,为了避免在更换电池后需要重新配对的问题,我使用了单片机内置的EEP

  控制硬件,不知道该怎么入手,想求助大神们给点指点。电子CAD制图方面都会,只是不知道做ARM7有哪些注意事项,和供电系统的绘制,众人的智慧是伟大的,望各位倾注所能,

  生活。提供无线和红外转换功能,实现传统家电设备无缝接入网络控制。具有多重密码保护,确保系统安装不被他人操控。开发快-

  市场份额竞争中,可能会更快速的占领国内市场。总而言之,随着技术进步、销售渠道与服务的多样化、价格的亲民化,

  市场份额竞争中,可能会更快速的占领国内市场。总而言之,随着技术进步、销售渠道与服务的多样化、价格的亲民化,

  防火防盗系统, 该系统能及时发出危险警报, 提醒用户迅速对突发情况采取有效措施, 从而及时有效地保证人身安全, 最大程度地降低财产损失.1 系统总体设计该系统由信号采集模块、数据处理模...