我想将传感器的数据从在 Windows 上运行的英特尔 Galileo 发送到 Azure。我尝试了 Casablanca 示例和 Azure 存储 SDK,但它们给出了很多错误,并且对我不起作用。有没有其他方法可以做到这一点,或者请告诉我详细的正确方法,因为到目前为止我已经尝试了很多事情。
是否可以使用Winsock将数据存储在 Azure 表中?有没有人能够运行 Casablanca 示例应用程序,或将 C++ REST SDK 与 Galileo 一起使用?
另一种方法是使用 Apache Qpid Proton 库(Python、C、C++)通过 AMQPS 1.0 通过 Azure 服务总线(事件中心或主题/订阅)进行通信。
数据通过服务总线后,您可以使用 Azure 流分析从事件中心获取数据,过滤并放入存储或 SQL 数据库/或创建自己的工作角色。
请查阅Connect The Dots项目和我的pull requests。
您可以将用于 C++ 的 Azure 存储客户端库与 Intel Galileo 一起使用,但您必须进行一些修改。您需要在 Microsoft.WindowsAzure.Storage 项目中删除对 User32 库的依赖,并使用以下选项删除对其他一些默认库的依赖:
-d2:-nolock /NODEFAULTLIB:ole32.lib /NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:advapi32.lib /NODEFAULTLIB:user32.lib
之后,如果您有以下错误:
错误 LNK2001:未解析的外部符号 _UnregisterClassW@8
你需要做一个小的解决方法。
您需要在您的 Microsoft.WindowsAzure.Storage.v120 项目版本中定义一个虚拟方法 UnregisterClassW,并且您必须确保您的 Galileo 应用程序使用您的 Azure 存储库版本。此外,您需要采用正确版本的依赖卡萨布兰卡项目。
所有修改都在这里描述:http: //kardum.net/iot/intel-galileo-windows-application-azure-storage/
我用 Intel Galileo 做了类似的例子,所以如果你还有一些问题,请告诉我。
最好的问候,伊万