400-967-8818

服务热线(365天24小时)

技术文摘

数据库技术在博世壁挂炉远程控制系统中的应用

2021-03-02 08:46:49

 

数据库技术在博世壁挂炉远程控制系统中的应用


     摘 要:本文结合2014年支撑WiFi通信的壁挂炉温控器产品面市,提出在壁挂炉远程把持体系中利用数据库技巧的计划,从数据采集方法,树破数据库表结构,定时轮询,查问数据,生成折线图表等方面进行功能剖析跟数据显现。博世壁挂炉小时服务电话在壁挂炉诞生并进入商品时代的几十年中,包括中国在内的各国暖通产品市场上,涌现出了各式各样结构性能的壁挂炉。
     要害词:壁挂炉;数据库;数据采集;远程把持体系;MySQL     前言     随着2014年壁挂炉产品技巧的发展,支撑WiFi通信的壁挂炉温控器开端陆续出当初市场上,咱们开端迈进了通过智能手机远程把持壁挂炉的时代。利用智能手机通过互联网把持壁挂炉的功能,对用户来说确实十分便捷。     目前市道上的产品重要支撑开关型,把持壁挂炉温控器的开关,目标温度,工作模式跟编程模式,同时可能获取当前房间的实际温度等。用户在离开家后,可能依照自己的意愿对壁挂炉进行设置,比方上班时光,家中无人,可能把壁挂炉目标温度设置到5度,为不供暖状况,有效节俭燃气;将要回家时,可能提前一两个小时,将壁挂炉目标温度晋升到24度以上,到家就可能享受到舒服的暖意。     假如生活有法则,就可能设置编程模式,从周一到周日,7天,每天24小时,按时光段设置温度表跟日程,温控器就会主动依照模式进行工作,到点就按盘算转变目标温度。     以上这所有功能都可能通过远程设置实现,因此通信数据采集,交互,存储的须要就应运而生。数据库(Database)是依照数据结构来组织、存储跟治理数据的仓库,它产生于距今60多年前,随着信息技巧跟市场的发展,特别是20世纪90年代当前,数据治理不再仅仅是存储跟治理数据,而转变成用户所须要的各种数据治理的方法。数据库有很多品种型,从最简单的存储有各种数据的表格到可能进行海量数据存储的大型数据库体系,都在各个方面得到了普遍的利用。     本文依据实际的名目教训,提出壁挂炉远程把持体系中利用数据库技巧的计划。     行业产品现状     目前市场上支撑WiFi通信的壁挂炉温控器重要连接方法如下图1:重要功能有:1.设置目标温度;2.查问房间实际温度;3.设置工作模式,分为手动模式,编程模式跟关机模式;4.设置编程模式下的温度点。按一周七天24小时的温度设置,个别有每小时一个点,也有半小时一个温度点两种。比方可能设置周一,0点到8点22度,9点到16点5度,即是不供暖,17点到23点24度等,这样就产生了一个目标时光温度曲线,是二维的图表。      1.当前温度显示;2.WiFi连接状况;3.手动模式:依照一个目标温度运行;4.编程模式:依照编程时光段运行;5.关机模式:封闭锅炉采暖功能;6.采暖工作状况:唆使锅炉是否开启采暖。     用于远程把持的APP界面,见下图2。     所有这些功能都很便利,但如何察看壁挂炉长期运作的情况便是一个问题,用手机终端查问只能是当前的参数状况,无奈得到历史数据。而对编程模式下壁挂炉运行状况是否合乎时光温度曲线,也是个疑难。因此数据库技巧的利用是解决这些问题的要害。壁挂炉温控器的嵌入式软件无奈直接与数据库软件连接,须要旁边服务器软件负责数据采集跟转存。这也产生采取不同采集方法的探讨。      市道上盛行的云暖把持器产品      1.当前温度显示;2.WiFi连接状况;3.手动模式:依照一个目标温度运行;4.编程模式:依照编程时光段运行;5.关机模式:封闭锅炉采暖功能;6.采暖工作状况:唆使锅炉是否开启采暖。      1.模式键,切换手动、编程模式,长按5秒关机;2.设置键,长按5秒连接WiFi;3.旋钮,旋转旋钮设置手动模式温度。     数据库技巧简介        数据库技巧目前利用范畴最广的是关联数据库。     关联数据库,是树破在关联数据库模型基本上的数据库,借助于聚集代数等概念跟方法来处理数据库中的数据,同时也是一个被组织成一组领有正式描述性的表格,该情势的表格作用的实质是装载着数据项的特别收群体,这些表格中的数据能以很多不同的方法被存取或从新招集而不须要从新组织数据库表格。     关联数据库的定义造成数据的一张表格或造成表格、列、范畴跟束缚的正式描述。每个表格(有时被称为一个关联)包含用列表示的一个或更多的数据品种。每行包含一个唯一的数据实体,这些数据是被列定义的品种。当发明一个关联数据库的时候,你能定义数据列的可能值范畴跟可能利用于那个数据值的进一步束缚。     而SQL语言是标准用户跟利用程序到关联数据库的接口。其上风是轻易裁减,且在最初的数据库发明之后,一个新的数据品种能被增加而不须要修改所有的现有利用软件。目前主流的关联数据库有oracl
  E、db2、sqlserve
  R、sybas
  E、mysql等。     首先让咱们对数据库有一个基本意识,介绍一下数据库的组成:     1.一个数据库是表(Table)的聚集,它由一个或多个SQL模式定义。2.一个表由行集形成,一行是列的序列(聚集),每列与行对应一个数据项。3.一个表或者是一个基本表或者是一个视图。基本表是实际存储在数据库的表,而视图是由若干基本表或其余视图形成的表的定义。4.一个基本表可能跨一个或多个存储文件,一个存储文件也可寄存一个或多个基本表。每个存储文件与外部存储上一个物理文件对应。5.用户可能用SQL语句对视图跟基本表进行查问等操作。在用户角度来看,视图跟基本表是一样的,不差别,都是关联(表格)。     数据库的基本操作:1.数据库的树破跟连接;2.数据库的查问,针对表跟视图,即是获取数据记录;3.插入新数据,针对表,新增数据记录;4.数据库数据的更新,更新表中的数据内容;5.数据库数据的删除,删除表中的数据记录。     数据库技巧在壁挂炉远程把持体系中的利用剖析    
  一、数据采集的方法     因为壁挂炉温控器嵌入式软件无奈直接与数据库软件连接,须要旁边服务器软件负责数据采集跟转存。倡导利用以下软件结构计划:      采集数据的方法重要有两种,一是推送式,二是轮询式,重要差别在于通信方向的不同。     1.推送式,是壁挂炉温控器主动以一定的时光间隔,向服务器软件发送产品数据。2.轮询式,是服务器软件以一定时光间隔,向壁挂炉发送查问指令,由壁挂炉应答数据。基于进级维护的起因,服务器软件便于修改进级,时光间隔可能随便设置,如1分钟,5分钟等,也可能即时下发指令查问。而壁挂炉真个软件进级维护较艰苦,假如要转变时光间隔,还须要对产品下发修改时光间隔的指令。所以咱们倡导利用轮询的数据采集方法。    
  二、数据库表结构的树破     MySQL是一个关联型数据库治理体系,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是最盛行的关联型数据库治理体系,在WEB利用方面MySQL是最好的关联数据库治理体系利用软件之一。MySQL是一种关联数据库治理体系,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并进步了机动性。MySQL所利用的SQL语言是用于拜访数据库的最常用标准化语言。因为其体积小、速度快、总体领有本钱低,尤其是开放源码这一特点,个别中小型网站的开发都抉择MySQL作为网站数据库。因为其社区版的机能杰出,搭配PHP跟Apache可组成良好的开发环境。     因此咱们选用MySQL作为数据库,以下相干代码都基于MySQL数据库履行。     1 创建数据库     创建数据库(假如数据库名为boiler)create database boiler;     2 创建表      以下为创建表的SQL语句:     CREATE TABLE `tboiler_runninglogs` (     `rid` int
  (11) NOT NULL AUTO_INCREMENT,     `ID` int
  (10) DEFAULT NULL,     `Rdatetime` datetime DEFAULT NULL,     `CurRoomTemp` double DEFAULT NULL,     `TrgRomTemp` double DEFAULT NULL,     `WarmState` tinyint
  (4) DEFAULT NULL,     `WorkMode` tinyint
  (4) DEFAULT NULL,     `Memo` varchar(50) CHARACTER SET gbk DEFAULT NULL,     PRIMARY KEY (`rid`)     ) ENGINE=InnoDB DEFAULT CHARSET=latin1;    
  三、向表中插入数据     例如:产品编号是5067455;当前时光是2014/11/16
  11:
  16:36;当前房间实际温度是25.5度;目标温度是26度;取暖状况是1;工作模式是2;备注是畸形运行。     向tboiler_runninglogs表插入记录的SQL语句为:     INSERT INTO tboiler_runninglogs VALUES     (NULL,,’ 5067455’,'2014/11/16
  11:
  16:36','25.5','26','1',’2’,’畸形运行’)     因为须要服务器软件定时下发查问指令,须要在软件中设置定时器来调用插入数据库函数,以实现数据采集功能。博世冰箱售后维修通过压缩机、制冰机来结冰的柜或箱,还带有制冷装置的储藏箱。博世壁挂炉售后维修一种以天然气为能源的热水器,具有防冻保护、防干烧保护、意外熄火保护、温度过高保护、水泵防卡死保护等多种安全保护措施。     咱们以VC2008举例说明。先编写一个调用数据库模块,插入记录的函数。     int CSQLDatabase::Insertlog     (int uid,CString TrgRomTemp,CString CurRoomTemp,CString WarmState,CString WorkMode)     {      CString strSql;     strSql.Format("INSERT INTO tboiler_runninglogs VALUES (NULL,'%u',NOW(),'%s','%s','%s','%s',NULL)",uid,CurRoomTemp,TrgRomTemp,WarmState,WorkMode) ;     int i;     i=mysql_query(m_Sock, strSql);     return i;     }     而后在定时器中设置大于60秒后,采集数据并插入数据库。     m_nInsertToDBCounter++;     if(pSocket->m_nInsertToDBCounter>=60)     {     m_nInsertToDBCounter=0;     CString trgTemp=当前目标温度;     CString curTemp=当前房间实际温度;     CString WarmEnable=是否供暖状况;     String WorkMode=当前工作模式;     mSqlDatabase. Insertlog(m_dwBoilerDeviceID,trgTemp,curTemp,WarmEnable,WorkMode);      }     这样数据库的采集存储功能就初步实现。    
  四、数据查问剖析,核查,生产图表     1 查问数据     要查问tboiler_runninglogs全部数据用以下SQL语句:     Select * from tboiler_runninglogs     要查问单个壁挂炉产品的数据,用以下SQL语句:     Select * from tboiler_runninglogs     Where ID = 壁挂炉产品编号      2 生成图表     通过将时光作为X轴,温度数值作为Y轴,就可能生成对于房间实际温度跟目标温度的折线图,如下所示:以下是手动模式下的房间实际温度跟目标温度对比的折线图:      从图中可能看出房间时光温度基本上在目标温度高低稳定,范畴在正负0.2度内,证明壁挂炉在畸形工作。通过数据库技巧的利用,服务器软件就可能实时采集壁挂炉数据,并连续一直地保存到数据库中。当然,以上的数据仅仅以一天的壁挂炉采集记录作为剖析,事实上咱们可能以周、月,甚至年为单位对壁挂炉工作数据进行剖析。有了数据库作为壁挂炉工作数据长期存储工具,这使日后针对壁挂炉产品的运行,用户的生活习惯,进行大数据剖析,供给了有力的数据基本。这也证明了壁挂炉产业正式接入了云服务,云贮存的范畴。     参考文献     [1]翁祖泉,张琪. 基于物联网海量数据处理的数据库技巧剖析与研究. 物联网技巧2014.6     [2]王运红,何灵娜. 机电工程. 基于Android平台智能家居客户真个设计与实现2014.8