connectthedots, 将小型设备连接到 Microsoft Azure服务以构建IoT解决方案

分享于 

8分钟阅读

GitHub

  繁體 雙語
Connect tiny devices to Microsoft Azure services to build IoT solutions
  • 源代码名称:connectthedots
  • 源代码网址:http://www.github.com/Azure/connectthedots
  • connectthedots源代码文档
  • connectthedots源代码下载
  • Git URL:
    git://www.github.com/Azure/connectthedots.git
    Git Clone代码到本地:
    git clone http://www.github.com/Azure/connectthedots
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/Azure/connectthedots
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    ConnectTheDots.io 是微软创建的开源项目,帮助你通过微软Azure高级分析服务和利用微软Azure高级分析服务( 如Azure流分析和Azure机器学习) 来帮助你获取小型设备。

    这个项目是建立在传感器获取原始数据并将它的格式化为JSON字符串的假设。 那个字符串被发送到,中心,Web应用程序收集数据并将它的显示为图表。 Azure的其他功能包括探测和显示警报和平均值,但这并不需要。

    无论是直接通过传感器设备连接 Azure,还是通过多协议网关,JSON字符串都被发送到Azure物联网中,这是开始使用和Arduino的一个例子。 下面列出了每个选项的更多细节。

    在这个项目中,有代码示例。配置脚本和指南,它们将帮助你设置设备和传感器,并配置 Microsoft Azure服务来查看和分析这些设备生成的数据。 它的中一些样本由微软提供,它的他的由第三方提供;我们鼓励大家提交代码示例或者配置文档。

    这个项目包含几个设备示例,以帮助你将设备连接到 from,以及可以视化和获取数据。 查看下面的所有示例,或者按照getting入门walkthrough了解更多信息。 然后,将一些设备添加到项目中 !

    我们鼓励社区为这个项目做出贡献。 有关详细信息,请参阅

    :V2中新增的内容

    主要的变化是使用of而不是用于连接设备的事件集线器,但是这里有一个新的列表。

    • 从事件集线器迁移到 Azure IoT集线器,用于设备连接至Azure物: 物联网中心通过每个设备认证提供更好的安全性,同时还提供双向消息传递基础设施。
    • 用ARM模板替换了 Azure Prep工具: 现在,你可以从一个 命令行 部署整个解决方案( 包括网站),不仅在 Windows 上,而且也可以部署一个 !
    • 更新的设备示例
      • 更新了所有 node.js 示例以使用Azure中心 SDK
      • 删除旧设备示例( Galileo,.NET 微型框架)
      • 更新了网关代码以使用Azure中心设备 SDK
      • 升级WP8示例( 模拟传感器和MS频段) 至 Windows 10 UWP应用
      • 添加了Xamarin示例
      • 添加了ESP8266芯片示例

    如果我仍然想使用旧的方式( 使用事件集),那么

    我们已经在这里标记了版本,但我们也创建了一个分支,我们将不会增加任何额外的内容,而是将你的贡献添加到我们的contributions。

    设备基础知识

    数据格式

    ConnectTheDots是以指定的JSON格式发送到in中心的假设来构建的。 具有必需属性名称的最小结构为

    
    {
    
    
    "guid":"string",
    
    
    "organization":"string",
    
    
    "displayname":"string",
    
    
    "location":"string",
    
    
    "measurename":"string",
    
    
    "unitofmeasure":"string",
    
    
    "timecreated":"string",
    
    
    "value": double/float/integer
    
    
    }
    
    
    
    

    这应该作为一个字符串消息发送到 IoT Hub,例如以下字符串:

    
    {"guid":"62X74059-A444-4797-8A7E-526C3EF9D64B","organization":"My Org Name","displayname":"Sensor Name","location":"Sensor Location","measurename":"Temperature","unitofmeasure":"F","timecreated":"1975-09-16T12:00:00Z","value":74}
    
    
    
    

    或者

    
    {"guid":"62X74059-A444-4797-8A7E-526C3EF9D64B","organization":"my org name","displayname":"sensor name","location":"sensor location","measurename":"Temperature","unitofmeasure":"F","timecreated":"1975-09-16T12:00:00Z","value":74.0001}
    
    
    
    

    此外,这个项目是建立在传感器创建和格式化这个JSON字符串的假设之上的。 例如如果使用连接到Arduino的传感器,在Arduino上运行的代码将发送连续的JSON字符串,CRLF结束,将串行端口输出到网关( 如 树莓派 或者 Windows 平板)。 网关除了接收JSON字符串。将它的封装成正确的消息格式。添加timecreated时间戳并将它的发送到Azure之外,什么也没有做。

    在直接连接设备的情况下,最新需要将JSON包发送到of中的现有of设备客户机 sdk。

    这里项目中包含的所有设备代码或者提交的设备代码都必须符合上JSON格式要求。

    设备和网关

    ConnectTheDots提供了一个多协议网关来从不能或者不应该直接目标云的设备收集数据。 在Mono上对网关代码进行了测试,并在. NET 框架上进行了测试,位于 Devices/Gateways/GatewayService 下的源树,是一个简单的系统服务。

    要从设备发送数据到网关,你可以使用相同的数据格式和设备协议适配器来实现你所选择的任何传输。 设备协议适配器是实现DeviceAdapterAbstract类型的程序集,从设备收集数据并将它的排入网关上。 网关自动从网关二进制目录加载设备适配器,因此部署非常简单。 你可以在 Devices/Gateways/GatewayService/DeviceAdapters 找到一些示例,并在设备/gatewayconnecteddevices下找到匹配设备。

    在一个 python 脚本中,甚至还有一些设备在单独的进程中运行,将数据发送到套接字或者串行端口连接上的。 没有什么比那更容易的了 !

    软件先决条件

    为了重现一个 ConnectTheDots.io 方案,你需要以下内容:

    • Microsoft Azure订阅( 免费试用版订阅插件)
    • [optional] Visual Studio 2013或者高于 Community Edition的足够。 注意,如果你不打算使用网关,也不打算更改仪表板,那么你就不需要使用 Visual Studio。
    • 如果你想为构建网关的话,[optional] Toolset工具集

    正在启动

    要开始使用 ConnectTheDots,你需要执行以下基本步骤:

    • 部署服务: 这很容易使用自动化部署脚本完成。
    • 在物理设备中安装设备,修改和部署代码样例

    可用设备

    有关设备和代码示例的完整列表,请查看支持网关和传感器组件的不断增长列表。


    构建  服务  micr  services  Microsoft  tiny  
    相关文章