您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页云平台数据储存

云平台数据储存

来源:尚车旅游网


云平台数据储存

本章介绍了Windows Azure设置与硬件端程序适配,实现远程数据采集与分发。

1.1 系统结构设置

通过芯片数据采集与分发,实现从本地网络查看与远程云端访问。云端服务主要由读入数据储存至Event Hub,使用Stream Analytics实时分析与储存至SQL database。终端可直接访问由数据库自动生成的网页阅览信息。

1.2 Windows Azure设置

为解决远程访问物联网设备信息使用云平台进行数据收集与转发。其中,Windows

Azure具有搭设便捷,操作简易,接口对应成熟。

1.2.1 程序环境设置与分发

注册Microsoft Azure账户,选择试用账户。

免费下载Visual Studio Community 2013,获取Azure SDK包并准备本地基本程序编译环境。

新建项目,选择在云端管理,登陆云端账户。

输入应用名称,完成范例程序初始化并上传至云端,获得云域名,为硬件传输做准备。

在完成本地编辑后可随时使用Publish上传至云端查看。

1.2.2 云端储存设置

使用以下命令创建Azure SQL Database:

CREATE TABLE

[dbo].[ProcessedTelemetry]( [MessageType] [nvarchar](50) NULL, [Temp] [float] NULL, [Humidity] [int] NULL, [Location] [nvarchar](50) NULL, [Room] [nvarchar](50) NULL, [Info] [nvarchar](100) NULL, [EventEnqueuedUtcTime] [datetime2](7) NULL )

CREATE CLUSTERED INDEX [ProcessedTelemetry] ON

[dbo].[ProcessedTelemetry]([Location] ASC)

并通过网页设置创建 Event Hub与Stream Analytics,其中Stream Analytics设置为:

Processed Telemetry Job Query

SELECT EventEnqueuedUtcTime, MessageType, Location, Light, Info FROM input1

Averaged Telemetry Job Query

SELECT DateAdd(minute,-5,System.TimeStamp) as

StartTime, system.TimeStamp as EndTime, Avg(Temp) as AverageTemp, Avg(Humidity) as AverageHumidity, Count(*) as LogCount FROM input2 GROUP BY TumblingWindow(minute, 5)

输入输出均为默认SQL TABLE设置。

1.2.3 界面设置

由EventHub自动生成页面访问

using System;

...

using Microsoft.ServiceBus.Messaging;//调用相关函数

namespace cc3200//配置UI设置

{

public partial class eventhubrest : System.Web.UI.Page

{

public const string EventHubName = \"YourEventHubName\";

protected void Button1_Click(object sender, EventArgs e)

{

int sendCount = Convert.ToInt32(SendCount.SelectedValue);

...//设置加密访问信息

EventHubConnectSend(sendCount);

}

public void EventHubConnectSend(int sendCount)//持续收集信息

{

int sentCount = sendCount;

string infoText;

for (int i = 0; i < sendCount; i++)

{

if (MessageType.Text == \"Led\")//判断输入信息并储存

...

Event e = new Event

{

MessageType = MessageType.Text,

Led = intLed,

Name= DeviceName,

Button= intButton,

Info = infoText

};

读取时由SQL数据库调用并自动生成网页文件,刷新频率为5分钟一条。

1.3 硬件程序修改

使用Visual Studio获得SAS Token。

修改程序中main.c文件,将预留信息中的EH_SERVER_NAME、POSTHEADER、HOSTHEADER与AUTHHEADER更改为申请服务器相关信息。

添加getDeviceTime、getDeviceLed、getDeviceName与getDeviceButton函数获得设备信息。以getDeviceTime为例:

int getDeviceTime()

{

int iretVal;

unsigned char configLen = (unsigned char)sizeof(SlDateTime_t);

unsigned char configOpt

= (unsigned char) SL_DEVICE_GENERAL_CONFIGURATION_DATE_TIME;

iretVal = sl_DevGet(SL_DEVICE_GENERAL_CONFIGURATION, &configOpt, &configLen, (unsigned char *)&dateTime);

return iretVal;

}

完成后烧录至芯片观察能否与云服务器连接并完成记录。

1.4 成果调试

完成软硬件端适配后连接入网络,观察设备能否实现每隔5分钟进行一次数据采集与上传。

经过一段时间数据收集后网页信息反馈如下:

1.5 本章总结

本章描述了WIndows Azure云端设置与软硬件配套开发,实现了远程访问设备信息功能。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务