本案例适用于开发者入门理解Azure Functions/ IoT Hub / Service Bus / Power BI等几款产品。

主要实战的内容为:

  1. 将设备遥测数据上传到物联网中心,

  2. 将遥测数据路由到消息中间件的Topic中,

  3. 使用Azure Function解析消息中间件Topic中的消息并推送到大屏 。

本文主要是本案例的准备工作,即(第1条和第2条的内容):

1.创建IoT Hub:

https://v.qq.com/x/page/h3031pnaxi8.html

2.创建Service Bus:

https://v.qq.com/x/page/b3031hdv9yk.html

3. 创建IoT Hub 消息路由,将遥测消息路由到Service Bus Topic

https://v.qq.com/x/page/i3031hkec4q.html

本示例中的Python Device 代码来自于微软官网,请参照:

https://docs.azure.cn/zh-cn/iot-hub/quickstart-send-telemetry-python

  1. import random
  2. import time
  3. import sys
  4.  
  5. # Using the Python Device SDK for IoT Hub:
  6. # https://github.com/Azure/azure-iot-sdk-python
  7. # The sample connects to a device-specific MQTT endpoint on your IoT Hub.
  8. import iothub_client
  9. # pylint: disable=E0611
  10. from iothub_client import IoTHubClient, IoTHubClientError, IoTHubTransportProvider, IoTHubClientResult
  11. from iothub_client import IoTHubMessage, IoTHubMessageDispositionResult, IoTHubError, DeviceMethodReturnValue
  12.  
  13. # The device connection string to authenticate the device with your IoT hub.
  14. # Using the Azure CLI:
  15. # az iot hub device-identity show-connection-string --hub-name {YourIoTHubName} --device-id MyNodeDevice --output table
  16. CONNECTION_STRING = "your device conn string"
  17.  
  18. # Using the MQTT protocol.
  19. PROTOCOL = IoTHubTransportProvider.MQTT
  20. MESSAGE_TIMEOUT =
  21.  
  22. # Define the JSON message to send to IoT Hub.
  23. TEMPERATURE = 20.0
  24. HUMIDITY =
  25. MSG_TXT = "{\"temperature\": %.2f,\"humidity\": %.2f}"
  26.  
  27. def send_confirmation_callback(message, result, user_context):
  28. print ( "IoT Hub responded to message with status: %s" % (result) )
  29.  
  30. def iothub_client_init():
  31. # Create an IoT Hub client
  32. client = IoTHubClient(CONNECTION_STRING, PROTOCOL)
  33. return client
  34.  
  35. def iothub_client_telemetry_sample_run():
  36.  
  37. try:
  38. client = iothub_client_init()
  39. print ( "IoT Hub device sending periodic messages, press Ctrl-C to exit" )
  40.  
  41. while True:
  42. # Build the message with simulated telemetry values.
  43. temperature = TEMPERATURE + (random.random() * )
  44. humidity = HUMIDITY + (random.random() * )
  45. msg_txt_formatted = MSG_TXT % (temperature, humidity)
  46. message = IoTHubMessage(msg_txt_formatted)
  47.  
  48. # Add a custom application property to the message.
  49. # An IoT hub can filter on these properties without access to the message body.
  50. prop_map = message.properties()
  51. if temperature > :
  52. prop_map.add("temperatureAlert", "true")
  53. else:
  54. prop_map.add("temperatureAlert", "false")
  55.  
  56. # Send the message.
  57. print( "Sending message: %s" % message.get_string() )
  58. client.send_event_async(message, send_confirmation_callback, None)
  59. time.sleep()
  60.  
  61. except IoTHubError as iothub_error:
  62. print ( "Unexpected error %s from IoTHub" % iothub_error )
  63. return
  64. except KeyboardInterrupt:
  65. print ( "IoTHubClient sample stopped" )
  66.  
  67. if __name__ == '__main__':
  68. print ( "IoT Hub Quickstart #1 - Simulated device" )
  69. print ( "Press Ctrl-C to exit" )
  70. iothub_client_telemetry_sample_run()

设备数据通过Azure Functions 推送到 Power BI 数据大屏进行展示(1.准备工作)的更多相关文章

  1. 设备数据通过Azure Functions 推送到 Power BI 数据大屏进行展示(2.Azure Functions实战)

    本案例适用于开发者入门理解Azure Functions/ IoT Hub / Service Bus / Power BI等几款产品. 主要实战的内容为: 将设备遥测数据上传到物联网中心, 将遥测数 ...

  2. 【NFS项目实战二】NFS共享数据的时时同步推送备份

    [NFS项目实战二]NFS共享数据的时时同步推送备份 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品, ...

  3. java推送数据到app--极光推送

    之前项目有用到需要把数据推送到app端 采用的是极光推送 特此把工具类和pom.xml需要的jar整理如下 pom.xml需要jar如下 <!-- 极光推送 --> <depende ...

  4. Power BI数据网关

      前言 你的组织中的用户可以访问本地数据(他们已经具有该数据的访问授权),但在这些用户可以连接到你的本地数据源之前,需要安装和配置本地数据网关. 该网关便于云中的用户与你的本地数据源相互进行快速安全 ...

  5. 第二篇:Power BI数据可视化之基于Web数据的报表制作(经典级示例)

    前言 报表制作流程的第一步显然是从各个数据源导入数据,Power BI能从很多种数据源导入数据:如Excel,CSV,XML,以及各类数据库(SQL Server,Oracle,My SQL等),两大 ...

  6. 第一篇:Power BI数据可视化概述

    前言 "可视化之工具,可爱者甚蕃.统计学家独爱R,自Python来,世人盛爱matplotlib.余独爱Power BI之出微软而不染(免费),濯Office而不妖(够精简).......& ...

  7. 海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践

    1. 概述 数据服务(https://ds-cn-shanghai.data.aliyun.com)  是DataWorks产品家族的一员,提供了快速将数据表生成API的能力,通过可视化的向导,一分钟 ...

  8. 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践

    1. 概述 数据服务(https://ds-cn-shanghai.data.aliyun.com) 是DataWorks产品家族的一员,提供了快速将数据表生成API的能力,通过可视化的向导,一分钟“ ...

  9. rtmp 推送h264 + aac 的数据

    相关源码下载: http://download.csdn.net/detail/keepingstudying/8340431 需要libfaac,librtmp 的支持, 1.帧的划分 1.1 H. ...

随机推荐

  1. 一图读懂Spring Core,Spring MVC, Spring Boot,Spring Cloud 的关系与区别

    Spring框架自诞生到现在,历经多次革新,形成了多种不同的产品,分别应用于不同的项目中,为了帮助自己理解这些产品之间的关系,特此整理此图,以便自己记忆和复习.

  2. 螺旋矩阵II

    Given a positive integer n, generate a square matrix filled with elements from 1 to n2 in spiral ord ...

  3. centos 7 MysSQL 5.7.23 源码安装

    MySQL 5.7.23 源码安装 CentOS 7 将默认数据库MySQL替换成了Mariadb. 这里会从系统的环境准备开始一步一步安装. 环境准备 系统版本 内核版本 IP地址 Centos 7 ...

  4. Java基础部分(11~20)

    11."=="和 equals 方法究竟有什么区别? (单独把一个东西说清楚,然后再说清楚另一个,这样,它们的区别自然就出来了,混在一起说,则很难说清楚) ==操作符专门用来比较两 ...

  5. hybrid app初体验,和react-native一起飞

    第一次启动了react-native的示例,今天主要把其中遇到的坑与解决的办法分享给大家.如有疏漏.错误还望指正. 首先还是要从hybrid app这个概念说起(如果对于这个过程不感兴趣的同学,可以直 ...

  6. [ch04-04] 多样本单特征值计算

    系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力. 4.4 多样本单特征值计算 在前面的代码中,我们一直使用 ...

  7. 在文件夹下所有文件中查找字符串(linux/windows)

    在linux下可以用 grep "String" filename.txt#字符串 文件名grep -r "String" /home/#递归查找目录下所有文件 ...

  8. HIT2019视听觉信号处理视觉实验一

    写在前面 HIT大三上学期视听觉信号处理课程中视觉部分的实验一,经过和学长们实验的对比发现每一级实验要求都不一样,因此这里标明了是2019年秋季学期的视觉实验一. 由于时间紧张,代码没有进行任何优化, ...

  9. where 和having 的区别

    where : 约束声明,在查询结果返回之前对数据库中的查询条件进行约束    其后不能写聚合函数 having  过滤声明,在查询结果返回之后进行过滤,

  10. 关于CSS选择器连续性的问题

    在html中有以下结构: --- ----- <div class="row100"> <div class="col"> <di ...