三沣开发知识 购物 网址 游戏 小说 股票 美女 租车 短信 新闻 笑话 | 开发 汉字 下载 软件 图书馆
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题
autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程 CSS/HTML/Xhtml
html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
站长资讯 .NET新手 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA VisualStudio ASP.NET-MVC .NET控件开发 EntityFramework WinRT-Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动 Html-Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP OracleERP DynamicsCRM K2 BPM 信息安全 企业信息 Android开发 iOS开发 WindowsPhone WindowsMobile 其他手机 敏捷开发 项目管理 软件工程 SQLServer Oracle MySQL NoSQL 其它数据库 Windows7 WindowsServer Linux
  IT知识库 -> ASP.NET -> “云中论道”之——使用开源技术和Azure公有云服务快速搭建云端IoT解决方案(下) -> 正文阅读
 

[ASP.NET]“云中论道”之——使用开源技术和Azure公有云服务快速搭建云端IoT解决方案(下)

“云中论道”之——使用开源技术和Azure公有云服务快速搭建云端IoT解决方案(下)

本解决方案为系列文章,包含上、下两篇。在上周的《使用开源技术和Azure公有云服务快速搭建云端IoT解决方案(上)》一文中,我们为大家介绍了Raspberry Pi的设置和温度传感器的安装调试;本篇,我们会为大家继续介绍接下来的关于“Azure相关服务的创建和配置、Python Azure应用程序的代码逻辑以及通过Power BI进行数据验证”的流程,最后对解决方案进行总结。 本文作者介绍:   微软Azure专家级架构师,江湖人称“槐长清”,曾连续5年被评为微软最有价值专家,多年云计算从业经验,对微软公有云解决方案有深入研究。 解决方案流程: * 有关解决方案架构和前半部分流程1. 对Raspberry Pi进行OS的安装和设置, 2. Raspberry Pi的无线LAN的设置和与PC的连接,以及3.温度传感器的安装调试,请阅读《使用开源技术和Azure公有云服务快速搭建云端IoT解决方案(下)》。 4. Azure相关服务设置:
本环节分为三个部分:Event HUB的创建和设置,SQL Database的创建和设置,和StreamAnalytics的创建和设置。
EVENT HUB创建和设置:

注意记录事件集线器名称和命名空间名称,后面流程会用到。格式是:https://ksevent.servicebus.chinacloudapi.cn/ksevent 其中前面的ksevent是命名空间名称,后面的ksevent是事件集线器名称。
指定分区和消息保留有效期:

Stream analytics访问共享的访问策略设置:
 

SQL数据库创建和设置:


创建AvgReadings表:
AvgReadings表中WinStartTime,WinEndTime,DeviceID,SensorID,SensorType,SensorValue
AvgSensorValue,Eventcount的定义:
                                                          Stream Analytics的创建和设置: 

EventHUB?Streamanalytics?SQL
EventHUB?Streamanalytics?BI
这2个Streamanalytics的定义:
Input设置(指定EventHub):
选择前面步骤中创建的EventHub,选择EventHub中的时间中心策略名:
 

Output设置(指定SQL服务器):
选择前面步骤中创建的SQLDatabase,选择AvgReadings表:

Stream Analytics的Query设置:
kseventin从EVENT HUB筛选DeviceId, SensorId, SensorType,SensorValue数据:

可以看到SQL数据库中收到的经过StreamAnalytics进行筛选后的数据:

5.    RaspberryPi Python Azure 程序
经过上面对Azure相关服务的创建和设置步骤的分享,大家应该能够发现:1,服务创建和配置非常简单;2,不同服务间的连接完全是Azure原生提供,完全不再需要用户去处理不同服务间的衔接问题。
而本步骤,则是本解决方案的重中之重,也是唯一需要用户自己写代码的地方,不过不用担心,代码量之少,可能是大家想象不到的。
安装和更新Python、PHP、Socket、HTTP/REST、AzureSDK等一系列相关模块:
root@raspberrypi:/home/pi# apt-get update
root@raspberrypi:/home/pi# apt-get upgrade
root@raspberrypi:/home/pi# apt-get install python-requests
root@raspberrypi:/home/pi# apt-get installssl-cert
root@raspberrypi:/home/pi# apt-get install php5-json
root@raspberrypi:/home/pi# apt-get install php5-dev
root@raspberrypi:/home/pi# curl https://bootstrap.pypa.io/get-pip.py | sudo python
root@raspberrypi:/home/pi# pip install SoftLayerrequests==2.5.3
root@raspberrypi:/home/pi# pip install httplib2
root@raspberrypi:/home/pi# pip install certifi
root@raspberrypi:/home/pi# pip install urllib3
root@raspberrypi:/home/pi# apt-get installlibio-pty-perl
root@raspberrypi:/home/pi# pip install stdeb
root@raspberrypi:/home/pi# apt-get install python-dev libffi-dev libssl-dev
root@raspberrypi:/home/pi# pip install SoftLayerrequests== six-1.9.0
root@raspberrypi:/home/pi# pip install --upgrade ndg-httpsclient
root@raspberrypi:/home/pi# pip install azure
root@raspberrypi:/home/pi# pip install SoftLayer azure==1.0.0
获得EVENTHUB SharedAccessName和SharedAccessKey:
选择kseventEvent Hub,查看Endpoint和SharedAccessKey:





至此,代码已经完成,几十行的代码量。
6.    数据验证:

数据被从温度传感器通过树莓派收取到EventHub,StreamAnalytics对其进行了筛选,筛选完成后的数据已经存放到了SQLDatabase中,下一步,我们便可以通过PowerBI对数据进行分析展现:
Power BI有专门的接口,可以非常方便的连接到SQL Database(下图左);之后,便可以使用PowerBI对SQLDatabase中存储的温度湿度等数据进行分析展现(下图右):

另外,PowerBI不仅可以接受SQLDatabase中存储数据的输入,也可以接受StreamAnalytics的输入,从而可以对Stream数据进行实时展现:

Tips:
若想成功连接Power  BI和中国版Azure  SQL Database,需要将Power BI的IP地址范围加入到Azure  SQL Database的“允许的IP地址”列表,比如我使用的是微软MSIT提供的Power  BI服务,我就可以把MSIT提供Power  BI服务所使用的IP地址范围191.238.0.0-191.238.255.255进行添加:

之后便可以使用PowerBI对中国版AzureSQL Database中的数据进行分析展现了。
总结:
至此,IoT解决方案的所有流程已经完成,从前端的数据收取,到后端的数据分析展现。对Azure用户来说,只需要自己完成非常少的代码,其余整个流程,Azure都会帮你完成。整个解决方案的搭建和完成,不会超过半天时间。另外整个系统不再需要用户自己进行运维管理,可以说完全是对IoT行业的变革。
另外,本解决方案基于树莓派,基于Linux平台,使用Python语言,为大家提供了更高难度升级下的解决方案。如果大家使用Windows10 IoT操作系统,使用.Net进行开发,那样会更简单,代码量会更少。我有客户使用Arduino进行传感器数据的收发,因为硬件过于简单、并只支持HTTP协议,安装AzureSDK的方便度低于Linux平台和Windows平台,但在双方努力下,微软团队利用AzureEvent Hub提供的RESTAPI,成功帮助客户使用Azure相关服务,并快速搭建起了IoT解决方案。
除了本文列举的服务之外,还可以:
与Azure提供的MediaService服务进行集成,构建智能监控解决方案;
与HDInsight服务进行集成,构建大数据分析解决方案;也可以
与Mobile Service服务进行集成,构建移动端解决方案等解决方案。
更多解决方案,等您来发掘! 
Azure一直都在奉行一个理念:降低技术成本,让用户关注自己的的业务逻辑;而Azure帮您解决了数据的收取,数据的筛选,数据的分析展现等一系列相关流程,同时还帮您对这些相关系统进行管理和维护,而其他的业务逻辑,则是读者您大显身手的地方!使用Azure搭建IoT解决方案,快人十步!
最后,小编还有一个呼吁:
立即访问http://market.azure.cn
  ASP.NET 最新文章
C#消息队列(MQ)零基础从入门到实战演练
ASP.NET前台html页面对table数据的编辑删除
Azure 12 月新公布
万物互联时代,怎能少得了它?
「金融级」大数据云服务,其实并非那么高不
手握不同媒体的数据,接下来该干些什么?
Jenkins部署.net自动化构建
asp.net5开发中DNX SDK版本的影响
asp.netMD5加密代码
一个技术汪的开源梦 —— 公共组件缓存之分
上一篇文章      下一篇文章      查看所有文章
加:2017-08-12 23:21:42  更:2017-08-12 23:22:15 
 
技术频道: 站长资讯 .NET新手区 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA Visual Studio ASP.NET MVC .NET控件开发 Entity Framework WinRT/Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动设计 Html/Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP Oracle ERP Dynamics CRM K2 BPM 信息安全 企业信息化其他 Android开发 iOS开发 Windows Phone Windows Mobile 其他手机开发 敏捷开发 项目与团队管理 软件工程其他 SQL Server Oracle MySQL NoSQL 其它数据库 Windows 7 Windows Server Linux
脚本语言: vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程
网站开发: CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 Android开发 站长 古典小说 网文精选 搜图网 美图 中国文化英文版 多播 租车 短信
2017-8-19 3:58:43
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT知识库