page_type | description | languages | products | urlFragment | ||||
---|---|---|---|---|---|---|---|---|
sample |
A set of Java samples that show how a device that uses the IoT Plug and Play conventions interacts with either IoT Hub or IoT Central. |
|
|
azure-iot-pnp-device-samples-for-java |
These samples demonstrate how a device that follows the IoT Plug and Play conventions interacts with IoT Hub or IoT Central, to:
- Send telemetry.
- Update read-only and read-write properties.
- Respond to command invocation.
The samples demonstrate two scenarios:
- An IoT Plug and Play device that implements the Thermostat model. This model has a single interface that defines telemetry, read-only and read-write properties, and commands.
- An IoT Plug and Play device that implements the Temperature controller model. This model uses multiple components:
- The top-level interface defines telemetry, read-only property and commands.
- The model includes two Thermostat components, and a device information component.
To learn more about how to configure and run the Thermostat device sample with IoT Hub, see Quickstart: Connect a sample IoT Plug and Play device application running on Linux or Windows to IoT Hub.
To learn more about how to configure and run the Temperature Controller device sample with:
- IoT Hub, see Tutorial: Connect an IoT Plug and Play multiple component device application running on Linux or Windows to IoT Hub
- IoT Central, see Tutorial: Create and connect a client application to your Azure IoT Central application
Both samples use environment variables to retrieve configuration.
-
If you are using a connection string to authenticate:
- set IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
- set IOTHUB_DEVICE_CONNECTION_STRING="<connection string of your device>"
-
If you are using a DPS enrollment group to authenticate:
- set IOTHUB_DEVICE_SECURITY_TYPE="DPS"
- set IOTHUB_DEVICE_DPS_ID_SCOPE="<ID Scope of DPS instance>"
- set IOTHUB_DEVICE_DPS_DEVICE_ID="<Device's ID>"
- set IOTHUB_DEVICE_DPS_DEVICE_KEY="<Device's security key >"
- OPTIONAL, if you do not wish to use the default endpoint "global.azure-devices-provisioning.net"
- set IOTHUB_DEVICE_DPS_ENDPOINT="<DPS endpoint>"
$> cd {sample root}
$> mvn clean package
To run the Thermostat sample:
$> mvn exec:java -Dexec.mainClass="samples.com.microsoft.azure.sdk.iot.device.Thermostat"
To run the Temperature Controller sample:
$> mvn exec:java -Dexec.mainClass="samples.com.microsoft.azure.sdk.iot.device.TemperatureController"