Пытается отправить данные на устройство 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=']);