tag 标签: azure

相关博文
  • 热度 15
    2016-6-29 14:08
    1694 次阅读|
    0 个评论
    1).  简介 在这篇博文中,我将介绍 IoT 停车演示系统以及其所用到的技术。我会阐述如何使用 Azure IoT Hub 在 Azure服务和设备之间发送消息,就像我们的演示系统那样。针对演示中用到的ARM系统模块,我也会做简单的介绍,但是主要还是专注于 Azure IoT Hub 以及如何方便地收发消息。如果你想更了解多关于 Azure IoT Hub 的信息,请点击 这里 。   在我们的演示系统有多个设备,例如: ./ 停车场 1(名为 Stretnor) ./ 停车场 2(名为 heater Parkhouse) ./ 公告显示(每个停车场独立设备)   每个停车场包含以下多个设备:   ./ 闸门控制器(Toradex  Colibri T30  ARM计算机模块系统(基于nVidia Tegra 3)运行 Win10 IoT) ./ 停车控制器(Toradex  Colibri VF50  运行ARM计算机模块系统(基于NXP Vybrid)Windows Embedded Compact 2013) ./ 支付终端( Apalis iMX6  ARM计算机模块系统(基于NXP iMX6)运行 Linux 和 Qt) ./ 公告显示( Colibri iMX6  ARM计算机模块系统(基于NXP iMX6)运行 Windows Embedded Compact 2013)   正如你在上面图片中看到的,所有的通信消息通过 Azure IoT Hub 发送至应用服务进行处理。你也注意到我们在 Azure 运行了网页和数据库,但是这个篇博文只介绍 Azure IoT Hub 部分。   2). IoT  停车场演示系统消息流 由两个基本的事件会触发设备和 IoT Hub 之间的消息流。 a). 第一个事件是当有车辆抵达闸门(参考下图): 当车辆抵达闸门时,闸门控制器会扫描车牌,向 IoT Hub(1)发送消息。在应用服务确认数据后,会向闸门控制器发送消息,开启闸门(2)。与此同时,指示停车位的消息也会发送至停车控制器(3)。停车控制器会开启红色 LED 灯闪烁,表示该停车位即将被占用。支付终端也将会收到消息。这个消息包括车牌号和抵达时间(4)。同时,公告显示器收到关于该区域里所有停车位的信息(5)。 当车辆停在停车位时,停车控制器停止红色 LED 灯闪烁,向 IoT Hub 发送车辆已经停靠的消息(6)。此时,闸门控制器被告知关闭闸门(7)。   b). 第二种事件是车辆离开停车位: 当车辆离开停车场的时候,司机首先需要支付停车费。在支付终端上,司机选择他自己车辆的车牌后支付。请求支付的消息发送至 IoT Hub(1)。应用服务计算价格,并发送到支付终端(2)。当支付终端接收付款后,发送支付成功的消息至 IoT Hub(3)。应用服务把车辆即将离开停车场的送消息发送到停车控制器(4)。停车控制器开始闪烁绿色 LED 灯。当车辆从停车位上离开后,IoT Hub 收到车辆已经离开的消息(5)。停车控制器打开出口闸门。在一段时间后,闸门关闭,一个指示停车位空闲的消息发送到 IoT Hub。之后,公告显示上也更新所有停车位的信息(6)。   3).  例程应用 在下面的例程中,我将向你演示如何方便地于 Azure IoT Hub 通信。你需要基本的 C# 知识来理解这个例程。如果你想要编译应用,请使用 Visual Studio 2015。 你同样也需要 Azure 账户来运行例程。你可以创建一个免费的 Azure IoT Hub,并在你的 Azure IoT Hub 上创建设备。使用 device explorer 完成这些任务。在 这里查看 device explorer 文档。 这里我将演示一个小的服务器应用,从 IoT Hub 获取消息并处理。代码是很简单的,并不适用于生产环境。这仅仅是向你介绍如何方便地同 Azure IoT Hub 通信。在这个代码里,我们只接收来自设备的信息,并将新的消息发送至同一个设备。 你需要使用你的连接字符串来修改服务器端的代码。 ----------------------- private const string CONNECTION_STRING = ""; ----------------------- 正如你在代码中看到的一样,我只调用了 TDXServerEmulator 类中的 connect 方法 ----------------------- TDXServerEmulator ServerEmulator = new TDXServerEmulator(); ServerEmulator.Connect();  -----------------------   这会处理接收和响应消息。 为了使用客户端,你需要 Azure IoT 的 URL 替换成你自己的。Device.cs. ----------------------- const string iotHubUrl = ""; ----------------------- 在客户端代码中,创建新的 Device 对象,注册 OnMessageReceived 事件。这能够使你的设备收到来自 Azure IoT Hub 的所有消息。 ----------------------- Device client1 = new Device("", ""); client1.OnMessageReceived += Client1_OnMessageReceived; client1.Start(); ----------------------- 接下来,你可以运行例程。两个终端串口会在程序执行之后出现。你需要等待服务器应用连接。 在服务器连接后,你可以在应用中选择 “Send Hi” 。 在上面的图片中,你可以看到客户端发送“Hi”。服务器接收到来自客户端的消息后,用“Hi from IoT Hub” 消息作为响应。 就像你在代码中看到的一样,同 Azure IoT Hub 通信和发送消息是很容易的。对于复杂的应用,还有许多可以改进的地方,这当然也会使得代码变得更加复杂。 通过以上的代码和解释,你应该可以使用 Azure IoT Hub 开发简单的应用。所有  Toradex ARM计算机模块  均支持 Azure IoT Hub。你可以在 这里了解 Toradex 模块的支持类型。你也可以下载 WinCE 和 Linux SDK。
  • 热度 24
    2016-6-29 10:23
    2221 次阅读|
    0 个评论
    By Toradex Leonardo Graboski Veiga 1).  简介 物联网(Internet of Things)概念的本质其实就是关于发送数据到网络,所以称为云服务。随着时代发展和技术进步,人们可以使用尺寸更小功耗更低的电子设备并很容易的连接到云端,不过有一个问题却始终困扰着电子工程师们:如何使用这些获取的数据?而这正是物联网的主题。 在 Microsoft主页 上面有一些实际的应用例子来展示IoT的应用:一个电梯公司通过物联网来改善并提供预先维护;一个工业自动化公司通过物联网深入了解油气产业供应链,同时提供预先维护;还有一个公司通过IoT预测驾驶人员行为然后优化汽车利用。在读完这个系列文章后,我们期待读者可以拥有足够的知识和工具去部署应用来深度检视同时优化整个系统 – 不仅仅是积攒了一堆数据,而是从中获取了有用的结果! Azure 是Microsoft提供的云服务平台,提供了多种应用如数据库,虚拟机,应用服务,机器学习,数据流分析,媒体和CDN服务,大数据解决方案,以及包括IoT Hub的其他众多应用。就其提供的大量应用本身已经是使用Azure服务的很好理由,但Microsoft更进一步通过和Amazon Web Services的 对比 来进一步证明其方案是更好的 – 和前面相反,这是一个通过用户和时间来确认的强有力宣言。另外,高安全性,易于整合以及容易上手也是选择Azure服务的另一个理由。 本系列文章通过开发一个IoT应用,从读取现场传感器数据,展示数据到获取商业智能(BI)。所使用的用来连接传感器以及上传数据到云端的平台: Azure IoT certified partner  Toradex 的 Colibri VF61 计算机模块 +  Iris Carrier Board 。应用程序获取传感器数据然后上传到来自Microsoft Azure云解决方案的一个叫做Azure IoT Hub的IoT服务,然后就可以被各种所需要的Microsoft Azure服务来处理。这部分内容将在本系列文章的第二部分着重讲解,在此我们主要关注在如何配置Azure IoT Hub以及上传数据到它上面。 我们选用的IoT环境为模型车监控。为了演示方便,将Toradex平台和传感器置于遥控模型汽车内,如下图1所示;而图2则给出的目标应用的框图。   图1 :遥控汽车   图2 :应用框图 我们所选用的应用编程语言为Javascript 配合Node***: 一个服务器端(本文中即Toradex嵌入式系统)基于Chrome V8 引擎编译的Javascript解释器。这个选择是考虑到Azure IoT Hub SDKs 可以提供的开发库。但是需要注意的是现在IoT Hub SDKs正处于频繁更新中,每一次更新都会有些改变(至少Node相关),所以在使用前需要考虑清楚。本文所使用的Azure IoT Node包版本为1.0.1。 整个环境的搭建,从开发嵌入式系统应用,到配置Azure来获取数据我们分为3个主要步骤,下面会分别介绍: ./  配置Azure 环境 ./  添加设备并发送信息到IoT Hub ./ Toradex 嵌入式系统应用开发   2).  配置 Azure 环境 首先需要创建一个新的Azure账户:从Azure 网站可以申请30试用的免费账户。然后就可以使用账户里一定数目的信用额度来免费部署应用使用Azure 服务;同样,IoT Hub也有一个用于开发的包含有限资源的免费版本,且不受试用期限制。关于价格和IoT Hub的详细信息,请见 这里 。 设置好Azure账户后,需要创建IoT Hub。用新创建的Azure账户登陆Azure portal,选择 +New Internet of Things Azure IoT Hub。新的IoT Hub配置界面如下图3所示,“Pricing and scale tier”选项需要选择“Free”;然后在“Resource Group”选项创建一个新的资源组,另外“Location”选项需要和后面部署的服务保持一致;“Name”可以自由设定,而“IoT Hub Units”和”Device-to-cloud“选项在免费版本中则无法修改。点击“Create”后,服务就被部署了,这个过程可能需要几十秒时间。   图3 :从Azure Portal 创建IoT Hub 上面操作完成后,可以看到IoT Hub已经出现在控制台,也就是 Azure Portal主页 。点击后,如下图4所示页面会打开:里面包含“Essentials” 是如IoT Hub地区等基本信息;“Usage”是提供给系统管理员注册设备数目以及从设备发送信息数量的反馈信息;“Monitoring”是显示收到信息数量。   图4 :IoT Hub  主面板 仍然在IoT Hub主面板上,为了让其他应用也可以访问服务,”Settings“选项卡里面的“Shared access policies“选项需要被选中。在新打开的” Shared access policies“选项卡中,点击“iothubowner”规则选项,这个包含了本IoT Hub所有可能的权限。如下图5所示,“iothubowner”选项卡会打开,然后复制”Connection string – primary key”对应的内容留作后用:这个是下一步用于管理和监控这个IoT Hub服务的钥匙。   图5 :获取iothubowner connection string   3).  添加设备并发送信息到 IoT Hub 现在云端设置已经完成,我们需要在开发主机上面安装 iothub-explorer 工具来添加设备到IoT Hub,另外如果开发主机是Windows的话,也可以选择 Device Explorer 工具。鉴于本文所使用的开发主机系统为Ubuntu 14.04,我们采用iothub-explorer。需要注意所需Node版本为0.12.x或以上(根据说明如需全部功能工作需要4.x或以上版本),但目前apt-get工具只能安装0.10.x版本。为了解决这个问题,需要先后安装Node Version Manager(NVM)和Node 版本0.12.9. 然后在终端中使用NPM(Node Package Manager)来安装iothub-explorer。 --------------------- $ npm install iothub-explorer@latest --------------------- 然后可以运行iothub-explorer help参数来查看使用方法 --------------------- $ iothub-explorer help --------------------- 根据上面命令的打印结果,iothub-explorer 包含有create和monitor事件参数。首先,我们配合上面图5中获取的connection string使用iothub-explorer工具来创建一个设备“tdx_iot_car”。注意“--connection-string”参数用来显示设备connection string (和图5中获取的IoT Hub connection string不同),这个也需要保存下来用来连接这个新创建的设备到IoT Hub,是的可以使用Colibri VF61应用来发消息到Hub。 --------------------- $ iothub-explorer "HostName=toradex.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=putyoursharedaccesskeyfromtheconnectionstringhere" create tdx_iot_car --connection-string Created device tdx_iot_car - deviceId:                   tdx_iot_car generationId:               635931262207620183 etag:                       MA== connectionState:            Disconnected status:                     enabled statusReason:               null connectionStateUpdatedTime: 0001-01-01T00:00:00 statusUpdatedTime:          0001-01-01T00:00:00 lastActivityTime:           0001-01-01T00:00:00 cloudToDeviceMessageCount:  0 authentication: SymmetricKey:       primaryKey:   somesharedaccesskeyreturned       secondaryKey: somesecondaryaccesskeyreturned - connectionString: HostName=toradex.azure-devices.net;DeviceId=tdx_iot_car;SharedAccessKey=somesharedaccesskeyreturned ---------------------   4). Toradex 嵌入式系统应用开发 现在来设置 Colibri VF61  计算机模块 +  Iris 载板 。本文中使用Toradex发布的预编译Linux image( Colibri_VF_LinuxConsoleImageV2.5 ),如何刷写image到模块请参考 这里 。然后请参考下面步骤安装Node***, NPM 包和git – 安装过程需要一些时间,尤其是curl步骤。 --------------------- # opkg update # opkg install nodejs # opkg install tar # curl -L https://www.npmjs.com/install.sh | sh # opkg install git --------------------- 本文所展示的例程(send_data***)相关packages installer和node文件存放于 这里 ,可以通过下面命令将其clone到目标板上面并安装node packages --------------------- # git clone https://github.com/leograba/azure-iot-car.git # root@colibri-vf:~# cd azure-iot-car # root@colibri-vf:~# npm install --------------------- 现在我们可以在目标板上面运行例程向IoT Hub发送数据,但有几点需要解释下:例程使用HTTP协议通讯,但AMQP和MQTT协议也是支持的;变量“connecionString”数值必须和上面用iothub-explorer工具创建新设备时候所保存下来string一致: --------------------- var connectionString = "HostName=toradex.azure-devices.net;DeviceId=tdx_iot_car;SharedAccessKey=somesharedaccesskeyreturned" --------------------- Setinterval()循环函数随机产生数值发送到IoT Hub, 用来模拟传感器数据,如温度,声纳传感器距离数据,加速度和陀螺仪传感器,一些gps坐标数据和来自目标板的时间日期等。如何从真实传感器获取数据将在这个系列文章的下一篇进行说明。JSON Stringify() 函数用来产生一个JSON编码数据串,然后封装于Message object用于发送。下面是一个JSON格式数据串示例: --------------------- {"ObjectName":"toradex2", "ObjectType":"SensorTagEvent", "temp":24.889683, "acceleration: {"accel_x":10.018892,"accel_y":0.039468,"accel_z":-0.081328}, "gyroscope": {"gyro_x":-0.0532362,"gyro_y":-0.01597086,"gyro_z":0}, "distance":0.17017, "boardTime":1458064972706} --------------------- 正常情况下,在程序运行时候sendEvent()函数里面的callback函数不应打印任何串口输出。下面是在Colibri VF61上面运行程序并正常工作时候的串口打印输出: --------------------- # node send_data*** sending message to the IoT Hub sending message to the IoT Hub sending message to the IoT Hub sending message to the IoT Hub sending message to the IoT Hub sending message to the IoT Hub sending message to the IoT Hub sending message to the IoT Hub --------------------- 为了确保数据被收到,在Azure Portal IoT Hub面板会显示每天的消息计数,同时监控图表上面会有尖峰显示,如下图6所示。需要注意这些信息大概需要几十秒才会在portal上面显示出来。   图 6:  在Azure Portal 中确认数据被收到 另外,也可以使用iothub-explorer工具通过“monitor-event”参数配合device id来查看发送到IoT Hub的数据流,不过需要Colibri VF61程序要同步运行,而通过Azure Portal查看则不需要。下面图7展示了iothub-exploer收取目标板发送数据情况,上面是具体监测数据命令: --------------------- $ iothub-explorer "your_iothub_connection_string" monitor-events yourdevice ---------------------   图7 :用iothub-explorer 收取目标板发送数据   5).  总结 Microsoft Azure网站上面提供了很多文档用于帮助用户开发更复杂和稳固的应用。参考这些文档可以从中获取更多有用信息,如创建一个设备,或者从Hub获取设备发送的数据是可以通过编程来完成的。另外,在接下来的文章中我们将侧重连接真实传感器到Colibri VF61 + Iris载板,并传输真实传感器数据到IoT Hub, 这个也可以用作其他Azure 服务来给设备部署应用提供深度检视或变量操控。 我们希望通过本文可以让用户了解并最终使用Toradex 嵌入式系统方案配合Auzre IoT Hub服务,然后从中获益。同时,我们也想在这里感谢来自巴西的Grupo Viceri团队在Azure and Business Intelligence上面的丰富经验最终促成了这个IoT Car 项目。 本文最初发表于Embarcados.com, Portuguese,详见这里。
  • 热度 26
    2016-2-26 23:11
    1385 次阅读|
    0 个评论
    2016年 2 月 16 日,瑞士霍尔夫: Toradex 很荣幸地发布基于 ARM 系统模块的 Windows 10 IoT Core 技术预览版。该技术预览版可以用于在工业级嵌入式计算平台上测试和评估 Windows 10 IoT Core 的新功能。Toradex 限时**提供 入门套件 以供评估。套件包含 Colibri T30 模块和 Iris 载板以及所需的配件。   技术预览版使用性能强劲的 基于NVIDIA® Tegra 3 四核 Cortex-A9 ARM 处理器的 Colibri T30。其支持 DirectX 图像加速、底层硬件访问,是 Azure IoT Certified Program 成员。 纵观其他支持 Windows 10 IoT Core 的 ARM 产品, 本产品关键的不同点在于 Toradex 计算机模块可以用于工业终端产品。如今,Colibri 模块被我们的客户用于工业自动化、医疗、汽车、POS、安全等其他领域。   Toradex AG CEO Stephan Dubach 说“Toradex 很荣幸为嵌入式开发者提供这个新的 IoT 平台。这将会使他们发挥 Universal Windows Apps 和 Universal Windows Drivers 从大型服务器到嵌入式 IoT 设备可以移植性的优势。除了广为使用和好评的 Visual Studio 开发环境、Windows 10 IoT Core 安全性和 Azure IoT Suite,该平台还允许用户能够在工业级平台上测试和评估新系统的各种功能。”   目前技术预览版的功能还有所限制。在接下来的时间中,Toradex 将会扩展这些功能,并根据用户需求,在其他 ARM 系统模块上支持 Windows 10 IoT Core。功能限制的详情可以在查看这里 http://developer.toradex.com/winiot ,更多关于 Toradex Windows 10 IoT Core 规划请查看 http://developer.toradex.com/knowledge-base/toradex-windows-10-iot-core-pro-strategy .   在2016年 2 月23号至25号德国纽伦堡举行的 Embedded World 展会上面,Toradex 展示了多个基于 Windows 10 IoT Core 和 Azure IoT 的演示品。Toradex 工程师 Valter Minute 也在展会期间进行了 “Windows 10 IoT Core: From the Embedded Device to the Cloud and Back”的演讲。   “Windows 10 IoT Core 简介” 网络会议录像 http://v.youku.com/v_show/id_XMTQ2NTM0MDg4NA==.html?from=y1.7-1.2 .   观看 Toradex Windows 10 IoT Core 面部识别跟踪演示,请点击 这里。
  • 热度 29
    2016-2-1 13:23
    1880 次阅读|
    0 个评论
    在工业级平台上评估 Windows 10 IoT Core ! Windows 10 IoT Core 已经在 Toradex 模块上得到支持。在该套件上体验最新的 Windows 操作系统,套件包括支持 DirectX 硬件加速的强劲 Nvidia Tegra 3 Colibri 模块。       注意:这是 Technical Preview 版本。软件处于早起测试阶段。了解相关限制信息,请访问我们的 开发者中心 。   Windows 10 IoT 提供的诸多功能,使其成为开发 IoT 应用和紧凑型互联设备的理想选择。 1). 通用 Windows 平台 (UWP) 通用 Windows 平台允许您只需要开发一套应用程序,就可以无缝地在多种 Windows 10 平台上运行,例如智能手机、嵌入式设备和桌面电脑。UWP 将来也会扩展到驱动,使得您得益于具有丰富驱动的 Windows 生态系统。 2). Visual Studio 最新的 Visual Studio 可以作为开发工具,其提供大量丰富的编程和应用调试方法,支持C#、 VB、C++、HTML、JavaScript 以及其他语言 3). Azure IoT Suite Windows 10 IoT Core 可以方便得连接 Azure IoT Suite。Azure IoT Suite 使得您可以监控和分析来自 IoT 应用的数据,并提供有用的深入分析,从而提升使用效率和价值。其提供预先配置的 IoT 场景,您可以方便地将解决方案部署到您的产品 4). 先进的安全功能 Windows 10 IoT Core 提供先进的安全功能,这是 IoT / 工业4.0 的关键 5). 设备互操作性 IoT 注重于设备之间的相互连接。Windows 10 IoT Core 支持 AllJoyn 开源框架,允许设备之间相互连接。该框架便于设备之间共享他们的功能,并告知附近其他的设备。 6). I/O 操作 除了 Windows 桌面电脑上常用的接口,如 Ethernet、Wi-Fi 和 USB外,Win IoT core 还提供 GPIO、I2C 和 SPI 底层设备的简单访问接口。 7). 一致的设备管理 桌面电脑、手机和 Windows IoT Core 设备使用同样的设备管理方法。新的设备管理栈允许使用 Microsoft 或者第三方管理系统     注:如需购买请联系 Toradex ,套件价格为人民币不含税价格,另为限量供应,每个公司客户只可以以此优惠价格购买一套用作评估开发使用。
  • 热度 21
    2015-12-31 11:00
    1693 次阅读|
    0 个评论
    Toradex日前宣布已经加入Microsoft Azure Certified for Internet of Things (IoT), 以便为客户快速开发和部署IoT解决方案提供一套验证了的软硬件平台。Microsoft Azure Certified for IoT 授权允许Toradex和客户建立联系,并提供一个设备和平台的生态系统,最终快速实现产品量产。 Toradex公司致力于基于计算机模块和载板架构的可靠且紧凑的嵌入式计算平台解决方案,广泛应用于各种工业领域如工业自动化,医疗,汽车,机器人等。Toradex所提供的模块化产品使客户可以快速可靠的部署一个从前期方案验证到最后产品量产都适用的平台解决方案而无需重新设计计算平台,这样既减少了开发风险同时又加快了量产进度。 “Microsoft Azure Certified of IoT 证实了我们有能力给客户IoT项目提供一个验证了的包含硬件和操作系统的平台方案,无需大量兼容性相关定制工作使Toradex可以快速帮助客户实现IoT项目”来自Toradex CEO,Stephan Dubach。 “Microsoft Azure Certified of IoT,借助于这些全球领先的合作伙伴可信赖的技术方案,可以帮助我们更快实现IoT规模化部署的承诺” 来自Microsoft GM of Data Platform and IoT,Barb Edson。 IoT项目的复杂度使得客户需要花较长时间去寻找并连接合适的设备或传感器到云端,而如果选择一个合适的经过Azure IoT认证的合作伙伴平台方案则可以大大缩短项目开发周期并有效降低开发风险,因为这个方案已经被验证过可以非常好的配合Azure IoT Suit工作。   经Azure IoT授权的Toradex产品列表如下:   Azure IoT相关上手指南和SDK介绍请见 这里 ,另外Toradex近期也会举办一次网络研讨会“Getting Started with Azure IoT on Devices”,请从 这里 注册参加。   关于 Toradex : Toradex 是一家领先的 ARM 系统模块厂商,其模块可以广范用于嵌入式产品应用领域。通过采用 Freescale® i.MX 6 Vybrid™, NVIDIA® Tegra 以及其他先进的处理器,系统模块产品系列在价格、性能、功耗和接口方面提供丰富的选择。 凭借超过 10 年的长产品生命周期、终生免费的产品维护、可扩展性能的引脚兼容产品系列、直接高级技术支持和价格透明的在线销售,Toradex 在嵌入式计算市场脱颖而出。成立于 2003 年,总部位于瑞士霍尔夫,Toradex 公司网络已经遍布全球,在美国、越南、中国、印度、日本和巴西均设有办事处。更多的信息,请访问: https://www.toradex.cn。
相关资源