Se retiró Google Cloud IoT Core. Para encontrar un socio, consulte https://cloud.google.com/iot-core.

Configurar el estado del dispositivo

Establece el estado de un dispositivo.

Muestra de código

PHP

Si quieres obtener más información, consulta la documentación de referencia de la API de PHP de Cloud IoT Core.

Para autenticarte en Cloud IoT Core, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

use GuzzleHttp\Client;
use Firebase\JWT\JWT;

/**
 * Set a device's state.
 *
 * @param string $registryId IOT Device Registry ID
 * @param string $deviceId IOT Device ID
 * @param string $certificateFile Path to the RSA certificate file
 * @param string $stateData Binary data for the device state
 * @param string $projectId Google Cloud project ID
 * @param string $location (Optional) Google Cloud region
 */
function set_device_state(
    $registryId,
    $deviceId,
    $certificateFile,
    $stateData,
    $projectId,
    $location = 'us-central1'
) {
    print('Set device state' . PHP_EOL);

    // Instantiate an HTTP client.
    $httpClient = new Client();

    // Create/Sign a JWT for device authentication
    // @see https://cloud.google.com/iot/docs/how-tos/credentials/jwts
    $jwt = JWT::encode(
        ['aud' => $projectId, 'iat' => time(), 'exp' => time() + 3600],
        file_get_contents($certificateFile),
        'RS256'
    );

    // Format the device's URL
    $deviceName = sprintf('projects/%s/locations/%s/registries/%s/devices/%s',
        $projectId, $location, $registryId, $deviceId);

    $url = sprintf('https://cloudiotdevice.googleapis.com/v1/%s:setState', $deviceName);

    // Make the HTTP request
    $response = $httpClient->post($url, [
        'json' => [
            'state' => [
                'binaryData' => base64_encode($stateData)
            ]
        ],
        'headers' => [
            'Authorization' => sprintf('Bearer %s', $jwt)
        ]
    ]);

    print('Updated device State' . PHP_EOL);
}

¿Qué sigue?

Para buscar y filtrar muestras de código de otros productos de Google Cloud, consulta el navegador de muestra de Google Cloud.