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