Пытается отправить данные на устройство IOT с помощью PHP

У меня есть доска вещей. На плате есть один светодиод, который я хочу включить с помощью запроса POST (интеграция http), если я выполняю эту команду в своем CLI, она работает:

  curl -i -X POST --data '{"dev_id":"myid","port": 1,"confirmed": false, "payload_raw": "MDA="}' https://integrations.thethingsnetwork.org/ttn-eu/api/v2/down/myapplication/test?key=ttn-account-v2.thekey

Но теперь я хочу сделать это на PHP, поэтому у меня есть этот код:

<?php

//API Url
$endpoint_url = 'https://integrations.thethingsnetwork.org/ttn-eu/api/v2/down/myapp/test?key=ttn-account-v2.mykey';


$data_to_post  = [
'dev_id' => 'mydevice',
'port' => 1,
'confirmed' => false,
'payload_raw' => 'MDA='];


$options = [
CURLOPT_URL        => $endpoint_url,
CURLOPT_POST       => true,
CURLOPT_POSTFIELDS => $data_to_post,`enter code here`
CURLOPT_SSL_VERIFYPEER=> false
];


$curl = curl_init();
curl_setopt_array($curl, $options);


curl_exec($curl);
var_dump(curl_getinfo($curl));
curl_close($curl);

И это только возвращает HTTP400 Badrequest. Что я делаю неправильно?

0 ответов

Попробуйте закодировать данные с помощью json_encode:

$data_to_post  = json_encode([
    'dev_id' => 'mydevice',
    'port' => 1,
    'confirmed' => false,
    'payload_raw' => 'MDA=']);
Другие вопросы по тегам