一种基于物联网的指令学习方法

文档序号:6551914阅读:145来源:国知局
一种基于物联网的指令学习方法
【专利摘要】本发明公开了一种基于物联网的指令学习方法,其特征是按如下步骤进行:1.在学习指令的参数定;2.学习指令的参数录入;3.学习指令的参数传递;4.学习指令的参数存储;5.学习指令的更新判断;6.学习指令的参数解析;7.学习指令传输;8.学习指令存入与发送;9.学习指令的绑定。本发明能规范指令学习系统,方便用户扩展指令功能并降低开发成本。
【专利说明】-种基于物联网的指令学习方法

【技术领域】
[0001] 本发明涉及物联网智能家居,尤其涉及一种基于物联网家居的扩展。

【背景技术】
[0002] 随着社会经济水平的飞速发展,生活节奏的加快,来自各方面的压力,使得人们越 发看中家庭生活的舒适性、安全性和智能性。于是根基于中控系统的物联网家居行业发展 得日渐强盛。所谓物联网家居,是一个以住宅为平台装置安防、影音、灯光、窗帘等智能产品 综合控制的一个有机系统体,不是某个单一的产品就能构成物联网家居,它所涉及的面非 常广,少不了安防、家电、IT和系统集成商的密切合作,这就要求各个设备之间能够完美地 兼容。
[0003] 目前存在的物联网家居系统已经作为一个独立的系统而言,已经可以很轻松的实 现对家居智能控制。但是想在此基础上进行家用电器的扩展,任意添置用户购买的新家电, 对目前已有的系统而言仍是一个大问题。所以,如何构建一个标准,如何设计一套可以随意 扩展的物联网家居的系统已经成为一个大问题。
[0004] 目前存在的一些对新型家用电器的融合技术必须依靠物联网家居开发者重新开 发,针对不同的家电采取物联网家居提供者自己定义的标准以及采用物联网家居开发者提 供的标准设备,这样不仅开发周期长而且给用户的使用会带来一定的困扰。


【发明内容】

[0005] 本发明是为了解决现有物联网家居系统的不足之处,提出的一种基于物联网家居 的指令学习方法,能规范指令学习系统,方便用户扩展指令功能并降低开发成本。
[0006] 本发明为解决技术问题采用如下技术方案:
[0007] 本发明一种基于物联网的指令学习方法的特点是,在物联网环境中,存在PHP服 务器、服务器客户端、本地控制器、与所述本地控制器所具有的ID号相对应的手持控制终 端、以及具有相同硬件地址和不同ID号的子控制模块;
[0008] 所述指令学习方法是按如下步骤进行:
[0009] 步骤1、学习指令的参数定义
[0010] 所述学习指令为NEOID :idACT :actionC0MM :command ;id为所述子控制模块的身 份识别号参数,action为所述子控制模块所需执行动作参数,command为所述子控制模块 所需执行的控制指令参数;
[0011] 步骤2、学习指令的参数录入
[0012] 在所述手持控制终端上设置一个可输入身份识别号ID的文本框用于接收所述学 习指令中的身份识别号参数id、一个可输入指令动作ACT的文本框用于接收所述学习指令 中的执行动作参数action、以及一个可输入控制指令C0MM的文本框用于接收所述学习指 令中的控制指令参数command ;
[0013] 步骤3、学习指令的参数传递
[0014] 所述手持控制终端通过所设置的各文本框采集到相应的身份识别号参数id、执行 动作参数action以及控制指令参数command并通过网页链接以POST方式传递给所述PHP 服务器;
[0015] 步骤4、学习指令的参数存储
[0016] 所述PHP服务器接收所述身份识别号参数id、执行动作参数action以及控制指令 参数co_and并获取当前系统时间作为参数接收时间点后一并写入所述PHP服务器的htm 文件中;
[0017] 步骤5、学习指令的更新判断
[0018] 所述服务器端开启文件扫描线程,在所述文件扫描线程中利用While语句对所述 htm文件进行循环分析,判断在所述参数接收时间点是否存在更新,当所述参数接收时间点 存在更新时执行学习指令的参数解析;
[0019] 步骤6、学习指令的参数解析
[0020] 所述服务器客户端提取所述htm文件中的学习指令,并利用字符串解析方法解析 出所述学习指令中的身份识别号参数id、执行动作参数action以及控制指令参数command 并存入数据库中;
[0021] 步骤7、所述服务器客户端通过以太网将所述学习指令传输到所述本地控制器 中;
[0022] 步骤8、所述本地控制器将所接收的学习指令存入flash存储器中,并通过自身的 无线数传模块发送给各子控制模块;
[0023] 步骤9、所述各子模块判断所接收的学习指令中的身份识别号参数id是否与根据 自身的ID号相同,在相同时根据所述动作参数与函数对应表将所述控制指令参数command 与动作参数action所对应的函数进行绑定获得所述控制指令参数co_and与函数的绑定 关系,并将所述绑定关系存入所述flash存储器中,从而完成指令学习。
[0024] 与已有技术相比,本发明有益效果体现在:
[0025] 1、本发明针对用户只能使用物联网家居开发者提供的指定家用电器,而且当用户 添置新电器时很难融合到当前使用的物联网家居系统中来这个问题,构建一套指令学习方 法,开发者可以对子控制模块进行二次开发,设置自己的家电扩展的标准器件,当用户添置 新家电时,不需要家居系统提供商进行复杂的开发,只需要简单的接线就可实现对家居的 扩展,从而实现用户当前的物联网家居系统对用户添置的新家电的简单融合。
[0026] 2、本发明无需对不同家电进行多次开发,只需要构建一个动作参数与函数对应 表,将指令与家电需要执行的动作对应起来,在以后的使用中直接对指令数据库进行调用 即可,大大减少了开发周期与开发成本。

【专利附图】

【附图说明】
[0027] 图1为本发明应用环境示意图。

【具体实施方式】
[0028] 本实施例中,如图1所示,一种基于物联网的指令学习方法是在物联网环境中,存 在PHP服务器、服务器客户端、本地控制器、与本地控制器所具有的ID号相对应的手持控制 终端、以及具有相同硬件地址和不同ID号的子控制模块;手持控制终端用于用户输入学习 指令的内容,并且将用户输入的内容传输至PHP服务器,PHP服务器用于实现命令的转发, 根据用户传入学习指令时使用的ID,服务器客户端会通过这个ID将指令传输至用户家中 的本地控制器。本地控制器通过以太网端口或WIFI连接实现与PHP服务器在INTERNET上 的数据交互,本地控制器内置指令识别软件,并且包含有对子控制模块的指令,通过对PHP 服务器发送的指令进行识别后并针对各个子控制模块通过2. 4G无线网络发送控制信息, 各个子控制模块也可以根据接收到的控制指令实现对家电的控制。如,灯光子控制模块可 以控制家居照明设备的开关,电源子控制模块可以控制家电1、家电2、家电3的开关等。具 体的,是按如下步骤进行指令学习:
[0029] 步骤1、学习指令的参数定义
[0030] 学习指令为NEOID :idACT :actionC0MM :command ;id为子控制模块的身份识别号 参数,action为子控制模块所需执行动作参数,command为子控制模块所需执行的控制指 令参数;这个指令的格式可以由开发者自行定义,不过一条完整的指令应包含子控制模块 的身份识别号,子控制模块所需执行动作参数,子控制模块所需执行的控制指令参数这些 基本内容。
[0031] 步骤2、学习指令的参数录入
[0032] 在手持控制终端上设置一个可输入身份识别号ID的文本框用于接收学习指令中 的身份识别号参数id、一个可输入指令动作ACT的文本框用于接收学习指令中的执行动作 参数action、以及一个可输入控制指令C0MM的文本框用于接收学习指令中的控制指令参 数 C〇_and;手持控制终端的使用界面可由开发者自行定义,建议设置的文本框数量能够 填写学习指令所需全部信息。本实施例中,是在eclipse+Android ADT开发环境下,新建一 个Android项目后,可以通过修改所述Android项目的布局文件*. xml相关的代码,实现对 界面的设计以及布局,或者可以通过Google公司提供的DroidDraw可视化图形界面设计工 具,通过对可视化图形界面组件进行简单的拖拽搭建合适的可视化图形界面,然后直接利 用DroidDraw生成相应的布局文件代码,再黏贴到所述Android项目的布局文件中。
[0033] 步骤3、学习指令的参数传递
[0034] 手持控制终端通过所设置的各文本框采集到相应的身份识别号参数id、执行动作 参数action以及控制指令参数command并通过网页链接以POST方式传递给PHP服务器; 该网页链接根据用户的服务器的域名以及对传递的学习指令的参数进行处理的php文件 的位置决定,需要保证php能够准确接收到手持控制终端传递的学习指令数据。
[0035] 步骤4、学习指令的参数存储
[0036] PHP服务器接收身份识别号参数id、执行动作参数action以及控制指令参数 command并获取当前系统时间作为参数接收时间点后一并写入PHP服务器的htm文件中; [0037] 步骤5、学习指令的更新判断
[0038] 服务器端开启文件扫描线程,在文件扫描线程中利用while语句对htm文件进行 循环分析,判断在参数接收时间点是否存在更新,当参数接收时间点存在更新时执行学习 指令的参数解析;由于开发者使用的服务器平台可能有所不同,所以不同平台的功能实现 方式可能不同。比如在Windows NT系统环境中,可以使用Visual C++6. 0开发工具,仓ij建基 于对话框的MFC项目,接下来开发者可以在需要的位置开启文件扫描线程,进而实现下面 的功能。
[0039] 步骤6、学习指令的参数解析
[0040] 服务器客户端提取htm文件中的学习指令,并利用字符串解析方法解析出学习指 令中的身份识别号参数id、执行动作参数action以及控制指令参数co_and并存入数据库 中;字符串解析方法也有很多种方式,开发者可以根据自己设定的学习指令的格式设计相 应的解析方式。比如,开发者可以根据设定的学习指令的格式,找出相应的关键字在学习指 令字符串中的位置,然后可以利用字符串提取函数将指定范围的字符串提取出来。
[0041] 步骤7、服务器客户端通过以太网将学习指令传输到本地控制器中;针对不同型 号的单片机,其接入互联网的方式存在多种多样,如通过GPRS分组无线服务技术,WLAN无 线局域网技术等;所以,本地控制器与服务器的远程连接的方式并不局限于以太网模式,可 以根据开发者的喜好和用户使用环境来定。
[0042] 步骤8、本地控制器将所接收的学习指令存入flash存储器中,并通过自身的无线 数传模块发送给各子控制模块;
[0043] 步骤9、各子模块判断所接收的学习指令中的身份识别号参数id是否与根据自身 的ID号相同,在相同时根据动作参数与函数对应表将控制指令参数command与动作参数 action所对应的函数进行绑定获得控制指令参数co_and与函数的绑定关系,并将绑定关 系存入flash存储器中,从而完成指令学习。
[0044] 实施例
[0045] 为了验证本学习方法的实际操作性和可行性,开始搭建学习系统需要的环境,包 括虚拟主机一台,小米2S Android手持终端一部,MSP430G2553为控制核心本地控制器一 个,MSP430G2553为控制核心子控制模块一个。
[0046] 虚拟主机需要支持PHP语言,为虚拟主机绑定域名study_test. com. cn,在虚拟主 机的web目录下创建为完成学习系统功能所必备的文件如学习指令处理文件study, php, 学习指令更新存储文件com_tem. htm。
[0047] 设定学习指令的格式 NE0ID :idACT :actionC0MM :command
[0048] 使用eclipse+Android ADT开发环境开发指令学习应用程序Study, apk,首先根 据软件使用说明创建Android Application工程,工程取名Study。创建好工程后,便可以 修改· · /res/layout下的main_activity. xml文件,按照说明文档中的要求设计可视化图 形界面,界面设定好后,需要修改/src/..目录下的java代码文件,实现人机界面交互的 功能。具体功能实现主要为当用户在界面设置的各个文本框内输入完成学习指令需要的数 据后,如在子控制模块身份识别号文本输入框内输入子控制模块身份识别号0001,在子控 制模块所需执行动作参数文本输入框内输入动作OPEN THE LED,在子控制模块所需执行的 控制指令参数文本输入框内输入精简指令ELYL。点击提交按钮,该学习程序会自动访问链 接:
[0049] www.study_test.com.cn/study.php?id =0001 &action=OPEN THE LED&command=ELYL
[0050] 利用POST方式实现学习指令参数的传递。
[0051] 在虚拟主机中开启文件扫描线程,不断扫描指令存储文件,当该指令存储文件中 存储的时间信息存在更新时,虚拟主机相应的服务端就会把指令数据封装到UDP数据包中 发送到本地控制器中。
[0052] MSP430G2553为控制核心本地控制器主要搭载以太网转串口模块,并设定好ip地 址,并且设置串口数据接收中断,当接收到指令数据后,通过说明文档中介绍的字符串解析 方法实现对指令数据的解析提取,之后便通过2. 4G无线数传模块传输出去。
[0053] 接下来子模块就按照说明文档中的过程执行学习的功能。
[0054] 为了验证学习过程是否顺利进行,通过指令控制功能,当用户发送控制指令后,实 现对家居的控制。
【权利要求】
1. 一种基于物联网的指令学习方法,其特征是,在物联网环境中,存在PHP服务器、月艮 务器客户端、本地控制器、与所述本地控制器所具有的ID号相对应的手持控制终端、以及 具有相同硬件地址和不同ID号的子控制模块; 所述指令学习方法是按如下步骤进行: 步骤1、学习指令的参数定义 所述学习指令为NEOID: idACT: actionCOMM: command ;id为所述子控制模块的身份识 别号参数,action为所述子控制模块所需执行动作参数,command为所述子控制模块所需 执行的控制指令参数; 步骤2、学习指令的参数录入 在所述手持控制终端上设置一个可输入身份识别号ID的文本框用于接收所述学习指 令中的身份识别号参数id、一个可输入指令动作ACT的文本框用于接收所述学习指令中的 执行动作参数action、以及一个可输入控制指令COMM的文本框用于接收所述学习指令中 的控制指令参数command ; 步骤3、学习指令的参数传递 所述手持控制终端通过所设置的各文本框采集到相应的身份识别号参数id、执行动作 参数action以及控制指令参数command并通过网页链接以POST方式传递给所述PHP服务 器; 步骤4、学习指令的参数存储 所述PHP服务器接收所述身份识别号参数id、执行动作参数action以及控制指令参数 command并获取当前系统时间作为参数接收时间点后一并写入所述PHP服务器的htm文件 中; 步骤5、学习指令的更新判断 所述服务器端开启文件扫描线程,在所述文件扫描线程中利用while语句对所述htm 文件进行循环分析,判断在所述参数接收时间点是否存在更新,当所述参数接收时间点存 在更新时执行学习指令的参数解析; 步骤6、学习指令的参数解析 所述服务器客户端提取所述htm文件中的学习指令,并利用字符串解析方法解析出所 述学习指令中的身份识别号参数id、执行动作参数action以及控制指令参数command并存 入数据库中; 步骤7、所述服务器客户端通过以太网将所述学习指令传输到所述本地控制器中; 步骤8、所述本地控制器将所接收的学习指令存入flash存储器中,并通过自身的无线 数传模块发送给各子控制模块; 步骤9、所述各子模块判断所接收的学习指令中的身份识别号参数id是否与根据自身 的ID号相同,在相同时根据所述动作参数与函数对应表将所述控制指令参数command与动 作参数action所对应的函数进行绑定获得所述控制指令参数co_and与函数的绑定关系, 并将所述绑定关系存入所述flash存储器中,从而完成指令学习。
【文档编号】G06F9/44GK104063227SQ201410310189
【公开日】2014年9月24日 申请日期:2014年6月30日 优先权日:2014年6月30日
【发明者】刘学亮, 孙培杰, 郭莎, 罗娜, 汪萌, 洪日昌 申请人:合肥工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1