Research Article

A Stream Processing System for Multisource Heterogeneous Sensor Data

Box 1

XML file representing a virtual sensor.
<virtual-sensor name="smesh sht11" priority="10">
<processing-class>
  <class-name>gsn.vsensor.BridgeVirtualSensor</class-name>
  <init-params />
  <output-structure>
   <field name="nodeid" type="double"/>
   <field name="parent" type="double"/>
   <field name="seqid" type="double"/>
   <field name="groupid" type="double"/>
   <field name="board_id" type="double"/>
   <field name="light" type="double"/>
   <field name="temp" type="double"/>
   <field name="voltage" type="double"/>
  </output-structure>
</processing-class>
<description>This sensor gets xml data from smesh server
</description>
<life-cycle pool-size="10" />
<addressing>
  <predicate key="geographical">Sensor 114 @ EPFL</predicate>
  <predicate key="LATITUDE">46.520000</predicate>
  <predicate key="LONGITUDE">6.565000</predicate>
</addressing>
<storage history-size="5m" />
<streams>
  <stream name="input1">
   <source alias="source1" sampling-rate="1" storage-size="1">
    <address wrapper="sht11">
     <predicate key="rate">500</predicate>
     <predicate key="host">192.168.1.135</predicate>
     <predicate key="port">9005</predicate>
    </address>
    <query>SELECT nodeid,parent,seqid,groupid,board_id,light,temp,voltage
       FROM wrapper</query>
   </source>
   <query>SELECT nodeid,parent,seqid,groupid,board_id,light,temp,voltage
      FROM source1</query>
  </stream>
</streams>
</virtual-sensor>