Не удается загрузить данные в Cosm из arduino mega с помощью обучающего скетча

Я не могу загрузить данные с моего Arduino Mega с Ethernet Shiled в Cosm. Я попробовал один из учебных примеров (DatastreamUpload.ino ). Я использовал ключ API и идентификатор канала, которые Cosm дал мне при регистрации, и изменил функцию init(), чтобы использовать статический IP-адрес, как показано ниже:

    byte mac[] = {0x90, 0xA2, 0xDA, 0x0D, 0xD3, 0x45 };
    IPAddress ip(192,168,0, 110);
    IPAddress gateway(192,168,0, 1);
    IPAddress subnet(255, 255, 255, 0);

тогда:

    Ethernet.begin(mac, ip, gateway, subnet);

Вот вывод последовательного монитора:

Read sensor value 452.00
Uploading it to Cosm
cosmclient.put returned -1

Read sensor value 451.00
Uploading it to Cosm
cosmclient.put returned -1

Read sensor value 378.00
Uploading it to Cosm
cosmclient.put returned -3

Read sensor value 352.00
Uploading it to Cosm
cosmclient.put returned -3

У кого-нибудь есть решение для этого?


person user2312976    schedule 23.04.2013    source источник


Ответы (2)


На данный момент отсутствует документация по этому вопросу, нужно посмотреть исходный код, чтобы узнать. Эти коды ошибок определены в HttpClient.h, как показано ниже:

// The end of the headers has been reached.  This consumes the '\n'
static const int HTTP_SUCCESS =0;
// Could not connect to the server
static const int HTTP_ERROR_CONNECTION_FAILED =-1;
// This call was made when the HttpClient class wasn't expecting it
// to be called.  Usually indicates your code is using the class
// incorrectly
static const int HTTP_ERROR_API =-2;
// Spent too long waiting for a reply
static const int HTTP_ERROR_TIMED_OUT =-3;
// The response from the server is invalid, is it definitely an HTTP
// server?
static const int HTTP_ERROR_INVALID_RESPONSE =-4;
person errordeveloper    schedule 23.04.2013
comment
я еще видел космический форум и понимаю, что arduino не может общаться с сервером pachube. Но я не понимаю, почему. Если я попытаюсь запустить ethernet с DHCP следующим образом: Ethernet.begin(mac) иногда данные поступают на pachube... Это до сих пор для меня загадка! Кто-нибудь может помочь? Спасибо! - person user2312976; 24.04.2013
comment
Использование DHCP, вероятно, было бы хорошим началом для отладки этого... Скорее всего, это проблема с конфигурацией IP. - person errordeveloper; 24.04.2013

Неудивительно, что ино, на которое вы ссылаетесь, выглядит на 100% кошерным, и я изо всех сил пытаюсь увидеть что-то отличное от того, что я использовал.

В качестве меры предосторожности я бы поставил int ret=0; в начале цикла

Я понимаю, что у вас только один датчик, но предлагаю вам тщательно идентифицировать его как sensorId0.

у меня есть буфер

const int bufferSize = 100; char bufferValue[bufferSize]; CosmDatastream datastreams[] = { CosmDatastream(sensorId0, strlen(sensorId0), DATASTREAM_FLOAT),

Полный флакон был опубликован на космическом форуме в октябре прошлого года.

Я не использую этот ip, шлюз и подсеть. Наверное, мутит воду.

person Nick Pyner    schedule 25.04.2013