Как подключиться к службе REST с помощью платы Intel Galileo?
Мне нужно, чтобы решение было автономным от ПК-клиента.
Пока есть доступ в Интернет через Ethernet или Wi-Fi, код будет выполняться
Как подключиться к службе REST с помощью платы Intel Galileo?
Мне нужно, чтобы решение было автономным от ПК-клиента.
Пока есть доступ в Интернет через Ethernet или Wi-Fi, код будет выполняться
Если вы еще не склоняетесь к проекту 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.
Доступен 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/
Я надеюсь, что это поможет вам. С уважением, Иван
вы можете получить доступ к службе 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!