CN107534562A - 用于通过网络的通用输入/输出功能的系统 - Google Patents
用于通过网络的通用输入/输出功能的系统 Download PDFInfo
- Publication number
- CN107534562A CN107534562A CN201680022438.7A CN201680022438A CN107534562A CN 107534562 A CN107534562 A CN 107534562A CN 201680022438 A CN201680022438 A CN 201680022438A CN 107534562 A CN107534562 A CN 107534562A
- Authority
- CN
- China
- Prior art keywords
- programmable devices
- input
- record
- remote programmable
- reconfigurable
- 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
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/21—Pc I-O input output
- G05B2219/21086—Configuration menu program for I-O
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/21—Pc I-O input output
- G05B2219/21122—Programmable signal discrimination, input can be used for several functions
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Selective Calling Equipment (AREA)
Abstract
提供了用于监视或控制远程可编程设备的系统。该系统包括被配置为连接到可编程设备和本地计算设备的服务器。服务器包括建立可以由这两个设备访问的并且包括多个用户可配置记录的数据结构的代码。服务器从本地设备接收将每条记录配置为与可编程设备的输入、输出或输入/输出参数对应的输入通道、输出通道或输入/输出通道,并限定输入通道和输入/输出通道的输入值的指令。服务器将输入值和输入/输出值传送到可编程设备,并从可编程设备接收输出值和输入/输出值以用于传送到本地计算设备。
Description
技术领域
本发明涉及用于监视或控制可编程设备的系统。特别地,本发明涉及用于通过网络从本地计算设备监视或控制位于远程的可编程设备的系统。
背景技术
用于执行多个功能的许多集成电路包括充当通用输入/输出引脚的一个或多个引脚或端子。用户可以控制这些引脚的行为,包括引脚是充当输入还是输出。因此,诸如微处理器之类的单个集成电路可以被集成到较大的系统中并且在各种各样的应用中使用。例如,程序员可以使用通用输入/输出引脚来获得针对安装在微处理器上的程序的特定输入,或允许程序控制另一设备。
控制和修改集成电路上的通用输入/输出引脚的行为需要用户访问和修改控制引脚操作的程序。这通常需要用户能够直接访问包含集成电路的设备。但是,这种类型的访问经常是不可用的或不方便的。
本文的发明人已经认识到,需要一种将克服以上识别出的缺陷中的一个或多个的、用于监视或控制远程可编程设备的系统。
发明内容
提供了用于监视或控制可编程设备的系统。特别地,提供了用于通过网络从本地计算设备监视或控制位于远程的可编程设备的系统。
根据本发明的一个实施例的用于监视或控制远程可编程设备的系统包括被配置为通过第一网络连接到远程可编程设备并通过第二网络连接到本地计算设备的服务器。该服务器具有在其上编码的计算机程序,该程序包括用于建立可以由远程可编程设备和由本地计算设备访问的数据结构的代码。数据结构包括用于远程可编程设备的多个用户可重配置记录。程序还包括用于从本地计算设备接收配置用于远程可编程设备的该多个用户可重配置记录中的一个或多个用户可重配置记录的指令的代码。指令将用于远程可编程设备的该多个用户可重配置记录中的一个或多个用户可重配置记录中的每一个指定为与远程可编程设备的输入参数对应的输入通道、与远程可编程设备的输出参数对应的输出通道、或与远程可编程设备的输入/输出参数对应的输入/输出通道。指令还为每个输入通道定义用于远程可编程设备的对应输入参数的第一输入值,并为每个输入/输出通道定义用于远程可编程设备的对应输入/输出参数的第一输入/输出值。该程序还包括用于以下操作的代码:对被指定为输入通道的用于远程可编程设备的多个用户可重配置记录中的一个或多个用户可重配置记录中的每一个,将用于对应输入参数的第一输入值传送到远程可编程设备,并且对被指定为输入/输出通道的用于远程可编程设备的多个用户可重配置记录中的一个或多个用户可重配置记录中的每一个,将用于对应输入/输出参数的第一输入/输出值传送到远程可编程设备。该程序还包括用于以下操作的代码:对被指定为输出通道的用于远程可编程设备的多个用户可配置记录中的一个或多个用户可配置记录中的每一个,从远程可编程设备接收用于对应输出参数的第一输出值,并且对被指定为输入/输出通道的用于远程可编程设备的多个用户可重配置记录中的一个或多个用户可重配置记录中的每一个,从远程可编程设备接收用于对应输入/输出参数的第二输入/输出值。
根据本教导的用于监视或控制远程可编程设备的系统相对于常规系统是有利的,因为本发明的系统允许用户远程控制、监视和修改可编程设备的电路上的通用输入/输出引脚的使用。因此,本发明的系统改善了这种设备的效用。
通过阅读以下说明书和权利要求以及通过查看附图,本发明的前述和其它方面、特征、细节、效用和优点将是清楚的。
附图说明
图1是根据本教导的一个实施例的用于监视或控制远程可编程设备的系统的示意图。
图2-5是由图1的系统生成的图形用户界面的屏幕显示。
具体实施方式
现在参考附图,其中相同的附图标记用于在各种视图中标识相同的部件,图1示出了根据本教导的用于监视或控制远程可编程设备12的系统10的一个实施例。系统10使得设备12能够从本地计算设备14被监视或控制。如本文所使用的,应用于设备12的术语“远程”指示该设备是由用户间接地通过电信网络监视或控制的设备。虽然本发明的一个优点是允许在远的距离上对设备12进行监视或控制,但是“远程”并不意味着设备12和设备14之间的任何特定距离。如本文所使用的,应用于设备14的术语“本地”指示该设备处于使用例如常规输入/输出设备(诸如键盘或鼠标)的用户的直接控制之下。设备12、14可以通过网络16、18连接到系统10。系统10可以包括数据库20和服务器22。
设备12可以包括各种各样的可编程设备中的任何一个。在一个实施例中,设备12包括用于检测状况的传感器,特别地,是温度传感器。特别地,设备12可以包括由美国亚利桑那州的Chandler的Microchip Technology公司以型号MCP9808销售的温度传感器,该温度传感器耦合到由各种公司(包括美国伊利诺斯州芝加哥的Newark公司)以型号名称Raspberry Pi Model B销售的单板计算机。该设备可以用于例如远程监视房屋中的房间或餐厅中的制冷单元的温度。在另一实施例中,设备12包括用于照亮空间的灯或台灯。虽然本文已经标识了示例性设备,但是应当理解的是,设备12可以包括各种各样的设备中的任何一个,包括但不限于常规的家用电器和固定装置。
设备14可以包括各种各样的计算设备中的任何一个。如本文所使用的,术语“计算设备”意图指被配置为根据一组可执行指令来处理数据或信息的任何机器。因此,设备14可以包括例如个人计算机(包括台式机、膝上型计算机和平板计算机)、个人数字助理、蜂窝通信设备(包括“智能电话”)、服务器、路由器或类似设备。设备14可以包括一个或多个可编程微处理器,并且可以包括中央处理单元(CPU)、存储器和一个或多个输入/输出设备(诸如键盘、鼠标、触摸屏、显示器/监视器)、相机、激活器(activator)(例如,开关、恒温器)和传感器(例如温度传感器、振动传感器、湿度传感器)。显示器可以向用户呈现图形用户界面(GUI),从而产生本文下面描述的屏幕显示中的一个或多个。设备14还可以包括这种机器中的两个或更多个的组合。设备14可以以常规方式用各种可执行指令(即软件)进行编程以执行各种任务。根据本发明的一个方面,设备14包括用于请求、获取和显示通过网络18接收到的信息的web浏览器,诸如微软公司的Internet Explorer、谷歌公司的Chrome或Mozilla公司的Firefox。在另一实施例中,设备14包括被配置为通过网络18与服务器22直接通信的、web浏览器之外的软件应用。
网络16、18在设备12、14和服务器22之间建立通信链路,以使得能够在设备12、14和服务器22之间交换信息。设备12、14和服务器22中的每一个可以具有常规的网络接口。网络16、18各自可以包括公共互联网、蜂窝电信网络、局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)和/或其它形式的电信网络的部分。
数据库20为服务器22提供数据存储。数据库20可以采用关系数据库管理系统(RDBMS),诸如开源系统MySQL、PostgreSQL、MariaDB,或来自Oracle公司的商业系统SQL服务器或来自微软公司的商业系统SQL服务器中的任何一个。数据库20可以被配置为向服务器22提供静态和/或动态联系(contact)结构,并且既可以用于在服务器22执行操作的同时提供中间信息又可以用于提供长期数据存储。根据本发明的一个方面,数据库20实现包括如本文下面更详细讨论的用于设备12的多个用户可重配置记录的数据结构。
服务器22提供用于从设备14监视或控制设备12的手段。如本文所使用的,术语“服务器”是指耦合到电信网络并由编程指令(即软件)来配置以向其它计算设备(包括其它服务器)提供服务的计算设备。服务器可以包括操作系统,诸如基于Linux或UNIX操作系统的操作系统中的一个。此外,或者作为数据库20的替代,服务器22还可以包括内部存储器或可以采用数据库管理系统(DBMS)的数据库,诸如开源系统MySQL、PostgreSQL、MariaDB、或来自Oracle公司的商业系统SQL服务器或来自微软公司的商业系统SQL服务器的中的任何一个。存储器或数据库可以被配置为向服务器22提供静态和动态联系结构,并且既用于在服务器22执行操作的同时提供中间信息又用于提供长期数据存储。服务器22还可以包括将服务器22配置为基于服务器22的预期用户执行特定功能的应用。应用可以使用软件开发部件(例如,C或C++)和脚本语言(诸如PHP、Perl、Python和RoR(Ruby on Rails))来实现,以提供所需的功能。应当认识到的是,服务器侧软件可以以用于在网页和web应用上生成动态内容的数种方式来实现,例如使用公共网关接口(Common Gateway Interface,CGI)。服务器22也可以包括接口,以提供服务器22和客户端(诸如设备12、14)之间的图形和/或通信接口。接口可以例如被配置为是超文本传输协议(HTTP)、可扩展标记语言(XML)或简单对象访问协议(SOAP)兼容的。应当理解的是,这些接口可以采用查询类型协议(例如HTML)来使得设备12、14能够访问服务器22,但是也可以在设备12、14和服务器22之间采用持久性(例如,套接字(socket))连接。服务器22被配置为通过网络16连接到设备12和通过网络18连接到设备14。根据本发明,可以用来自计算机程序(即软件)的编程指令来配置(编码)服务器22,以执行用于监视或控制远程可编程设备12的方法中的各种步骤。
服务器22可以包括被配置为在与设备14相关联的显示器上生成具有图形用户界面(GUI)的网站的web服务器。GUI可以使用基于浏览器的脚本语言来生成,诸如Javascript、来自谷歌公司的Dart SDK、Script#、CoffeeScript、JSX或ECMAScriptHarmony。设备14的用户可以以常规方式使用web浏览器来从服务器22请求和提供信息。可替代地,用户可以使用设备14上被配置为直接连接到服务器22并向设备14上的用户呈现类似的GUI的软件应用。服务器22还可以生成用于由设备12使用的图形或非图形用户界面。在一个实施例中,使用POST请求-响应方法在设备12和服务器22之间交换通信。
在服务器22上编码的计算机程序可以包括用于通过GUI从设备14的用户接收认证信息和其它信息的代码。根据本发明的一个实施例,用户可以以电子邮件地址和密码的形式提供认证信息。来自设备12的通信可能需要用于允许设备14访问的相同认证信息(例如,电子邮件地址和密码),以便将设备12、14链接到服务器22上的共享信息。应当理解的是,可以输入(enter)的信息(包括认证信息)的类型可能不同。例如,在一些实施例中,服务器22可以被配置为获得和记录与设备12、14中的每一个相关联的互联网协议地址。互联网协议地址的一个可能用途是用于服务器22将对服务器22上的信息的后续访问限制为具有相同互联网协议地址的通信。因此,在服务器22上编码的程序可以包括用于当设备12、14访问服务器22时从设备12、14中的一个或两者获得互联网协议地址的代码、用于存储(一个或多个)互联网协议地址的代码、以及用于除非在随后的访问请求中(一个或多个)互联网协议地址等于所存储的(一个或多个)互联网协议地址,否则禁止由设备12、14的后续访问的代码。
根据本教导的一个方面,在服务器22上编码的程序包括用于建立可以由远程可编程设备12和本地计算设备14访问的数据结构的代码。数据结构可以在数据库20中或包括服务器22的存储器的另一存储器中实现。数据结构可以包括用于远程可编程设备12的多个用户可重配置记录。这些记录用于监视和控制设备12,并且可以包含由设备12输出的信息数据和可以用于控制设备12的控制数据。记录可以由设备12、14重新配置,并且因此,使得能够在网络环境中实现设备12的通用输入/输出功能。
现在参考图2,在一个实施例中,由服务器22在设备14上生成的GUI可以包括具有与用户可重配置记录对应的多个行的表24。应当理解的是,GUI的表24中的行可以与或可以不与存储在数据库20或另一个存储器中的用户可重配置记录同延(coextensive)。换句话说,记录可以包含比在GUI中的表24的行中所示的信息多或少的信息。
在服务器22上编码的程序可以包括用于从设备14接收配置用于设备12的多个用户可配置记录中的一个或多个的指令的代码。在所示实施例中,这些指令可以通过GUI中的表24输入。指令将每条记录指定为与设备12的输入参数对应的输入通道、与设备12的输出参数对应的输出通道、或与设备12的输入/输出参数对应的输入/输出通道。例如,输入通道可以对应于设备12上的灯的状态,并且可以用于打开或关闭灯。输出通道可以对应于由设备12感测到的温度,并且可以用于显示由设备12感测到的温度值。输入/输出通道可以对应于设备12的状态,并且可以允许用户关闭设备12,同时还允许设备12重置通道,使得设备12在下次被激活时不自动关闭。在所示实施例中,用户通过在被标记为“标志(flag)”的表24的列中插入值来指定各条记录。在所示实施例中,“0”指示特定记录对应于输出通道,“1”指示特定记录对应于输入/输出通道,并且“2”指示特定记录对应于输入通道。
从设备14接收到的指令还可以为每个输入通道定义用于设备12的对应输入参数的输入值,和为每个输入/输出通道定义用于设备12的对应输入/输出参数的输入/输出值。在所示实施例中,在GUI中示出的表24中被标记为“1”和“2”的行已经被指定为对应于红色LED和绿色LED的状态(打开或关闭)的输入通道。输入值“0.000”或“1.000”可以由设备14的用户插入在被标记为“值(value)”的列中。依赖于设备12的编程,这些值将指示设备12打开或关闭对应的LED。
在服务器22上编码的程序还可以包括用于向设备12传送值的代码。特别地,在服务器22上编码的程序可以包括用于以下操作的代码:对被指定为输入通道的每个用户可重配置记录,将用于对应输入参数的输入值传送到设备12,以及对被指定为输入/输出通道的每个用户可重配置记录,将用于对应输入/输出参数的输入/输出值传送到设备12。在所示实施例中,由用户在被指定为输入或输入/输出通道的记录的被标记为“值”的列中输入的值可以由服务器22传送到设备12以用于在控制设备12时使用。
在服务器22上编码的程序还可以包括用于从设备12接收值的代码。特别地,在服务器22上编码的程序可以包括用于以下操作的代码:对被指定为输出通道的每个用户可重配置记录,从设备12接收与输出参数对应的输出值,和对被指定为输入/输出通道的每个用户可重配置记录,从设备12接收用于对应输入/输出参数的输入/输出值。在所示的实施例中,在GUI中所示的表24中被标记为“3”和“4”的行已经被指定为与由设备12在两个不同位置感测到的温度对应的输出通道。与由设备12测得的温度对应的输出值被显示在被标记为“值”的列中。
在服务器22上编码的程序还可以包括用于从设备14接收附加指令以进一步配置被指定为输出通道的用户可重配置记录中的一个或多个的代码。这些指令可以限定输入到设备12以用于由设备12使用的值。在所示实施例中,用户可以在表24中被标记为“值2”和“值3”的列中插入输入值。在图2中所示的表中,输入值已被插入到被标记为“3”的行中。在服务器22上编码的程序还可以包括用于将输入值传送到设备12的代码。这些值可以用于例如建立温度的下阈值和上阈值,其中设备12被编程为,如果测得的温度落在由上阈值和下阈值限定的范围之外,那么采取一些动作(例如,生成警报,如下面所讨论的)。
在服务器22上编码的程序还可以包括用于从设备12和/或设备14接收用于在配置用户可重配置记录时使用的附加指令的代码。例如,在服务器22上编码的程序可以包括用于从设备14接收每条记录/通道的名称的代码。如图2中所示,用户可以在被标记为“标记(Label)”的表24的列中输入设备名称。以这种方式,用户能够区分记录/通道,使得用户为任何输入通道输入适当的值或合适地理解任何输出通道的值的含义。在服务器22上编码的程序还可以包括允许用户控制设备12对记录的访问的代码。在所示实施例中,用户可以勾选表24中被标记为“启用(Enable)”的列中的框,以允许设备12访问对应的记录。在服务器22上编码的程序还可以包括指示记录被设备12或14最后修改的时间的代码。在所示实施例中,这个时间可以在表24中被标记为“更新时间(Updated Time)”的列中示出。
现在参考图3,服务器22可以被配置为从设备14接收附加指令以建立与通过服务器22监视或控制设备12相关联的某些参数值。例如,在服务器22上编码的程序可以包括允许用户限定用于设备12的用户可重配置记录的最大数量的代码。服务器22可以生成表26作为在设备14上显示的GUI的一部分,以用于在接收这些指令时使用。如图3中所示,用户可以在被标记为“CHmax”的列中输入限定与给定设备12相关联的用户可重配置记录的数量的数字。
在服务器22上编码的程序还可以包括用于从设备14接收设备12的设备名称的代码。如图3中所示,用户可以在表26中被标记为“名称(Name)”的列中输入设备名称。设备名称使得用户能够在多个设备12当中进行识别。
在服务器22上编码的程序还可以包括用于从设备14接收指定更新间隔时间的指令的代码。更新间隔时间表示在由设备12访问用户可重配置记录之后,设备12可以再次访问记录之前必须经过的时间长度。在所示实施例中,用户可以以秒为时间单位在表26中被标记为“更新间隔”的列中输入更新间隔时间。在服务器22上编码的程序还可以包括禁止设备12访问用户可重配置记录直到更新间隔时间到期为止的代码。在一些情况下,可能期望在更新间隔到期之前允许设备12访问记录。例如,在温度传感器监视制冷装备的情况下,温度的突然增加可以授权对记录中的一个的立即更新。因此,在本发明的一个实施例中,在服务器22上编码的程序还可以包括用于在预定情景下在更新间隔时间到期之前允许由设备12访问用户可重配置记录的代码。例如,在设备12监视制冷单元中的温度的情况下,设备12可以被编程为,如果温度超过预定阈值或以高于预定阈值的速率增加,那么请求立即访问用户可重配置记录。在一个实施例中,这种访问被允许由表26中被标记为“记号(Token)”的列下的数字表示的有限次数。在服务器22上编码的程序包括每次在更新间隔时间到期之前准予访问记录时减少该值的代码。
在服务器22上编码的程序还可以包括用于从设备14接收指定服务器通信间隔时间的指令的代码。服务器通信间隔时间表示,如果设备12未能访问服务器22,并且特别地未能访问由服务器22存储的用户可重配置记录时,由服务器22生成并由服务器22传送到设备14或另一个本地计算设备的通信之间的时间长度。在所示实施例中,用户可以以秒为时间单位在表26中被标记为“邮件间隔(Mail Interval)”的列中输入服务器通信间隔时间。在服务器22上编码的程序可以包括用于如果设备12未能在预定时间段(例如,上文所引用的更新间隔)内访问或以其它方式与服务器22通信,那么生成和传送到设备14或另一个本地计算设备的通信的代码。此后,在服务器22上编码的程序可以包括用于如果设备12在服务器通信间隔时间之后仍然没有访问或以其它方式与服务器22通信,那么生成和传送到设备14或另一本地计算设备的另一通信的代码。通信可以包括电子邮件、文本消息或类似的通信。
在服务器22上编码的程序还可以包括用于从设备14接收指示设备通信间隔时间的指令的代码。在服务器22上编码的程序可以包括用于响应于来自设备12的请求,通过网络18向设备14或通过另一网络向另一本地计算设备发送通信的代码。同样,通信可以包括电子邮件、文本消息或类似的通信。设备通信间隔时间表示在服务器22响应于来自设备12的请求而发送消息之后,在服务器22将依从来自设备12的另一请求以向设备14或另一本地计算设备发送消息之前必须经过的时间长度。因此,在服务器22上编码的程序还可以包括用于直到设备通信间隔时间到期为止,拒绝来自设备12的、通过网络18向设备14或通过另一网络向另一本地计算设备发送另一通信的请求的代码。在所示实施例中,用户可以在被标记为“D邮件间隔(D Mail Interval)”的列中以“秒”为时间单位输入设备通信间隔时间。用于响应于来自设备12的请求而向设备14或另一本地计算设备发送通信的代码可以包括用于使用由设备12提供的信息形成通信的代码。在一个实施例中,设备12提供用于形成电子邮件通信的主题行和主体的字符(例如,文本字符)。在温度传感器的情况下,通信可以用于向用户警告温度已超过预定阈值(例如,以上图2中“值2”或“值3”下列出的数字)和/或向用户通告测得的温度。
在服务器22上编码的程序还可以包括用于以下操作的代码:从设备14接收指定通信延迟时间的指令,并且如果设备12在大于更新间隔时间(以上讨论的)和通信延迟时间的时间内未能通过网络16与服务器22通信,那么通过网络18向设备14或通过另一网络向另一本地计算设备传送通信。如上所述,在服务器22上编码的程序可以包括用于以下操作的代码:如果设备12未能在预定时间段(例如,上述更新间隔)内访问或以其它方式与服务器22通信时,生成和传送到设备14或另一本地计算设备的通信。在一些实施例中,该时间可以包括更新间隔时间,使得如果设备12没有在更新间隔时间访问服务器22,那么服务器22被配置为生成通信。可替代地,用户可以输入延迟时间,使得如果设备12没有在更新间隔时间之后的某个时间段访问服务器22,那么服务器22生成通信。在所示实施例中,用户可以在表26中被标记为“警报延迟(Alert Delay)”的列中以秒为时间单位输入通信延迟时间。
参考图4,根据本教导的另一方面,服务器22可以被配置为存储可以由设备12下载和使用的函数(function)。在服务器22上编码的程序可以包括用于从设备14接收配置设备12的用户可重配置函数的指令。参考图5,指令可以包括用于指定用于自变量的多个值和用于函数的因变量的对应多个值的指令。在所示实施例中,服务器22可以生成作为设备14的GUI的一部分的表28。用户可以在表28中被标记为“X”和“Y”的列中单独为每个变量输入值,或者可以在表28下面的框30中以预定义的格式输入串中的值。在服务器22上编码的程序还可以包括用于向设备12传送用于自变量的多个值和用于因变量的对应多个值的代码。
再次参考图4,在服务器22上编码的程序还可以包括用于控制由设备12使用函数的代码,以及用于从设备14接收关于使用函数的指令的代码。例如,在服务器22上编码的程序可以包括从设备14接收函数的名称的代码。用户可以通过在表32中被标记为“名称(Name)”的列中输入名称来输入函数的名称。以这种方式,用户和设备12能够在多个存储的函数之间进行区分。在服务器22上编码的程序还可以包括允许用户指定用于构建函数的点(或坐标)数的代码。在所示实施例中,用户可以通过在表32中被标记为“点(Points)”的列中输入数字来使用GUI输入点数。在服务器22上编码的程序可以包括为存储的函数建立最大点数的代码并且可以在被标记为“点”的列中将该数字显示为默认值。在服务器22上编码的程序可以包括限制用户输入比允许的最大点数大的数字的代码。在服务器22上编码的程序还可以包括允许用户控制设备12使用函数的代码。在所示实施例中,用户可以通过在表32中被标记为“标志(Flag)”的列中输入数字来使用GUI输入控制何时下载和/或执行函数的数字。例如,用户可以输入表示当由设备12下载并执行函数时的事件之间的秒数的数值。在服务器22上编码的程序还可以包括允许用户指定可以由设备12下载和执行函数的次数的代码。在所示实施例中,用户可以通过在表32中被标记为“允许的点击数(HitsAllowed)”的列中输入数字来使用GUI输入可以由设备12下载函数的次数。在服务器22上编码的程序可以再次包括建立函数可以被下载的最大次数的代码,并且可以在被标记为“允许的点击数”的列中将该数字显示为默认值。在服务器22上编码的程序可以包括限制用户输入比最大数字大的数字的代码。在服务器22上编码的程序还可以包括建立其中函数不再可用于由设备12下载的时间的代码。在所示的实施例中,该时间可以通过GUI在表32中被标记为“到期(Expires)”的列中显示给设备14的用户。在服务器22上编码的程序可以包括基于预定事件的发生而更新该时间的代码,预定事件包括,例如,用户对函数点的修改。在服务器22上编码的程序可以包括如果时间段已经过去,那么禁止由设备12下载函数的代码或者删除函数点的值(使得该函数不再可由设备12使用)的代码。
根据本发明的系统10相对于常规系统是有利的,因为本发明的系统允许用户远程控制、监视和修改可编程设备12的电路上的通用输入/输出引脚的使用。因此,本发明的系统改善了这种设备的效用。
虽然已经参考本发明的一种或多种特定实施例示出和描述了本发明,但是本领域技术人员将理解的是,在不违背本发明的精神和范围的情况下,可以进行各种改变和修改。
Claims (21)
1.一种用于监视或控制远程可编程设备的系统,包括:
服务器,被配置为通过第一网络连接到所述远程可编程设备,并且通过第二网络连接到本地计算设备,所述服务器具有在其上编码的计算机程序,该计算机程序包括用于以下操作的代码:
建立能够由所述远程可编程设备和由所述本地计算设备访问的数据结构,所述数据结构包括用于所述远程可编程设备的多个用户可重配置记录;
从所述本地计算设备接收配置用于所述远程可编程设备的所述多个用户可重配置记录中的一个或多个用户可重配置记录的指令,所述指令将用于所述远程可编程设备的所述多个用户可重配置记录中的所述一个或多个用户可重配置记录中的每一个指定为与所述远程可编程设备的输入参数对应的输入通道、与所述远程可编程设备的输出参数对应的输出通道、或与所述远程可编程设备的输入/输出参数对应的输入/输出通道,并且为每个输入通道定义用于所述远程可编程设备的所述对应输入参数的第一输入值,为每个输入/输出通道定义用于所述远程可编程设备的所述对应输入/输出参数的第一输入/输出值;
对被指定为输入通道的用于所述远程可编程设备的所述多个用户可重配置记录中的所述一个或多个用户可重配置记录中的每一个,将用于所述对应输入参数的所述第一输入值传送到所述远程可编程设备,并且对被指定为输入/输出通道的用于所述远程可编程设备的所述多个用户可重配置记录中的所述一个或多个用户可重配置记录中的每一个,将用于所述对应输入/输出参数的所述第一输入/输出值传送到所述远程可编程设备;以及,
对被指定为输出通道的用于所述远程可编程设备的所述多个用户可配置记录中的所述一个或多个用户可配置记录中的每一个,从所述远程可编程设备接收用于所述对应输出参数的第一输出值,并且对被指定为输入/输出通道的用于所述远程可编程设备的所述多个用户可重配置记录中的所述一个或多个用户可重配置记录中的每一个,从所述远程可编程设备接收用于所述对应输入/输出参数的第二输入/输出值。
2.如权利要求1所述的系统,其中用于建立数据结构的所述代码包括用于从所述本地计算设备接收最大数量的所述多个用户可重配置记录的代码。
3.如权利要求1所述的系统,其中所述计算机程序还包括用于以下操作的代码:
从所述本地计算设备接收指定更新间隔时间的指令;以及
禁止所述远程可编程设备访问所述多个用户可重配置记录,直到所述更新间隔时间到期为止。
4.如权利要求1所述的系统,其中所述计算机程序还包括用于以下操作的代码:
从所述本地计算设备接收指定更新间隔时间的指令;以及
在所述更新间隔时间到期有限次数之前,允许由所述远程可编程设备访问所述多个用户可重配置记录。
5.如权利要求1所述的系统,其中所述计算机程序还包括用于响应于来自所述远程可编程设备的请求,通过所述第二网络向所述本地计算设备发送第一通信的代码。
6.如权利要求5所述的系统,其中所述计算机程序还包括用于以下操作的代码:
从所述本地计算设备接收指定设备通信间隔时间的指令;以及
拒绝来自所述远程可编程设备的、通过所述第二网络向所述本地计算设备发送第二通信的请求,直到所述设备通信间隔时间到期为止。
7.如权利要求1所述的系统,其中所述计算机程序还包括用于响应于来自所述远程可编程设备的请求,通过第三网络向另一本地计算设备发送第一通信的代码。
8.如权利要求7所述的系统,其中所述计算机程序还包括用于以下操作的代码:
从所述本地计算设备接收指定设备通信间隔时间的指令;以及
拒绝来自所述远程可编程设备的、通过所述第三网络向所述另一本地计算设备发送第二通信的请求,直到所述设备通信间隔时间到期为止。
9.如权利要求1所述的系统,其中所述计算机程序还包括用于以下操作的代码:
从所述本地计算设备接收指定更新间隔时间和通信延迟时间的指令;以及
如果所述远程可编程设备未能通过所述第一网络与所述服务器通信大于所述更新间隔时间和所述通信延迟时间的时间,那么通过所述第二网络向所述本地计算设备传送通信。
10.如权利要求1所述的系统,其中所述计算机程序还包括用于以下操作的代码:
从所述本地计算设备接收指定更新间隔时间和通信延迟时间的指令;以及
如果所述远程可编程设备未能通过所述第一网络与所述服务器通信大于所述更新间隔时间和所述通信延迟时间的时间,那么通过第三网络向另一本地计算设备传送通信。
11.如权利要求1所述的系统,其中所述计算机程序还包括用于以下操作的代码:
从所述本地计算设备接收配置用于所述远程可编程设备的所述多个用户可重配置记录中的所述一个或多个用户可重配置记录中的第一用户可重配置记录的附加指令,所述第一用户可重配置记录被指定为输出通道,并且所述附加指令定义用于所述远程可编程设备的第二输入值;以及
将所述第二输入值传送到所述远程可编程设备。
12.如权利要求1所述的系统,其中所述计算机程序还包括用于以下操作的代码:
从所述本地计算设备接收配置用于所述远程可编程设备的用户可重配置函数的指令,所述指令指定用于自变量的多个值和用于所述函数的因变量的对应的多个值;以及
向所述远程可编程设备传送用于所述自变量的所述多个值和用于所述因变量的所述对应的多个值。
13.如权利要求1所述的系统,其中所述数据结构存储在所述服务器的存储器中。
14.如权利要求1所述的系统,其中所述远程可编程设备包括传感器。
15.如权利要求1所述的系统,其中所述远程可编程设备包括温度传感器。
16.如权利要求1所述的系统,其中所述远程可编程设备包括灯。
17.如权利要求1所述的系统,其中所述计算机程序还包括用于响应于第一组认证信息而提供由所述本地计算设备对所述多个用户可重配置记录的访问、以及响应于第二组认证信息提供对所述远程可编程设备的访问的代码,并且所述第一组认证信息和第二组认证信息是相同的。
18.如权利要求1所述的系统,其中所述计算机程序还包括用于以下操作的代码:
根据所述指令从所述本地计算设备获取第一互联网协议地址,以配置所述多个用户可重配置记录中的一个或多个用户可重配置记录;以及
存储所述第一互联网协议地址。
19.如权利要求18所述的系统,其中所述计算机程序还包括用于以下操作的代码:
除非由所述本地计算设备提供的第二互联网协议地址等于所述第一互联网协议地址,否则禁止由所述本地计算设备随后访问所述多个用户可重配置记录。
20.如权利要求1所述的系统,其中所述计算机程序还包括用于以下操作的代码:
从所述远程可编程设备获取第一互联网协议地址;以及
存储所述第一互联网协议地址。
21.如权利要求20所述的系统,其中所述计算机程序还包括用于以下操作的代码:
除非由所述远程可编程提供的第二互联网协议地址等于所述第一互联网协议地址,否则禁止由所述远程可编程设备随后访问所述多个用户可重配置记录。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/625,691 US9727046B2 (en) | 2015-02-19 | 2015-02-19 | System for monitoring or controlling a remote programmable device by configuring a reconfigurabale record stored on a server by a local computing device |
US14/625,691 | 2015-02-19 | ||
PCT/US2016/018365 WO2016134086A1 (en) | 2015-02-19 | 2016-02-18 | System for general purpose input/output functionality over a network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107534562A true CN107534562A (zh) | 2018-01-02 |
Family
ID=56689292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680022438.7A Pending CN107534562A (zh) | 2015-02-19 | 2016-02-18 | 用于通过网络的通用输入/输出功能的系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9727046B2 (zh) |
EP (1) | EP3259878A4 (zh) |
CN (1) | CN107534562A (zh) |
WO (1) | WO2016134086A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020144386A1 (es) * | 2019-01-10 | 2020-07-16 | Perez Gonzalez Daniel | Sistema para control de equipos de un restaurante o tienda de conveniencia |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5014238A (en) * | 1987-07-15 | 1991-05-07 | Distributed Matrix Controls Inc. | Universal input/output device |
JPH11282791A (ja) * | 1998-03-27 | 1999-10-15 | Nec Corp | Pciデバイスのコンフィギュレーションレジスタの変更・設定方法及び装置 |
CN1774679A (zh) * | 2003-02-26 | 2006-05-17 | 嵌入技术有限公司 | 过程控制系统以及配置过程控制系统的方法 |
CN101334651A (zh) * | 2007-06-27 | 2008-12-31 | 施耐德电器工业公司 | 可编程控制器及其通道选择方法 |
KR20090001506A (ko) * | 2007-04-20 | 2009-01-09 | 현대중공업 주식회사 | 피엘씨 기능을 탑재한 디지탈 변전시스템 제어용 알티유구조 |
US7761460B1 (en) * | 2004-02-04 | 2010-07-20 | Rockwell Automation Technologies, Inc. | Systems and methods that utilize a standard database interface to access data within an industrial device |
US8027809B2 (en) * | 1992-11-17 | 2011-09-27 | Health Hero Network, Inc. | Home power management system |
CN102262401A (zh) * | 2010-05-31 | 2011-11-30 | 北京德尔福万源发动机管理系统有限公司 | 一种工业生产线监控系统 |
CN103929465A (zh) * | 2013-01-14 | 2014-07-16 | 联想(新加坡)私人有限公司 | 用于远程环境的数据存储 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5586174A (en) * | 1990-08-15 | 1996-12-17 | Advanced Laundry Devices, Inc. | Condition responsive indicating system for interactively indicating status of a plurality of electrical appliances |
US8073921B2 (en) * | 1997-07-01 | 2011-12-06 | Advanced Technology Company, LLC | Methods for remote monitoring and control of appliances over a computer network |
US6792321B2 (en) * | 2000-03-02 | 2004-09-14 | Electro Standards Laboratories | Remote web-based control |
CA2480551A1 (en) | 2002-03-28 | 2003-10-09 | Robertshaw Controls Company | Energy management system and method |
US7506048B1 (en) | 2002-06-05 | 2009-03-17 | Ricoh Co. Ltd. | Method and system for monitoring network connected devices and displaying device status |
US7440809B2 (en) | 2004-07-14 | 2008-10-21 | York International Corporation | HTML driven embedded controller |
US7941786B2 (en) * | 2004-09-08 | 2011-05-10 | Universal Electronics Inc. | Configurable controlling device and associated configuration distribution system and method |
US7532709B2 (en) * | 2005-02-04 | 2009-05-12 | Styers Justin R | Remote garage door monitoring system |
US8239922B2 (en) * | 2007-08-27 | 2012-08-07 | Honeywell International Inc. | Remote HVAC control with user privilege setup |
US20130035086A1 (en) * | 2010-12-22 | 2013-02-07 | Logitech Europe S.A. | Remote control system for providing content suggestions |
WO2014109710A1 (en) | 2013-01-09 | 2014-07-17 | Singapore University Of Technology And Design | A distributed wireless sensing system |
AU2014218321A1 (en) | 2013-02-13 | 2015-09-24 | Carbontrack Pty Ltd | System and method for monitoring and control of appliances |
US20150295886A1 (en) * | 2014-04-14 | 2015-10-15 | Gangming Luo | System for identifying current internet protocol address for a remote computing device |
-
2015
- 2015-02-19 US US14/625,691 patent/US9727046B2/en active Active
-
2016
- 2016-02-18 CN CN201680022438.7A patent/CN107534562A/zh active Pending
- 2016-02-18 EP EP16753019.5A patent/EP3259878A4/en not_active Withdrawn
- 2016-02-18 WO PCT/US2016/018365 patent/WO2016134086A1/en active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5014238A (en) * | 1987-07-15 | 1991-05-07 | Distributed Matrix Controls Inc. | Universal input/output device |
US8027809B2 (en) * | 1992-11-17 | 2011-09-27 | Health Hero Network, Inc. | Home power management system |
JPH11282791A (ja) * | 1998-03-27 | 1999-10-15 | Nec Corp | Pciデバイスのコンフィギュレーションレジスタの変更・設定方法及び装置 |
CN1774679A (zh) * | 2003-02-26 | 2006-05-17 | 嵌入技术有限公司 | 过程控制系统以及配置过程控制系统的方法 |
US7761460B1 (en) * | 2004-02-04 | 2010-07-20 | Rockwell Automation Technologies, Inc. | Systems and methods that utilize a standard database interface to access data within an industrial device |
KR20090001506A (ko) * | 2007-04-20 | 2009-01-09 | 현대중공업 주식회사 | 피엘씨 기능을 탑재한 디지탈 변전시스템 제어용 알티유구조 |
CN101334651A (zh) * | 2007-06-27 | 2008-12-31 | 施耐德电器工业公司 | 可编程控制器及其通道选择方法 |
CN102262401A (zh) * | 2010-05-31 | 2011-11-30 | 北京德尔福万源发动机管理系统有限公司 | 一种工业生产线监控系统 |
CN103929465A (zh) * | 2013-01-14 | 2014-07-16 | 联想(新加坡)私人有限公司 | 用于远程环境的数据存储 |
Also Published As
Publication number | Publication date |
---|---|
US20160246275A1 (en) | 2016-08-25 |
EP3259878A4 (en) | 2018-11-21 |
US9727046B2 (en) | 2017-08-08 |
WO2016134086A1 (en) | 2016-08-25 |
EP3259878A1 (en) | 2017-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10985973B2 (en) | System for connecting and controlling multiple devices | |
CN106104555B (zh) | 用于保护外围设备的行为分析 | |
CN105824283B (zh) | 可编程显示器 | |
CN103748562B (zh) | 测试、验证和调试架构 | |
KR102329333B1 (ko) | 질의를 처리하는 장치 및 방법 | |
CN105373397A (zh) | 专门的应用开发和部署系统及方法 | |
CN105893853B (zh) | 向访客系统指派多个硬件安全模块之一的方法和指派系统 | |
CN107077671A (zh) | 使用安全模块的支付装置和方法 | |
CN108369504A (zh) | 被分发到变化拓扑的由模型驱动的更新 | |
CN105229653A (zh) | 用于医疗设备的集中式系统的应用许可 | |
CN106663364A (zh) | 无线传感器网络 | |
CN103858409B (zh) | 使用设备注册器和连线代理的传感器设备聚合 | |
US11575681B2 (en) | System and method for secure access control | |
CN108604278A (zh) | 具有对共享数据表的支持的自描述配置 | |
CN105556534B (zh) | 用于在发生拒绝时建议响应指南的电子设备和方法 | |
CN105447381A (zh) | 用于授予权限的基于令牌的方案 | |
CN104521217B (zh) | 用于在物理对象与通信设备之间建立授权通信的方法 | |
US20210326811A1 (en) | Time Clock with Thermal Reader Integral Therewith | |
CN107534562A (zh) | 用于通过网络的通用输入/输出功能的系统 | |
CN110168486A (zh) | 电子装置以及在电子装置中创建网页的快捷方式的方法 | |
Lee et al. | UMONS: Ubiquitous monitoring system in smart space | |
Michalik | Base station for Wireless sensor network | |
US20170302512A1 (en) | Universal control and monitoring of security systems and security components | |
Rusu et al. | Monitoring and control platform for homes based on FPGA, SoC and Web Technologies | |
Reed et al. | Bulwark: A framework to store iot data in user accounts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180102 |
|
WD01 | Invention patent application deemed withdrawn after publication |