Подключение к службе REST с помощью сборки Intel Galileo для Windows

Как подключиться к службе REST с помощью платы Intel Galileo?

Мне нужно, чтобы решение было автономным от ПК-клиента.

Пока есть доступ в Интернет через Ethernet или Wi-Fi, код будет выполняться


person Alexander Talavari    schedule 11.09.2014    source источник


Ответы (3)


Если вы еще не склоняетесь к проекту Node, самым простым решением будет использование Win32 API.

страница примеров приложений ms-iot на GitHub недавно была обновлена. ссылка на образец WinSock в MSDN . Я внес несколько изменений в пример кода клиента WinSock для отправки данных в Cosm (теперь Xively), который использует REST API.

Соответствующие изменения в клиентском коде Winsock:

// replace nnnnn with your Feed ID, and xxxxxxxxxxx with your API key!
char *sendbuf = "PUT /v2/feeds/nnnnn.csv HTTP/1.1\r\nHost: api.cosm.com\r\nX-ApiKey: xxxxxxxxx\r\nUser-Agent: WinGalileo\r\nContent-Length: 18\r\nContent-Type: text/csv\r\nConnection: close\r\n\r\n";
char *databuf = "GalileoTest,123.45\r\n";
. . .
iResult = getaddrinfo("www.cosm.com", 80, &hints, &result);
. . .
// Send the HTML
iResult = send(ConnectSocket, sendbuf, (int)strlen(sendbuf), 0);
. . .
// send the data
iResult = send(ConnectSocket, databuf, (int)strlen(databuf), 0);

Библиотеки Arduino были добавлены в SDK ms-iot Galileo за последние пару месяцев, поэтому я подозреваю, что предпринимаются попытки портировать библиотеки WebClient и Ethernet. Следите за страницей GitHub.

person Dan Watts    schedule 07.10.2014

Доступен C++ SDK, который позволяет вызывать службы REST. Это C++ REST SDK (кодовое название Casablanca). Это библиотека от Microsoft, опубликованная как проект с открытым исходным кодом на CodePlex. Пока только версия 2.2. можно использовать на Галилео. Инструкции по его использованию находятся здесь: http://ms-iot.github.io/content/Casablanca.htm

Если вы хотите получить доступ к Azure с помощью REST с помощью Casablanca, на GitHub есть библиотека: клиентская библиотека хранилища Azure для C++. Он позволяет создавать приложения для хранилища Microsoft Azure.

Но если вы захотите использовать его на Galileo, у вас возникнут некоторые проблемы. Если вы хотите узнать, как избежать или обойти проблемы, вы можете найти полную инструкцию в моем блоге http://kardum.net/iot/intel-galileo-windows-application-azure-storage/

Я надеюсь, что это поможет вам. С уважением, Иван

person Ivan Kardum    schedule 14.01.2015

вы можете получить доступ к службе REST с помощью HTTP-клиента Arduino.

Другой вариант — установить nodejs на плату Galileo и использовать клиентские библиотеки REST или HTTP на основе nodejs.

Чтобы установить nodejs, просто загрузите двоичный файл Windows x32 напрямую без формальной установки. Также загрузите последнюю версию npm.zip и распакуйте в ту же папку, где находится node.exe.

Теперь вы готовы использовать restler клиентскую библиотеку REST... просто установите с помощью npm install restler

В конце страницы рестлера есть пример, скопируйте и вставьте в rest_test.js и запустите node rest_test.js, у вас должен быть простой клиент REST на Galileo!

person ashoke    schedule 15.09.2014
comment
Я только начал работать с Arduino, и меня привлекла Microsoft. Документации на данный момент не хватает, поэтому я не могу найти-понять, как запустить скрипт node.js на плате. Где мне его развернуть? - person Alexander Talavari; 16.09.2014
comment
последние обновления galileo могут уже иметь установленный nodejs. Можете ли вы запустить node -v в командной строке, показывает ли он информацию о версии. Если это работает, установите эту клиентскую библиотеку REST nodejs и попробуйте пример. - person ashoke; 16.09.2014
comment
К сожалению, он не установлен. Я пытался установить его в автоматическом режиме, но в этой версии Windows нет msiexec, поэтому тихая установка msi завершается ошибкой, и двоичный файл узла js не запускается. - person Alexander Talavari; 16.09.2014
comment
Похоже, что visual studio поддерживает программирование arduino для galileo. Если вы знакомы с c/++, я бы попробовал HTTP-клиент Arduino. В нем есть пример, который вы можете проверить. Я не уверен, поддерживает ли VS импорт библиотеки, просто попробуйте напрямую добавить эти исходные файлы HTTP-клиента в свой проект. - person ashoke; 16.09.2014
comment
пример/пошаговое руководство для Firmata и Cylon подразумевает, что Node.js можно установить, но не объясняет, как это сделать. - person Frank Boyne; 05.10.2014