使用Intel Galileo Windows构建连接到REST服务

时间:2014-09-11 04:16:01

标签: windows intel intel-galileo iot windowsondevices

如何使用英特尔Galileo开发板连接到REST服务?

我需要解决方案是PC客户端的自治。

只要通过以太网或Wi-Fi进行互联网访问,代码就会执行

3 个答案:

答案 0 :(得分:2)

如果您还没有倾向于Node项目,那么最直接的解决方案就是使用Win32 API。

ms-iot Sample Apps page on GitHub最近更新时引用了WinSock sample on MSDN。我对WinSock客户端示例代码进行了一些更改,以将数据发布到使用REST API的Cosm(现在为Xively)。

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);

过去几个月,在ms-iot Galileo SDK中添加了Arduino库,因此我怀疑正在努力移植WebClient和以太网库。请关注GitHub页面。

答案 1 :(得分:1)

有一个C ++ SDK可用于调用REST服务。它是C ++ REST SDK(代号为Casablanca)。它是Microsoft的一个库,作为CodePlex上的一个开源项目发布。 目前只有2.2版。可用于伽利略。有关如何使用它的说明,请访问:http://ms-iot.github.io/content/Casablanca.htm

如果您想使用Casablanca使用REST访问Azure,GitHub上有一个库:Azure Storage Client Library for C ++。它允许您针对Microsoft Azure存储构建应用程序。

但是,如果你想在Galileo上使用它,你会遇到一些问题。如果您想知道如何避免/解决问题,可以在我的博客上找到完整的说明 http://kardum.net/iot/intel-galileo-windows-application-azure-storage/

我希望这会对你有所帮助。 最好的祝福, 伊万

答案 2 :(得分:0)

您可以使用Arduino HTTP client访问REST服务。

另一种选择是在Galileo板上安装nodejs,并使用基于nodejs的REST或HTTP客户端库。

要安装nodejs,只需download the windows x32 binary directly无需正式安装。同样download the latest npm.zip并在node.exe的同一文件夹中解压缩。

现在您已准备好使用restler REST client library ...只需使用npm install restler

进行安装即可

在restler页面的末尾有一个例子,复制粘贴到rest_test.js并运行node rest_test.js你应该在Galileo上有一个简单的REST客户端工作!