Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagexml
themeEmacs
titleGreenhouse ThingModel and Facets
linenumberstrue
collapsetrue
<ThingModel Name="GHHumiditySensor" Combines="GHHumiditySensorFacet">
      <Sid Name="SensorId"/>
      <Reference Name="GreenhouseID" Type="Greenhouse" Cardinality="1"/>
</ThingModel>

<ThingModel Name="GHTempSensor" Combines="GHTempSensorFacet">
      <Sid Name="sensorId"/>
      <Reference Name="GreenhouseID" Type="Greenhouse" Cardinality="1"/>
</ThingModel>

<ThingModel Name="ServoMotorDevice" combines="ServoMotor">
      <Sid Name="ServoID"/>
</ThingModel>
 
<ThingModel Name="HumiditySensor" Combines="HumiditySensorFacetNS">
      <Sid Name="sensorId"/>
      <Reference Name="ZoneID" Type="Zone" Cardinality="1"/>
</ThingModel>
<ThingModel Name="Heater">
      <Sid Name="HeaterID"/>
      <String Name="OnOffState"/>
      <Integer Name="HeatingLevel"/>
      <Reference Name="ZoneID" Type="Zone" Cardinality="1"/>
</ThingModel> 
<ThingModel Name="LightModel" Combines="LightFacetNS">
      <Sid Name="LightID"/>
      <Reference Name="GridID" Type="Grid" Cardinality="1"/>
</ThingModel>
<ThingModel Name="AmbientLightSensorModel" Combines="AmbientLightSensorFacetNS">
      <Sid Name="AmbientLightID"/>
      <Reference Name="GridID" Type="Grid" Cardinality="1"/>
</ThingModel>
<ThingModel Name="IrrigationNozzleModel" Combines="IrrigationNozzleFacetNS">
      <Sid Name="IrrigationNozzleID"/>
      <Reference Name="GridID" Type="Grid" Cardinality="1"/>
</ThingModel>
<ThingModel Name="MCUSensorModel" combines="MCUSensorFacet">
		<Sid Name="SensorId"/>
</ThingModel>

Macros

  • Pipeline Macros - ExecuteQuery, ScheduleJob, UnScheduleJob, SubscribeToTQL
  • Greenhouse Creation (Bulk Initialization)
  • Simulate Sensors & Actuators
  • Internal Activation of ThingFacets
Code Block
languagexml
themeEmacs
titleGreenhouse Macros
linenumberstrue
collapsetrue
<Macro Name="ExecuteQuery">
  <Argument>
    <QueryString>
      <Query/>
    </QueryString>
  </Argument>
  <Result>
    <OnRequest Target="[:RuntimeParams.FacetIDName:]" Disable="CMD_SERVER">
      <Process Return="CMD_NOP">
        <Message>
          <Value>
            [:$Macro.Argument.QueryString:]
          </Value>
        </Message>
      </Process>
    </OnRequest>
  </Result>
</Macro>

Gateway Setup

  • The gateway selected for the Greenhouse setup is ADVANTECH UTX-3115 sold by Intel
    Operating System: Running Wind River Linux [Linux WR-IDP-689C 3.14.56_IDP-XT_3.1-WR7.0.0.11_idp].

  • This gateway represents 1 zone and 1 Grid
  • How things are connected to Gateways

    Gateway TypeThingsProtocolGridZone
    Intel ADVANTECHAmbient Light SensorXbee/Serial 
    Intel ADVANTECHSoil SensorXbee/Serial 
    Intel ADVANTECHLightXbee/IP 
    Intel ADVANTECHIrrigation Nozzle (Selonoid)Xbee/Serial  
    Intel ADVANTECHTemperature SensorXbee/Serial 
    Intel ADVANTECHHumidity SensorXbee/Serial 
    Raspberry Pi - 3CameraUCAM/Serial 
    TQLEngineHeater- Simulated
    Intel ADVANTECHIrrigation MotorPHID/Serial 

...

Cloud Setup

Cluster Definition

  • Same Model definition in all the nodes participating in the cluster.