CN1838070A - 在用于网络管理的主机的应用和库之间的接口方法和设备 - Google Patents
在用于网络管理的主机的应用和库之间的接口方法和设备 Download PDFInfo
- Publication number
- CN1838070A CN1838070A CNA2005101362231A CN200510136223A CN1838070A CN 1838070 A CN1838070 A CN 1838070A CN A2005101362231 A CNA2005101362231 A CN A2005101362231A CN 200510136223 A CN200510136223 A CN 200510136223A CN 1838070 A CN1838070 A CN 1838070A
- Authority
- CN
- China
- Prior art keywords
- network
- storehouse
- function
- message
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/283—Processing of data at an internetworking point of a home automation network
- H04L12/2832—Interconnection of the control functionalities between home networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及用于控制在家庭网络上工作的多种应用和库之间的装置以保证它们的兼容性的接口方法和设备。根据本发明的接口方法公开了初始化在用于管理家庭网络的装置中执行库,设置用于管理家庭网络的家庭码,排它地管理家庭网络上每个装置的地址和设置装置监控所需的条件的过程。
Description
技术领域
本发明涉及用于在程序之间接口的方法和设备,该程序比如在家庭网络服务器上执行的控制应用和用于访问远程装置的库。
背景技术
随着用在家庭中的电子用具增加,也增加了对于以集中化方式控制电子用具的有效方法的需要。结果,提出了基于LAN或电力线通信的家庭网络。
在家庭网络中存在的电子用具可能由不同制造商制造。如果制造商不同,与电子产品一起提供的用于支持访问家庭网络的库也会不同。不同的库需要和比如控制程序的应用程序的不同接口。
如果接口方法不同,因为仅能在具有应用基于其的特定库的装置上执行应用,不能保证应用程序的兼容性。结果,库的开发者是当购买应用程序时应该考虑的一个因素。
发明内容
本发明的目的是提供一种标准接口方法和设备,其保证了家庭网络的多种应用和库之间的兼容性。
本发明提供了在家庭网络主机(服务器)的应用和库直接的驱动过程。
本发明提供了用于在建立家庭网络时设置作为网络的唯一标识符的家庭码的方法和设备。
本发明提供了用于设置或修改家庭网络装置的地址的方法和设备。
本发明提供了用于设置家庭网络装置的操作选项(例如,活跃状态报告周期、时间、事件报告激活等)的方法和设备。
在其中应用在根据本发明的用于管理网络的装置中开始的方法中,应用向装置中的库请求初始化,请求库以获得和网络连接的装置的列表和关于装置的信息,且请求库以登记在网络上的装置上产生的事件,且调回函数以处理事件。
根据本发明的用于设置网络的方法发送网络上的任意广播消息,且基于还是否存在对于任意广播消息的响应,来确定是初始建立网络或进行了装置的添加。如果确定进行了网络的初始建立,本方法命令网络适配器创建家庭码,发送任意广播消息,且检测是否存在对于广播消息的响应。之后,如果不存在对于发送的广播消息的响应,本方法在网络上广播用于设置家庭码的命令消息。
在用于初始化在网络上的装置以监控活跃状态的方法中,应用调用库的函数,用于以携带时间信息的输入变元设置时间,时间信息用于确定装置是否活跃,且库发送第一消息到和网络连接的装置,第一消息命令装置发送第二消息以在由时间信息指定的间隔周期性地通知活跃。
在用于设置当前时间到网络上的装置的方法中,应用调用库的函数用于以携带关于当前时间的信息的输入变元设置当前时间,且库发送包括关于当前时间的信息的消息到和网络连接的装置,该消息命令装置以信息设置当前时间。
在用于控制网络上的装置的事件报告的方法中,应用调用库的函数,用于以携带指示有效或无效的值的输入变元设置事件报告动作为有效/无效,且库发送消息到和网络连接的至少一个装置,该消息命令至少一个装置设置事件报告动作到有效和无效的一个状态,且由输入变元携带的值指定一个状态。
用于分配地址给网络上的装置的方法接收通知第一装置连接网络的第一消息,搜索未分配的地址的数据库,发送第二消息命令以设置未分配的地址到第一装置,且如果从第一装置响应地址设置成功,改变未分配的地址以分配一个,如果在网络上存在第二装置,本方法发送更新另一数据库的第三消息命令到管理另一数据库的第二装置。
附图说明
图1说明了其中有益地具体表现本发明的家庭网络的概略图;
图2说明了示出在如图1所示的装置的启动期间执行的步骤的流程图;
图3a说明了示出图1中的库单独处理事件的过程的流程图;
图3b说明了示出了图1中的库以集成方式处理时间的过程的流程图;
图4说明了用于在应用和库之间交换命令以单独监控/修改/控制家庭网络装置的结构;
图5a到5c说明了用于库在每个家庭网络装置中设置家庭码的流程图;且
图6说明了用于分配地址给家庭网络上的装置的流程图。
具体实施方式
为了全面理解本发明,现在参考附图描述其优选实施例。
图1是示出了根据本发明的包括服务器和受控装置的家庭网络的概略图。
根据本发明的服务器包括用户应用100(例如,家庭网络管理程序),库110,其包括访问家庭网络所需的函数和执行例程,和网络适配器100,其用于访问物理网络200(例如,电力线或LAN电缆)。库110也被称为LnCP(居住网络控制协议)库。如图1所示的家庭网络包括由服务器控制的远程装置301和302。由库110的执行例程监控、修改和/或控制装置的状态。由用户应用100(在下文中被称为控制应用)经由库100定义的API调用用于这种操作的命令,这将在下面详细描述。
首先,描述其中服务器找到家庭网络上的有效装置的方法。
为获得和家庭网络连接的装置的列表,控制应用100调用库110的下面函数:get_active_device_list(&active_device_list)。
之后库110经输入变元(也就是,active_device_list)传递关于家庭网络上的有效装置的信息。该信息包括有效装置的总数和装置列表。关于列表上每个装置项目的信息被定义如下:
typedef struct device{
device_descriptor_t dd;
device_type_t device_type;
device_mode_t device_mode;
}device_t。
关于每个装置的信息包括装置描述符信息,和装置类型及模式,且其可以进一步包括协议索引。类型指定装置的类型(例如,冰箱或洗衣机)。模式指示装置是主机或子机。
当传递关于有效装置的信息到控制应用100时,库110分配其内部内存用于每个有效装置。
如果不再使用有效装置,控制应用100通过调用下面函数除去有效装置的列表,以释放为有效装置分配的内存:
release_active_device_list(&active_device_list)。
下面描述详细说明了其中服务器获得关于在家庭网络上存在的有效装置的更加详细的信息的方式。
控制应用100能够通过调用下面函数获得关于装置的更加详细的信息:get_device_info_by_dd(device_descriptor_t dd,device_info_t*ret_entry),其中,“dd”是唯一地识别在家庭网络上的装置的装置描述符。由“dd”指定的关于装置的详细信息由库110经输入变元ret_entry返回,该输入变元ret_entry是到如下定义的数据结构的指针:
typedef struct device_info{
device_descriptor_t dd;
unsigned short 地址;
device_type_t device_type;
char model[MAX_MODEL_NAME_LEN];
unsigned char 位置;
}device_info_t;
其中,“地址”是通过组合装置的类型和序列号获得的值,“型号”是描述型号名称的文本,且“位置”是指示装置的物理位置(例如,客厅或卧室)的信息。
在以上述方式获得关于特定装置的信息之后,控制应用100调用库110的合适函数以执行用户要求的命令。如果确定不需要获得的信息,控制应用100调用库110的函数以释放库110为装置分配的内存,由此允许内存用于其它目的。
下面将描述其中控制应用100处理从家庭网络移去装置的情况的方式。
控制应用100登记当移去装置时发生的事件(也就是,装置移去事件),和当在库110中发生事件时通过调用下面函数执行的调回函数:add_sys_event_func_entry(EVT_SYSTEM_PLUG_OUT,plugout_event_handler)。
如果在家庭网络上发生EVT_SYSTEM_PLUG_OUT的事件(分配给拔出事件的值),库100执行登记的调回函数(plugout_event_handler)。在该情况中,库110经输入变元dd将装置描述符或协议索引值传递到调回函数,也就是,库110调用下面函数:plugout_event_handler(sys_event_value_t dd),其从有效装置的列表移去了特定装置。
如果控制应用100在库110中登记了移去事件之后不想接收装置移去事件,控制应用100通过调用下面函数移去登记的事件和调回函数:del_sys_event_func_entry(EVT_SYSTEM_PLUG_OUT,plugout_event_handler,其中,将移去的事件和调回函数作为输入变元给予函数。
库110的函数del_sys_event_func_entry()从***事件管理者的表删除由输入变元给定的事件和调回函数,以移去登记的plugout_event_handler函数。
当在网络上登记的但是没有连接到网络的装置再次连接网络时,可以以和装置移去事件基本上相同的方式添加装置,且登记其相关的调回函数。但是,在这个情况中,事件不是EVT_SYSTEM_PLUG_OUT而是EVT_SYSTEM_ACTIVE_DEVICE_ADD,且相关的调回函数通知用户添加装置或执行所需任务以添加装置。
对于如图1所示的服务器中的控制应用和库的正常操作,应该根据预先定义的过程进行控制应用100和库110之间的函数调用和信息交换。
图2是示出了所需过程的流程图。当执行时,控制应用100首先装载用户接口(S21)。如果在合适的阶段进行,不需要首先进行用户接口的装载。在初始启动阶段可以不装载用户接口。
控制应用110做出用于库110的初始化的请求(S22)。当做出请求时将关于待控制的装置的信息(例如,通信端口,端口波特率等)传递到库110。之后控制应用100找到有效装置和获得关于每个有效装置的信息(例如,制造者、产品姓名、型号等)以作为每个装置的初始信息管理(S23)。接下来,控制应用100登记事件(例如,***事件和拔出事件)和事件管理者(调回函数)以处理事件(S24)。当在完成所有需要的步骤之后发生***事件时,LnCP库110调用和登记的***事件相关联的调回函数以处理事件(S25)。
如果需要,控制应用100可以通过调用移去的函数来移去登记的事件和其调回函数。
现在将描述通知装置状态中的改变的方法。支持访问家庭网络的装置装备有当装置的状态改变时(例如,电源状态、操作状态、操作温度、操作模式、所选进程等改变)产生状态事件的函数。根据事件发生的原因将状态事件划分为5个种类,其是当用户经按键等向装置作出请求时发生的用户事件,周期性发生的周期性事件(例如,接收周期性的活跃通知消息),当装置的状态(例如,温度、湿度或冲洗进程)改变时发生的状态改变事件,在装置中出现误差的情况下发生的误差事件,和在比如网络服务器的外部装置请求(例如,当网络管理器作为家庭服务器工作时从远程装置请求的通信)发生的外部事件。
事件允许有效和方便地管理装置在于自动通知用户家庭网络状态的改变,而不需要请求家庭网络的状态。在其中经事件即时通知误差的情况中装置故障或操作误差的情况中,事件特别有用。
当装置产生事件时,装置传递用于指示事件类型的事件码和事件值(其是在其产生事件的状态的值)。
为处理产生的事件,控制应用100首先登记事件调回函数以处理事件。存在两种处理事件的类型。一种类型是一个调回函数仅处理一个事件,且另一类型是一个调回函数处理每个事件。
在其中一个调回函数仅处理一个事件的情况中,控制应用100通过调用函数int add_event_handler(device_descriptor_t dd,event_code_tec,user_event_func_t uefunc),在库110中登记被定义为typedefvoid(*user_event_func_t)(event_valuel_t event_value)的调回函数,以及装置描述符“dd”和事件码“ec”,其中“ec”是库110将报告的事件类型,且“uefunc”是到调回函数的指针。
库110在彼此链接时登记输入变元到散列表中的函数。如果由事件处理模块解析分组,库110检查在解析的分组中是否存在误差。如果不存在误差,库110确定分组是否是事件分组。
如果确定分组是事件分组,库110基于关于产生事件的装置的信息和事件码,搜索其散列表用于装置描述符和与事件相关联的事件码,且使用登记的函数指针uefunc调用相关联的调回函数(图3a中的301)。当经“uefunc”调用调回函数时,库110将作为输入变元的“event_value”传递到函数。“event_value”是在其产生事件的状态的值。控制应用100根据值通知用户发生事件或执行预先定义的操作。
在其中一个事件管理者处理每个事件的情况中,控制应用100通过调用函数int add_all_event_handler(user_all_event_func_t func)在库110中登记被定义为typedef void(*user_all_event_func_t)(unsignedshort device_addr,unsigned char size,unsigned char*event_data)的调回函数。
其中登记处理每个事件的调回函数的散列表可能不同于其中登记仅处理一个事件的调回函数的散列表。
一旦在库110中登记了调回函数,无论何时由网络上的装置产生事件,库110总是经函数指针“func”执行调回函数(图3b中的302)。当调用调回函数时,库110提供作为输入变元的“device_addr”和“event_data”到调回函数,使得能够识别产生事件和事件类型的类型。“device_addr”是用于唯一地识别家庭网络上的装置的信息(例如,类型和序列号)。“event_data”是指向事件码和值的位置的指针值。
在控制应用100中的调用的例程基于作为输入变元传递的信息识别产生事件的装置,和据此处理事件。
将描述其中控制应用100通过调用库110的例程单独控制设备的方式。
控制应用100需要下面的信息以调用库110的装置控制函数。
控制应用100应该知道控制的装置的ID(装置描述符)和执行的命令的代码。由库110内部地提供命令代码。而且,控制应用100应该经输入变元提供装置控制所需的信息(例如,在洗衣机的电源控制情况中的POWER_ON或POWER_OFF)。
当调用装置控制例程时,需要设置用于指定在执行例程之后是否接收确认的命令模式(同步模式和异步模式),和用于指定在同步模式中直到接收确认的最大等待事件的命令选项。
为了向库110请求装置的控制操作,控制应用100分配用于在图4中定义的command_t类型的结构的内存空间,在结构command_t中放置装置控制需要的信息,且通过携带使得能够访问该结构的信息(例如,结构的指针)的输入变元调用库110的函数control_device()。
在图4中定义的结构command_t包括command_args_t(401)类型的变量“cc”、“args”,其中放置来自装置的控制结果信息的command_ret_t(402)类型的“rets”,以及command_option_t类型的“option”。根据用户输入确定表示命令代码的变量“cc”,作为输入变元的阵列的“args”,以及“option”。在command_args_t结构(40 1)中的var_arg字段和在command_ret_t结构(402)中的var_ret字段分别是到命令和响应的指针。
在以基于控制的装置的地址(device_descriptor_t dd)和写在图4的结构中的命令代码(unsigned cc)创建的按键登记用于处理来自装置的响应的临时函数之后,调用的函数control_device()产生协议分组以控制装置,且经物理接口200传递协议分组到装置301或302。
如果从装置接收响应和/或结果信息,或者在传输分组之后设置时间期满,调用登记以处理响应的临时函数。之后,临时函数向函数control_device()发送从装置接收的响应信息(或者过时事件),和从控制请求进程获得的结果信息(例如,指示是否成功进行了请求的控制操作的值,状态信息等)。不总是从装置提供结果信息。如果存在结果信息,函数control_device()将结果信息放置在字段“rets”中,且通过指示响应信息或等待时间过时的返回值(例如,用于确认分组的ACK或NAK)返回到控制应用100。
之后,控制应用100检查结构command_t以知道所请求的命令,命令的装置和根据命令的结果信息,且其以合适的方式提供结果信息到用户,由此结束从用户请求控制操作。
将描述其中控制应用100通过调用库110的例程来监控单独装置的状态的方式。
用于单独装置的状态监控的方法和上述用于通过结构command_t控制单独装置的方法相同,除了下面的部分。在进行状态监控的事件中,在结构command_t中包括的命令码“cc”具有指定状态监控的值。
因为装置监控函数需要作为执行结果的来自装置的响应,函数总是工作在“同步”模式,且因此需要指定超时。作为如下定义的命令选项给定命令模式和超时:
typedef struct command_option{
unsigned char async;
unsigned long wait_time;//unit:sec
}command_option_t;
变量“async”具有SYNC_COMMAND或ASYNC_COMMAND的值(0或1)。SYNC_COMMAND表示控制应用100将等待其发布的命令的响应。ASYNC_COMMAND表示控制应用100将不等待命令的响应。
如果将变量“async”和状态监控相同地设置为SYNC_COMMAND,控制应用100将在变量“wait_time”中存储的时间间隔期间等待响应。如果在发生超时之前接收到响应,正常完成命令。否则,控制应用100执行命令以处理TIME_OUT事件。如果将变量“async”设置为ASYNC_COMMAND,简单地忽略变量“wait_time”。
为允许控制应用 00和库110共享命令选项,可以将command_option_t类型指针变量声明为如下的全局变量:staticcommand_option_t*func_option。
因为控制应用100能够同时调用库100的多于一个函数,其还可以添加用于存储命令码的变量到如下的command_option结构:
typedef struct command_option{
unsigned char ccc; //命令码
unsigned char async;
unsigned long wait_time; //单位:秒
}command_option_t;
虽然如上定义的command_option_t类型的变量被定义为全局的,因为执行的命令的代码包括在结构中,控制应用100和库110能够根据同步或异步模式执行合适的操作。
下面将详细描述初始化家庭网络和修改设置的方法。首先描述初始化方法。
为构造家庭网络,使用家庭码。家庭码是从其它网络识别家庭网络的唯一代码,且家庭网络装置仅能够和具有相同家庭码的其它装置通信。控制应用100能够通过调用库110的下面函数int set_home_code()来设置家庭码。
如果调用了函数set_home_code(),库110执行如图5a所示的步骤。库110通过物理网络200广播伴随来自装置的响应的消息(例如,请求装置名称的消息)(S51)。消息使用在网络适配器100a中设置的家庭码。如果存在对消息的响应(S52)且消息的目的在于添加装置到网络,库110广播用于设置家庭码的另一消息(S56)。如果在S52中消息的目的不在于添加装置,库110发布用于产生家庭码的命令到网络适配器100a(例如,电力线调制解调器)(S53)(通过调用库110的内部函数create_home_code()发布家庭码产生命令),且之后通过网络再次广播伴随响应的另一消息(例如,名称请求消息)(S54)。如果存在对于消息的响应(S55),其指示已经使用了家庭码,且因此库110执行步骤以再次产生家庭码(S53和S54)。如果不存在响应,库110通过家庭网络广播用于设置创建的家庭码的消息(S56)。
结果,即使多个电子用具通过电力线连接家庭网络,电子用具能够彼此通信,而因为唯一分配给家庭网络的家庭码的缘故没有来自外部家庭网络的干扰。
图5b是用于确定是否首次确定建立家庭网络或在上述过程中新的装置是否连接到现有家庭网络的流程图。
用于设置家庭码的方法根据是否首次建立家庭网络或是否将新的装置添加到现有家庭网络而不同。如果存在对于请求装置名称的消息的响应(S503和S504),其确定将新的装置添加到现有的家庭网络(S506)。例如,如果直到广播消息三次不存在响应,确定首次建立家庭网络。
图5c是更加详细地示出了如图5a所示的步骤S53到S55的流程图。在其中首次安装家庭网络的情况中,根据本发明的方法命令网络适配器100a(例如,家庭网络调制解调器)创建新的家庭码(S511),和广播创建的家庭码,使得用于其它家庭网络的调制解调器能够在确定创建的家庭码不和其它家庭网络的家庭码冲突之后设置家庭码。通过广播请求分组的名称做出用于确定是否和创建的家庭码冲突的决定(S513)。在广播分组之前,在表中登记用于处理对于请求分组的名称的响应的管理者(S512)。如果接收到响应,由管理者处理响应(S515)。
如果不存在响应(S514),确定在网络上不存在冲突家庭码。如上所述,如果直到广播消息三次没有响应,广播用于设置家庭码的消息(S56)。如果接收到响应,表示已经使用了家庭码。因此,库110广播清除命令到调制解调器以清除创建的家庭码(S515),且命令调制解调器再次产生家庭码(S511)。
用于清除家庭码的函数如下:int clear_home_code()。
这个函数通过发送用于清除家庭码的命令分组到和主机连接的家庭网络调制解调器来清除在家庭网络调制解调器中设置的家庭码。
重复用于创建/清除家庭码的上述过程直到获得唯一的家庭码。
在其中将新的装置添加到现有家庭网络的情况中,广播家庭网络的家庭码使得能够在新的装置的家庭网络调制解调器中设置家庭码(S56)。
当设置家庭码时,还可以设置用户手动定义的家庭码到网络调制解调器(例如,电力线调制解调器),而不是网络调制解调器100a随机产生的家庭码。能够通过调用库110的下面函数intpush_home_code(unsigned long home_code)进行登记用户定义的家庭码。
如果调用了函数,库110设置接收的home_code(其是到函数的输入变元)到连接的网络调制解调器(例如,在服务器情况中的调制解调器100a)。如果调用家庭码,通过上述函数set_home_code()经消息广播设置到网络调制解调器的家庭码到家庭网络上的每个装置。在和家庭网络连接的装置的调制解调器(例如,网络调制解调器301a和302a)中设置在家庭网络上广播的家庭码。
每个家庭网络装置需要用于通信的唯一地址。库110允许控制应用100通过提供分配/管理地址所需的例程来容易地分配地址到网络装置。
想要加入家庭网络的装置广播***通知消息,以获得唯一地址(S61)。接收***通知消息的主机在处理消息之后分配地址到装置。
为这样做,控制应用100在库110的响应函数散列表中预先登记用于***通知消息的管理者。在登记之后,因为由库110调回登记的管理者,控制应用100能够处理***通知分组。
如果接收了***通知分组,用于***通知分组的管理者找到发送分组的装置的类型,且基于装置类型搜索其数据库用于没有使用的地址(S62)。如果找到没有使用的地址,管理者经变元传递地址到地址改变命令(S63)。通过调用库110的下面函数进行这个过程:intchange_address(old_addr,new_addr)。
对函数change_address()的变元是当前地址和将代替当前地址使用的新地址。如果装置是首次和家庭网络连接的新的装置,“old_addr”是默认地址(例如,通常是0)。函数change_address()返回指示地址改变操作是否成功的值。
接收地址改变命令的装置设置传递的地址作为它的地址,且发送响应。如果函数change_address()接收响应,因为其表示地址改变操作成功,函数在其数据库中存储地址(S64)。另外,函数发送DB更新命令以通知其它网络管理器登记了新的装置(S65)。
在改变装置地址之后,库110向设置新的地址的装置做出用于另外信息的请求(S66和S67),且在数据库中存储接收的信息。例如,库110通过发送装置搜索命令找出装置是主机或子机(S66),且使用型号请求命令获得其型号名称(S67)。
将描述其中在初始化期间主机装置建立和家庭网络连接的装置的选项的方法。
家庭网络的主机装置的库110应该检查哪个装置连接网络和哪个装置有效。为此,库110请求每个装置周期性地发送指示装置有效的消息。该消息被称为“活跃”消息。当主机的控制应用100初始化网络时,控制应用100通知装置的“活跃”消息的周期。因此,库110因为其从有效装置接收了周期性的“活跃”消息而知道哪个装置有效。
控制应用100调用以设置“活跃”消息的从用户或操作者输入的周期的库110的函数定义如下:int set_alive_message_interval(time)。
当调用函数时,库110将变量“time”(其是“活跃”消息的周期)的值传递到家庭网络上的每个装置,使得装置在之后的周期中周期性地发送“活跃”消息。
可以在装备有保持跟踪时间的功能的装置中设置当前时间。为在这种装置中设置时间,控制应用100调用库110的下面函数:intset_clock(hour,min,sec)。
当执行函数时,库110产生包括变量“hour”,“minute”和“second”的值的分组,且发送分组到装置。而且,库110基于来自装置的响应经返回值通知控制应用100结果。
家庭网络装置通过事件通知状态的改变给其它装置和主机装置。控制应用100能够通过库110启用或禁用状态通知函数。为启用状态通知函数,控制应用100调用库110的如下定义的函数intevent_enable(enable)。
如果调用函数event_enable(),库110基于输入变元发送用于启用或禁用状态通知函数的命令到相应装置。接收对于命令的响应,库110返回对应于响应的值到控制应用100。
如果标准化在控制应用和库之间的接口,因为对于电子用具保证了兼容性而不考虑其制造商,用户能够在购买用于构造家庭网络的电子用具时享受更多的自由。标准化还帮助制造商减少用于装置开发和担保服务的成本。
虽然关于有限数目的实施例公开了本发明,从本公开获益的本领域普通技术人员将认可能够作出多种修改和变更。意在所有这种修改和变更在本发明的精神和范围之中。
Claims (26)
1.一种其中在用于管理网络的装置中开始应用的方法,其包括:
(a)向装置中的库请求初始化;
(b)请求库以获得和网络连接的装置的列表和关于装置的信息;和
(c)请求库以登记在网络上的装置上产生的事件,且调回函数以处理事件。
2.如权利要求1所述的方法,进一步包括在步骤(a)之前装载用户接口程序的步骤。
3.如权利要求1所述的方法,其中,该应用在步骤(a)中进一步传送用于控制每个装置的基本信息到库。
4.如权利要求1所述的方法,进一步包括如果产生事件则调用登记的调回函数的步骤,该调回函数的例程包括在应用中,该调用由库进行。
5.如权利要求1所述的方法,进一步包括请求释放由步骤(c)登记的事件和调回函数的步骤。
6.一种用于设置网络的方法,其包括:
(a)在网络上发送任意广播消息;
(b)基于是否存在对于任意广播消息的响应,确定是进行了初始建立网络或添加装置;
(c)如果确定进行了网络的初始建立,命令网络适配器创建家庭码,发送任意广播消息,和检查是否存在对于广播消息的响应;和
(d)如果不存在对于在步骤(c)发送的广播消息的响应,广播用于在网络上设置家庭码的命令消息。
7.如权利要求6所述的方法,其中,该步骤(a)到(d)是在应用调用库的函数以设置家庭码时由库进行的。
8.如权利要求6所述的方法,进一步包括如果确定进行了装置的添加,在网络上广播用于设置当前家庭码的命令消息的步骤。
9.如权利要求6所述的方法,其中,如果在发送任意广播消息至少两次之后不存在对于任意广播消息的响应,该步骤(b)确定进行了网络的初始建立。
10.如权利要求6所述的方法,进一步包括步骤:如果存在对于在步骤(c)发送的广播消息的响应,命令网络适配器删除创建的家庭码和创建新的家庭码,和在网络上发送任意广播消息。
11.一种用于设置网络的方法,其包括:
(a)调用库的函数用于以携带家庭码的输入变元设置从用户键入的家庭码,该调用由应用进行;和
(b)请求网络适配器设置键入的家庭码,该请求由库进行。
12.一种用于管理在网络上的装置的设备,其包括:
适配器,其用于通过网络发送/接收数据;和
库,其用于根据家庭码设置的请求在网络上发送任意广播消息,基于是否存在对于任意广播消息的响应来确定进行了网络的初始建立或装置的添加;
其中,如果确定进行了网络的初始建立,库命令适配器创建家庭码和在网络上广播用于设置创建的家庭码的命令消息。
13.如权利要求12所述的设备,其中,如果确定进行了网络的初始建立,库在命令适配器创建家庭码之后发送任意广播消息,且如果存在对于广播消息的响应则在网络上广播命令消息。
14.一种用于在管理网络的装置的应用和库之间交换命令和/或响应的方法,其包括:
(a)调用库的函数用于以携带时间信息的输入变元设置时间,该时间信息用于确定装置是否是活跃的,该调用由应用进行;和
(b)发送第一消息到和网络连接的装置,该第一消息命令装置发送第二消息以在由时间信息指定的间隔周期性地通报活跃,该发送由库进行。
15.如权利要求14所述的方法,进一步包括基于装置是否在周期发送第二消息来确定装置是否活跃的步骤,该确定由库进行。
16.一种用于在管理网络的装置的应用和库之间交换命令和/或响应的方法,其包括:
(a)调用库的函数用于以携带关于当前时间的信息的输入变元设置当前时间,该调用由应用进行;和
(b)发送包括关于当前时间的信息的消息到和网络连接的装置,该消息命令装置以信息设置当前时间,该发送由库进行。
17.一种用于在管理网络的装置的应用和库之间交换命令和/或响应的方法,其包括:
(a)调用库的函数,用于以携带指示有效或无效的值的输入变元设置事件报告动作为有效/无效,该调用由应用进行;和
(b)发送消息到和网络连接的至少一个装置,该消息命令至少一个装置设置事件报告动作到有效和无效的一个状态,且由输入变元携带的值指定该一个状态,该发送由库进行。
18.一种用于管理和网络连接的装置的设备,其包括:
应用,其用于进行装置的管理;和
库,其用于根据来自应用的请求和装置交换信息;
其中,该库包括:
第一函数,其用于向和网络连接的装置发送第一消息,该第一消息命令装置发送第二消息以在由函数调用伴随的输入变元指定的间隔,周期性地通报活跃;
第二函数,其用于向和网络连接的装置发送命令装置以由函数调用伴随的输入变元指定的时间信息设置当前时间的消息;和
第三函数,其用于向和网络连接的至少一个装置发送命令至少一个装置设置时间报告动作为有效和无效的一个状态的消息,该一个状态由函数调用伴随的输入变元指定。
19.一种用于分配地址给网络上的装置的方法,其包括:
(a)接收通知第一装置和网络连接的第一消息;
(b)搜索数据库用于未分配的地址,且发送命令设置未分配的地址的第二消息给第一装置;
(c)如果从第一装置响应设置地址成功,则改变未分配的地址为分配的地址;和
(d)如果在网络上存在第二装置,发送命令更新另一数据库的第三消息到管理另一数据库的第二装置。
20.如权利要求19所述的方法,其中,该第二装置是网络上的主机。
21.如权利要求19所述的方法,进一步包括向第一装置请求另外的信息的步骤,且如果获得了另外的信息,在数据库中登记获得的另外的信息。
22.如权利要求19所述的方法,其中,该第二消息包括现有地址和待分配的新地址的字段。
23.如权利要求22所述的方法,其中,如果第一装置和网络第一次连接,该现有地址的字段填充有默认地址。
24.如权利要求22所述的方法,其中,当由库调回用于第一消息的处理接收的函数时进行步骤(b),由应用的请求在库中登记该函数。
25.一种用于管理和网络连接的装置的设备,其包括:
应用,其用于管理装置的地址分配;和
库,其用于当接收通知任意装置连接网络的第一消息时,调用由应用登记的第一函数,
其中,该第一函数请求库搜索数据库用于未分配的地址,和发送命令设置未分配的地址的第二消息到任意装置。
26.如权利要求25所述的装置,其中,该应用包括如果从任意装置响应地址设置成功则在数据库上改变未分配的地址为分配的地址的第二函数。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040110726 | 2004-12-22 | ||
KR1020040110725 | 2004-12-22 | ||
KR1020040110727 | 2004-12-22 | ||
KR1020040110720 | 2004-12-22 | ||
KR1020040110720A KR20060071746A (ko) | 2004-12-22 | 2004-12-22 | 홈 네트워크 마스터의 어플리케이션과 라이브러리의인터페이싱 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1838070A true CN1838070A (zh) | 2006-09-27 |
Family
ID=37015478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005101362231A Pending CN1838070A (zh) | 2004-12-22 | 2005-12-22 | 在用于网络管理的主机的应用和库之间的接口方法和设备 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20060071746A (zh) |
CN (1) | CN1838070A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279589A (zh) * | 2010-06-09 | 2011-12-14 | 常州司曼睿信息科技有限公司 | 智能家庭服务***及其工作方法 |
-
2004
- 2004-12-22 KR KR1020040110720A patent/KR20060071746A/ko not_active Application Discontinuation
-
2005
- 2005-12-22 CN CNA2005101362231A patent/CN1838070A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279589A (zh) * | 2010-06-09 | 2011-12-14 | 常州司曼睿信息科技有限公司 | 智能家庭服务***及其工作方法 |
WO2011153663A1 (zh) * | 2010-06-09 | 2011-12-15 | 常州司曼睿信息科技有限公司 | 智能家庭服务***及其工作方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20060071746A (ko) | 2006-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1300912C (zh) | 用于监测和控制一组家用电器的*** | |
CN1324854C (zh) | 通信方法、通信***和通信装置 | |
EP2978144B1 (en) | Unified device management method and system | |
CN1606283A (zh) | 家庭网络***与用于操作该***的方法 | |
CN1852538A (zh) | 在设备管理中监控和升级软件的方法及装置 | |
CN1251444C (zh) | 构筑无线网络***的方法及无线传送装置 | |
CN1538688A (zh) | 用于提供受控设备列表的网络设备、***与方法 | |
CN1836402A (zh) | 家庭网络***及其配置*** | |
CN1665209A (zh) | 服务器设备、基于网络的设备及程序产品 | |
CN1946019A (zh) | 网络装置、网络***及密钥更新方法 | |
CN1661976A (zh) | 家庭网络***和控制家庭网络***的方法 | |
CN1859162A (zh) | 自动恢复设备故障的实现方法及*** | |
CN1581832A (zh) | 在家用网络中远程管理家用设备的装置及其方法 | |
CN101053267A (zh) | 移动无线基站的无线信道设置方法 | |
CN1051622C (zh) | 客户机服务器型网络 | |
CN1832610A (zh) | 移动通信***中远程子***升级的方法 | |
CN1866854A (zh) | 在设备管理中更新和恢复终端设备数据的方法 | |
CN1848760A (zh) | 软件组件参数配置方法及***、及其终端设备 | |
CN1748400A (zh) | 用于对UPnP设备的改变作出反应的方法和*** | |
CN1825817A (zh) | 带内访问远程链路伙伴管理寄存器的方法及通信网络 | |
CN1506877A (zh) | 下载***和下载设备 | |
CN103731562A (zh) | 为智能设备自适应匹配蓝牙设备的方法和装置 | |
CN1753537A (zh) | 终端以及自动执行其功能建立过程的方法 | |
CN1787452A (zh) | 一种网元管理***之间传递网管配置信息的方法 | |
CN106648721A (zh) | 一种软件升级方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |