CN105007597A - 一种基于Restful架构的无线传感器网络的节点封装及访问方法 - Google Patents
一种基于Restful架构的无线传感器网络的节点封装及访问方法 Download PDFInfo
- Publication number
- CN105007597A CN105007597A CN201510545256.5A CN201510545256A CN105007597A CN 105007597 A CN105007597 A CN 105007597A CN 201510545256 A CN201510545256 A CN 201510545256A CN 105007597 A CN105007597 A CN 105007597A
- Authority
- CN
- China
- Prior art keywords
- node
- expressed
- wireless sensor
- server
- user
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/04—Arrangements for maintaining operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种基于Restful架构的无线传感器网络的节点封装及访问方法,依次包括以下步骤:(1)为无线传感器网络分配IP,并为无线传感器网络中的每个传感器节点数据分配URI地址;(2)将传感器节点封装成具有HTTP协议的统一接口;(3)用户登陆网页,通过网页调用HTTP协议下的GET、PUT、POST和DELETE方法,选择对节点数据的操作,用户输入的参数通过URI地址传输给服务器,服务器根据参数控制节点完成用户指定的操作,并把结果存储在数据库中;(4)服务器将结果返回到用户端网页。本发明使得代理服务器、缓存服务器和网关能更好地协调工作,且可以实现远程操作,同时无线传感器网络接口简单明了,简化了用户的操作流程。
Description
技术领域
本发明涉及计算机网络领域,尤其涉及一种基于Restful架构的无线传感器网络的节点封装及访问方法。
背景技术
REST 全称为Representational State Transfer,指表述性状态转移,RESTful Web服务遵循表述性状态转移REST架构的设计风格:整个Web被看做一组资源的集合,REST定义了一组体系风格架构,以供根据这些风格设计以系统资源为中心的Web服务,资源有URI标识,对资源进行的操作由用户指定的URI和HTTP协议动词的组合来实施,同时将资源与资源的标识分开,为构建可扩展、简单性、可移植和松耦合的Web程序提供了一个架构性上的准则,REST这种基于资源的设计改变了传统的基于服务的设计思想。
无线传感器网络(Wireless Sensor Networks,简称WSN)是由一组微型传感器以自组织方式构成的无线网络,其目的是协作地感知、采集和处理网路覆盖地理区域中的对象的信息,并发布给观察者。无线传感器网络中的每个传感器都具有一个或多个节点,传感器节点通常是一个微型的嵌入式系统,每个节点都有相应的监测范围,用来监测该范围内的信息,并将这些信息传送到最近的汇聚节点,随后进入汇聚阶段,将各种数据进行分析和处理,然后将结果根据需要发送给基站,基站将最终结果传送给观察员。
当前背景下的传感器操作必须在操作人员与硬件设备较近的情况下才可操作,无法实现远程操作,且操作过程和数据描述较为复杂繁琐;跨平台性不好,对硬件设备的要求较高。
发明内容
本发明的目的在于提供一种基于Restful架构的无线传感器网络的节点封装及访问方法,能够简化用户的操作流程,且可实现远程操作。
为实现上述目的,本发明采用如下技术方案:
一种基于Restful架构的无线传感器网络的节点封装及访问方法,依次包括以下步骤:
(1)为无线传感器网络分配IP,并为无线传感器网络中的每个传感器节点数据分配URI地址;
(2)将传感器节点封装成具有HTTP协议的统一接口;
(3)用户登陆网页,通过网页调用HTTP协议下的GET、PUT、POST和DELETE方法,选择对节点数据的操作,用户输入的参数通过URI地址传输给服务器,服务器根据参数控制节点完成用户指定的操作,并把结果存储在数据库中;
(4)服务器将结果返回到用户端网页。
所述步骤(1)中,分配URI地址的规则如下:GET方法下,服务器地址表示为IP,节点信息表示为Info,节点id表示为nodeid, 节点采集数据表示为Data,采集时间表示为Time,数据id表示为dataid,数据id是数据的唯一标识;POST方法下,服务器地址表示为IP,修改节点类型命令标示表示为Type,节点id表示为nodeid,要修改为的节点类型表示为newtype;PUT方法下,服务器地址表示为IP,需要添加的节点表示为addNode,添加的节点类型id 表示为nodeTypeId,需要添加的节点类型表示为addNodeType,添加的节点类型为Type,需要烧录的程序标示表示为Writing,节点Id为 nodeId,烧录代码串为Code;DELETE方法下,服务器地址表示为IP,需要删除的节点Id表示为 nodeId,删除节点标示表示为deleteNode,需要删除的节点类型标示表示为deleteNodeTyp,节点类型标示表示为nodeTypeId,需要删除的数据标示表示为deleteData,节点Id表示为 nodeId,时间段表示为Time,数据Id 表示为dataid。
所述步骤(3)中,调用GET方法时,用户通过网页访问URI地址来向该URI发出请求,服务器解析URI地址,并根据URI地址中的参数在数据库中查询用户想要获取的数据,然后把结果存入数据库;调用POST方法时,用户通过网页访问URI地址来向该URI发出请求,服务器解析URI地址,并根据URI地址中的参数找到用户指定的无线传感器网络,将目标节点修改为新的节点类型,然后把修改结果存入数据库;调用PUT方法时,用户通过网页访问URI地址来向该URI发出请求,服务器解析URI地址,并根据URI地址中的参数找到用户指定的无线传感器网络,并为无线传感器网络添加用户指定的节点、节点类型或烧录程序,然后把结果存入数据库;调用DELETE方法时,用户通过网页访问URI地址来向该URI发出请求,服务器解析URI地址,并根据URI地址中的参数找到用户指定的无线传感器网络,在数据库中删除相应的数据,然后把结果存入数据库。
所述步骤(3)中,调用GET方法时,服务器查询的结果经过JSON格式封装后储存在数据库中。
本文提出的基于Restful架构的无线传感器网络的节点封装及访问方法具有如下优势:REST 系统中所有的动作和要访问的资源都可以从HTTP和URI中得到,使得代理服务器、缓存服务器和网关能更好地协调工作,且可以实现远程操作;无线传感器网络接口简单明了,易使用;适用于多种平台,可以供所有相关的开发人员学习使用;GET方法下,服务器的输出数据使用JSON格式的数据,使得数据资源的描述更简单,易于人阅读和编写,同时也易于机器解析和生成。
附图说明
图1为本发明的流程图。
具体实施方式
如图1所示,本发明所述的一种基于Restful架构的无线传感器网络的节点封装及访问方法依次包括以下步骤:
(1)将无线传感器网络作为一个服务器,为网络分配IP,将无线传感器网络中的每个传感器节点作为一个小型网站,并为与每个传感器节点数据分配URI地址。
IP分配方式采用DHCP或人工静态设置IP的方法,且这些IP为外网IP,同时为每个IP申请域名,用户的HTTP请求经过域名并经DNS解析获得目标的IP地址。
分配URI地址的规则如下:GET方法下,服务器地址表示为IP,服务器地址即无线传感器网络地址,节点信息表示为Info,节点id表示为nodeid, 节点采集数据表示为Data,采集时间表示为Time,数据id表示为dataid,数据id是数据的唯一标识;POST方法下,服务器地址表示为IP,修改节点类型命令标示表示为Type,节点id表示为nodeid,要修改为的节点类型表示为newtype;PUT方法下,服务器地址表示为IP,若要添加节点,则需要添加的节点表示为addNode,添加的节点类型id 表示为nodeTypeId,若要添加节点类型,则需要添加的节点类型表示为addNodeType,添加的节点类型为Type,若烧录程序,则需要烧录的程序标示表示为Writing,节点Id为 nodeId,烧录代码串为Code;DELETE方法下,服务器地址表示为IP,若删除节点,则需要删除的节点Id表示为 nodeId,删除节点标示表示为deleteNode,若删除节点类型,则需要删除的节点类型标示表示为deleteNodeType,节点类型标示表示为nodeTypeId,若删除某节点数据,则需要删除的数据标示表示为deleteData,节点Id表示为 nodeId,时间段表示为Time,数据Id 表示为dataid。
(2)将传感器节点封装成具有HTTP协议的统一接口。
首先创建ASP.NET MVC 4 Web应用程序,并将其命名;在弹出的“新ASP.NET MVC 4项目”对话框中选择“Web API”,然后点击“确定”;接下来在Contrullers目录下选择“添加”“控制器”,并将控制器命名为WSNController,模板下拉框选择“空API控制器”,然后点击添加;之后在生成的控制器类中添加using AttributeRouting和using AttributeRouting.Web.Http两个命名空间,便可以在控制器类中定义各种restful web api了。本实施例以GET方法中获取某个节点数据为例阐述将节点封装成具有HTTP协议的统一接口过程。
在WSNController类中添加如下格式代码:
[GET(“data/{nodeid}”)]
public string Get(int nodeid)
{
string nodeinfo=””;
//详细代码在此省略
return nodeinfo;
}
其他方法也依照此方式构建,构建完成后发布到IIS即可供他人通过HTTP请求调用。
(3)用户登陆网页,通过网页调用HTTP协议下的GET、PUT、POST和DELETE方法,选择对节点数据的操作,用户输入的参数通过URI地址传输给服务器,服务器根据参数控制节点完成用户指定的操作,并把结果存储在数据库中。
访问URI地址所返回的结果及调用参数如下:
调用GET方法时,用户通过网页访问URI地址来向该URI发出请求,服务器解析URI地址,并根据URI地址中的参数在数据库中查询用户想要获取的数据,然后把结果经过JSON格式封装后存储在数据库中。例如,获取网络内节点信息,利用GET方法访问URI地址:http://ip/info;获取某个节点信息,利用GET方法访问URI地址:http://ip/info/:nodeid;获取网络中所有数据,利用GET方法访问URI地址:http://ip/data;获取某个节点数据,利用GET方法访问URI地址:http://ip/data/:nodeid;获取网络内某时所有数据,利用GET方法访问URI地址:http://ip/data/:time;获取某个节点某时数据,利用GET方法访问URI地址:http://ip/data/:nodeid/:time;根据数据ID获取数据,利用GET方法访问URI地址:http://ip/data/:dataid,然后服务器解析该URI地址并查询用户想要获取的数据,并将结果经过JSON格式封装后存储在数据库中。
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它基于JavaScript的一个子集, JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯,包括C, C++, C#, Java, JavaScript, Perl, Python等,这些特性使JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成。JSON格式封装过程如下:
{
"boxId":20,
"boxIp":"192.168.0.119",
"nodes":[
{
"nodeId":"1",
"nodeTypeId":"1",
"nodeType":"温度传感器",
“status”:状态
},
{
"nodeId":"2",
"nodeTypeId":"2",
"nodeType":"湿度传感器",
“status”:状态
},
{
"nodeId":"3",
"nodeTypeId":"3",
"nodeType":"压力传感器",
“status”:状态
},
…
]
}
调用POST方法时,用户通过网页访问URI地址来向该URI发出请求,服务器解析URI地址,并根据URI地址中的参数找到用户指定的无线传感器网络,将目标节点修改为新的节点类型,然后把修改结果存入数据库。例如,修改节点类型,利用POST方法访问URI地址:http://ip/type/:nodeid/:newtype,然后服务器解析该URI地址并将目标节点改为新的节点类型,然后把修改结果存入数据库。
调用PUT方法时,用户通过网页访问URI地址来向该URI发出请求,服务器解析URI地址,并根据URI地址中的参数找到用户指定的无线传感器网络,并为无线传感器网络添加用户指定的节点、节点类型或烧录程序,然后把结果存入数据库。例如,添加节点,利用PUT方法访问URI地址:http://ip/addNode/:nodeTypeId;烧写程序,利用PUT方法访问URI地址:http://ip/writing/:nodeId/:code;添加节点类型,利用PUT方法访问URI地址:http://ip/addNoteType/:type,然后服务器解析该URI地址并添加相应的节点、节点类型或烧录程序,然后把结果存入数据库。
调用DELETE方法时,用户通过网页访问URI地址来向该URI发出请求,服务器解析URI地址,并根据URI地址中的参数找到用户指定的无线传感器网络,在数据库中删除相应的数据,然后把结果存入数据库。例如,删除节点,利用DELETE方法访问URI地址:http://ip/deleteNode/:nodeId;删除某节点数据,利用DELETE方法访问URI地址:http://ip/deleteData/:nodeId;删除某时段的数据,利用DELETE方法访问URI地址:http://ip/deleteData/:time;删除某节点某段时间的数据,利用DELETE方法访问URI地址:http://ip/deleteData/:nodeId/:time;删除某条数据,利用DELETE方法访问URI地址:http://ip/deleteData/:dataid;删除所有数据,利用DELETE方法访问URI地址:http://ip/deleteData;删除节点类型,利用DELETE方法访问URI地址:http://ip/deleteNodeType/:nodeTypeId,然后服务器解析该URI地址,并根据URI地址中的相关参数找到相应的无线传感器网络,在数据库中删除相应的数据,然后把结果存入数据库。
(4)服务器将结果返回到用户端网页。
Claims (4)
1.一种基于Restful架构的无线传感器网络的节点封装及访问方法,其特征在于,依次包括以下步骤:
(1)为无线传感器网络分配IP,并为无线传感器网络中的每个传感器节点数据分配URI地址;
(2)将传感器节点封装成具有HTTP协议的统一接口;
(3)用户登陆网页,通过网页调用HTTP协议下的GET、PUT、POST和DELETE方法,选择对节点数据的操作,用户输入的参数通过URI地址传输给服务器,服务器根据参数控制节点完成用户指定的操作,并把结果存储在数据库中;
(4)服务器将结果返回到用户端网页。
2.如权利要求1所述的一种基于Restful架构的无线传感器网络的节点封装及访问方法,其特征在于:所述步骤(1)中,分配URI地址的规则如下:GET方法下,服务器地址表示为IP,节点信息表示为Info,节点id表示为nodeid, 节点采集数据表示为Data,采集时间表示为Time,数据id表示为dataid,数据id是数据的唯一标识;POST方法下,服务器地址表示为IP,修改节点类型命令标示表示为Type,节点id表示为nodeid,要修改为的节点类型表示为newtype;PUT方法下,服务器地址表示为IP,需要添加的节点表示为addNode,添加的节点类型id 表示为nodeTypeId,需要添加的节点类型表示为addNodeType,添加的节点类型为Type,需要烧录的程序标示表示为Writing,节点Id为 nodeId,烧录代码串为Code;DELETE方法下,服务器地址表示为IP,需要删除的节点Id表示为 nodeId,删除节点标示表示为deleteNode,需要删除的节点类型标示表示为deleteNodeTyp,节点类型标示表示为nodeTypeId,需要删除的数据标示表示为deleteData,节点Id表示为 nodeId,时间段表示为Time,数据Id 表示为dataid。
3.如权利要求2所述的一种基于Restful架构的无线传感器网络的节点封装及访问方法,其特征在于:所述步骤(3)中,调用GET方法时,用户通过网页访问URI地址来向该URI发出请求,服务器解析URI地址,并根据URI地址中的参数在数据库中查询用户想要获取的数据,然后把结果存入数据库;调用POST方法时,用户通过网页访问URI地址来向该URI发出请求,服务器解析URI地址,并根据URI地址中的参数找到用户指定的无线传感器网络,将目标节点修改为新的节点类型,然后把修改结果存入数据库;调用PUT方法时,用户通过网页访问URI地址来向该URI发出请求,服务器解析URI地址,并根据URI地址中的参数找到用户指定的无线传感器网络,并为无线传感器网络添加用户指定的节点、节点类型或烧录程序,然后把结果存入数据库;调用DELETE方法时,用户通过网页访问URI地址来向该URI发出请求,服务器解析URI地址,并根据URI地址中的参数找到用户指定的无线传感器网络,在数据库中删除相应的数据,然后把结果存入数据库。
4.如权利要求3所述的一种基于Restful架构的无线传感器网络的节点封装及访问方法,其特征在于:所述步骤(3)中,调用GET方法时,服务器查询的结果经过JSON格式封装后储存在数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510545256.5A CN105007597A (zh) | 2015-08-31 | 2015-08-31 | 一种基于Restful架构的无线传感器网络的节点封装及访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510545256.5A CN105007597A (zh) | 2015-08-31 | 2015-08-31 | 一种基于Restful架构的无线传感器网络的节点封装及访问方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105007597A true CN105007597A (zh) | 2015-10-28 |
Family
ID=54380074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510545256.5A Pending CN105007597A (zh) | 2015-08-31 | 2015-08-31 | 一种基于Restful架构的无线传感器网络的节点封装及访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105007597A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357781A (zh) * | 2016-09-29 | 2017-01-25 | 郑州云海信息技术有限公司 | 一种资源服务调用接口创建方法及系统 |
CN107528864A (zh) * | 2016-06-20 | 2017-12-29 | 中国科学院微电子研究所 | 异构网络数据处理方法及系统 |
CN107577504A (zh) * | 2017-07-26 | 2018-01-12 | 河南大学 | 一种基于Restful架构的无线传感器网络烧写方法 |
CN108696949A (zh) * | 2017-04-11 | 2018-10-23 | 西门子保健有限责任公司 | 磁共振装置和外部设备之间的标准化的无线电耦合 |
CN108762950A (zh) * | 2018-05-23 | 2018-11-06 | 山东浪潮商用系统有限公司 | 一种规范化RESTful微服务交互方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1435A (en) * | 1839-12-18 | George smith | ||
CN101369992A (zh) * | 2007-08-15 | 2009-02-18 | 扬州贝尔斯通科技有限公司 | 基于xml的船舶用无线传感器网络网关 |
CN101442556A (zh) * | 2008-12-25 | 2009-05-27 | 北京交通大学 | 一种基于IPv6的无线传感器网络服务器系统 |
CN101621436A (zh) * | 2008-07-03 | 2010-01-06 | 王金虎 | 一种基于无线网状网的服务提供系统及终端设备 |
US20140358442A1 (en) * | 2013-06-03 | 2014-12-04 | King Abdulaziz City For Science And Technology | Sand and dust storm detection method |
-
2015
- 2015-08-31 CN CN201510545256.5A patent/CN105007597A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1435A (en) * | 1839-12-18 | George smith | ||
CN101369992A (zh) * | 2007-08-15 | 2009-02-18 | 扬州贝尔斯通科技有限公司 | 基于xml的船舶用无线传感器网络网关 |
CN101621436A (zh) * | 2008-07-03 | 2010-01-06 | 王金虎 | 一种基于无线网状网的服务提供系统及终端设备 |
CN101442556A (zh) * | 2008-12-25 | 2009-05-27 | 北京交通大学 | 一种基于IPv6的无线传感器网络服务器系统 |
US20140358442A1 (en) * | 2013-06-03 | 2014-12-04 | King Abdulaziz City For Science And Technology | Sand and dust storm detection method |
Non-Patent Citations (1)
Title |
---|
马建乐: "基于发布/订阅机制的无线传感器网络中间件系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107528864A (zh) * | 2016-06-20 | 2017-12-29 | 中国科学院微电子研究所 | 异构网络数据处理方法及系统 |
CN106357781A (zh) * | 2016-09-29 | 2017-01-25 | 郑州云海信息技术有限公司 | 一种资源服务调用接口创建方法及系统 |
CN108696949A (zh) * | 2017-04-11 | 2018-10-23 | 西门子保健有限责任公司 | 磁共振装置和外部设备之间的标准化的无线电耦合 |
CN107577504A (zh) * | 2017-07-26 | 2018-01-12 | 河南大学 | 一种基于Restful架构的无线传感器网络烧写方法 |
CN108762950A (zh) * | 2018-05-23 | 2018-11-06 | 山东浪潮商用系统有限公司 | 一种规范化RESTful微服务交互方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11265378B2 (en) | Cloud storage methods and systems | |
CN105007597A (zh) | 一种基于Restful架构的无线传感器网络的节点封装及访问方法 | |
CN110309334A (zh) | 图数据库的查询方法、系统、计算机设备和可读存储介质 | |
CN108769109A (zh) | 一种物联网异构设备数据的统一处理方法及系统 | |
CN112511660B (zh) | 一种边缘终端设备的管理系统、方法、装置及存储介质 | |
CN103631578B (zh) | 一种配电网自动化系统中数据展示方法 | |
JP2016527817A (ja) | ユーザデバイスに対する、インターネットプロトコル(ip)アドレスと、メディアアクセス制御(mac)アドレスと、ロケーションとを関係付けるための方法およびシステム | |
CN110071986A (zh) | 一种用于域名解析的系统 | |
CN107846483A (zh) | 一种域名解析方法、系统和服务器 | |
JP2007524939A (ja) | メタmibを使用する自動アップデートシステム及び方法 | |
CN105117938A (zh) | 一种基于模型视图控制器的电商构架请求数据分析方法 | |
CN105207885B (zh) | 在会话界面中展示用户信息的方法及装置 | |
KR20110052137A (ko) | 소셜 네트워킹 서비스 기반의 콘텐츠 공유 방법 | |
Malewski et al. | StarFL–a modularised metadata language for sensor descriptions | |
CN106603593A (zh) | 一种基于适配的http调用方法及装置 | |
CN107423037A (zh) | 应用程序接口定位方法及设备 | |
KR20170124055A (ko) | 지그비와 CoAP간의 연동 시스템, 장치 및 이를 이용한 센서 노드의 제어 방법 | |
WO2016074477A1 (zh) | 一种数据处理方法、设备、系统及计算机存储介质 | |
Pfeil et al. | Opensensemap-a citizen science platform for publishing and exploring sensor data as open data | |
Ishaq et al. | Group communication in constrained environments using CoAP-based entities | |
Loseto et al. | Linking the web of things: LDP-CoAP mapping | |
KR101698184B1 (ko) | 홈 네트워크 가상화 장치 및 그 방법 | |
Yadav et al. | An efficient sensor integrated model for hosting real-time data monitoring applications on cloud | |
Zhu et al. | Smart home control system based on internet of things | |
KR20190069284A (ko) | 인터넷 서비스의 ocf 리소스 변환 및 연동 방법, 및 이를 수행하는 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151028 |