海口经济学院 海南 海口 570100
本系统融合了传感器技术,物联网技术,单片机技术以及云平台,实现智能家居系统中通过APP对传感器模块上传的数据进行图表展示,直观反映了监测到的数据情况,简单明了知晓家中或者寝室的空气温湿度,环境质量,花卉土壤的温度湿度。系统还能自动的对数据进行回馈。对环境和土壤进行控制,并对用户进行相应的提示。系统大体运行流程如图1所示。
智能家居是融合物联网技术,传感器技术,单片机技术的具体应用,系统架构可划分为三个部分:传感器监测感知及其动作层,网络传输层,云端数据储存及应用层。
在这套智能家居系统中,传感器和机械动作模块是底层应用,其中传感器包含土壤湿度,土壤温度传感器,粉尘传感器,温度湿度传感器,光照传感器,热释电红外传感器。机械动作设备有水泵,加热棒,滴灌设备,通风扇,红外控制设备。在传感器监测中,传感器将监测到的各项数据输送到物联网开发板,并在开发板里进行数据处理,当数值达到用户设定的阈值时,将根据程序设定启动或者关闭各项。并同步将数据通过开发板经WIFI上传至云端并反馈在手机APP端,使用户用直观的图表来了解最新的情况。并且用户还可以通过APP按钮直接操控连接物联网开发板的机械装置,根据自己的需求调节。
网络传输层主要依靠物联网开发板自带的WIFI模块接入网关连接物联网,如果不方便可以使用GSM模块进行数据通信。其主要功能是连接底层设备与云端设备,上传数据和下传APP控制指令,是设备与用户端沟通的桥梁[1]。
云端主要采用Blinker作为服务提供商,使用其提供的SDK和API进行开发,解析物联网开发板上传至云端的数据,并且在APP上以图表的形式展现出来。
此项目之所以选择使用ESP8266物联网芯片,是因为他有低廉的价格32位处理器架构,802.11 b/g/n 无线标准并搭载PCB 板载天线,支持IPv4、TCP/UDP/HTTP/MQTT网络协议,有丰富的接口并且可在-40 °C~125 °环境下工作,除了C语言之外可以运行 Lua (nodemcu)、JavaScript (Espruino)、Python (Micropython)。生态良好,兼容性强。
在ESP-8266的基础上选择了NodeMCU作为开发板,它集成了CH340 USB转串口芯片,方便下载程序,作为ESP8266最稳定好用的开源开发板,使用的人多,生态也非常完善,它提供硬件的高级接口可以像arduino一样编写硬件代码。
blinker作为云服务商,不但提供服务器,并且提供丰富且完整的arduino库文件,使用其提供的arduino库文件结合arduinoSDK进行开发,调用接口非常方便。其基础架构如图3所示。
选用U8g2 oled库为oled显示器提供字库图形库显示中文及符号。因为flash空间不足,需创建自己要用的字库文件,大致分为以下几步:创建map文件,它的坐标就是16进制的unicode码,将所需文字和符号转换为unicode码,选择字体,通过代码和工具生成相应文字字库,运行批处理程序生成.c文件,在程序里调用字库。
温度湿度传感器选择DHT11模块湿度测量范围在20%~95%,误差±5%,温度测量范围0℃~50℃,误差±2℃。
土壤湿度传感器采用加宽镀镍处理的感应器,可提高导电性能和解决与土壤接触导致生锈的问题延长使用寿命,比较器采用LM393芯片,工作稳定。
人体红外感应模块选用HC-SR501,使用LH1788探头,灵敏度高,可靠性强,可以低电压工作。此模块还装有菲涅尔光学透镜,可有效增加检测范围,检测范围可达120°,7m。
由于部分部件需要精准控制,所以采用2相四线步进电机作为动力来源,步进电机安装丝杆后脉冲数计算公式为(步每圈×微步)/毫米每圈;步每圈就是步进电机转一圈的全部脉冲数,微步就是驱动选择的细分数,毫米每圈是步进电机带动丝杆转一圈滑块所前进的距离。
本文大体介绍了采用物联网芯片打造智能家居系统的实现方法,系统使用目前较为先进的云平台承载信息,实现设备部署地的温湿度屏幕显示和APP端显示,通过APP可查询数据变化趋势,直观了解设备所处环境信息。并能控制机械设备进行环境调控。
简略分析了目前智能家居的痛点,提出其解决方法。介绍物联网和智能家居的意义,对部分技术实现方法和流程进行简要分析。简单介绍云端服务实现方式和基础架构,说明了传感器的选择和部分机械部件的设置方法,设计并实现了远程温湿度监测,花卉控温控湿的的功能,主要包括硬件的搭建,云服务的链接,APP数据显示和进行远程控制。
通过调试测试,设备可以稳定的进行工作,监测准确度高,反应快。可以更智能更美好的享受生活。