Получить список устройств от IBM BLUEMIX IoT Foundation

Как я могу получить список устройств в IOT Foundation, используя MQTT и PHP.
Я попробовал этот код:


<?php
require("../phpMQTT.php");
$config = array(
'org_id' => 't9m318',
'port' => '1883',
'app_id' => 'phpmqtt',
'iotf_api_key' => 'my api key',
'iotf_api_secret' => 'my api secret',
'device_id' => 'phpmqtt'
);

$config['server'] = $config['org_id'] . '.messaging.internetofthings.ibmcloud.com';
$config['client_id'] = 'a:' . $config['org_id'] . ':' . $config['app_id'];
$location = array();
// initialize client
$mqtt = new phpMQTT($config['server'], $config['port'],     $config['client_id']);
$mqtt->debug = false;

// connect to broker
if(!$mqtt->connect(true, null, $config['iotf_api_key'],  $config['iotf_api_secret'])){
echo 'ERROR: Could not connect to IoT cloud';
exit();
}

Но я не знаю, что я должен поставить для подписки.

Затем я изменил код и попытался использовать HTTP вместо MQTT:

$ UserPass = $ config [‘iotf_api_key’]. ‘:’. $ Config [‘iotf_api_secret’];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 't9m318.messaging.internetofthings.ibmcloud.com');
curl_setopt($ch, CURLOPT_USERPWD,  $UserPass);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json','Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$output = curl_exec($ch);
curl_close($ch);
$arr = json_decode($output,true);
echo $arr;

Но это не работает!

Спасибо

0

Решение

Вы не можете получить список устройств через MQTT, но вы можете использовать HTTP API для просмотра списка всех устройств.

Вы можете получить все устройства с:

https://docs.internetofthings.ibmcloud.com/swagger/v0002.html#!/Bulk_Operations/get_bulk_devices

Или отфильтруйте по deviceType с помощью:

https://docs.internetofthings.ibmcloud.com/swagger/v0002.html#!/Devices/get_device_types_typeId_devices

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]