如何使用英特尔 Galileo 开发板连接到 REST 服务?
我需要解决方案独立于 PC 客户端。
只要可以通过以太网或 Wi-Fi 访问 Internet,代码就会执行
如何使用英特尔 Galileo 开发板连接到 REST 服务?
我需要解决方案独立于 PC 客户端。
只要可以通过以太网或 Wi-Fi 访问 Internet,代码就会执行
如果您还没有倾向于 Node 项目,最直接的解决方案是使用 Win32 API。
GitHub 上的ms-iot 示例应用程序页面最近更新,引用了MSDN 上的 WinSock 示例。我对 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);
在过去的几个月里,Arduino 库已添加到 ms-iot Galileo SDK 中,因此我怀疑正在努力移植 WebClient 和以太网库。密切关注 GitHub 页面。
有一个可用的 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/上找到整个说明
我希望这能帮到您。最好的问候,伊万
您可以使用Arduino HTTP 客户端访问 REST 服务。
另一种选择是在 Galileo 板上安装 nodejs,并使用基于 nodejs 的 REST 或 HTTP 客户端库。
要安装nodejs,只需直接下载windows x32 二进制文件,无需正式安装。还要下载最新的npm.zip
并解压到具有node.exe
.
现在您已经准备好使用restler
REST 客户端库...只需安装npm install restler
在 restler 页面的末尾有一个示例,复制粘贴到 rest_test.js 并运行node rest_test.js
你应该在 Galileo 上有一个简单的 REST 客户端工作!