zoukankan      html  css  js  c++  java
  • Azure上的时序见解,Time series insights

    5G来了,广连接(mmTC)可以实现每平方千米100万的连接数(理论值),是4G的10倍,5G网络出现,配合其他技术,空间将在数据意义上剧烈压缩,车联网、智能家居、智能安防、智慧工厂、智慧能源都可能带来质的变化。那么随之而来的物联设备的数据也会几何级增长,大量的模拟量数据,开关量数据的存储,查询,可视化将会带来新的挑战。

    基于时间序列的时序数据库几乎是专为这样的场景设计的,通过对时间的索引,可以加快查询,那么Azure上是否有类似的产品呢?答案是Azure Time Series Insights。

    时序数据库的基本概念,视频地址:

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

    2.实战Azure Time Series Insights

    创建IoT Hub;

    创建时序见解

    从IoT Hub接收据;

    在UI上查询数据;

    视频地址:https://v.qq.com/x/page/t3021c6fmn0.html

    通过API调用时序数据:https://v.qq.com/x/page/r3021vuj1ct.html

    视频中的示例代码:

    案例中用到的Python模拟器代码:

    可参考官网教程:https://docs.azure.cn/zh-cn/iot-hub/quickstart-send-telemetry-python

    import random
    import time
    
    # Using the Python Device SDK for IoT Hub:
    #   https://github.com/Azure/azure-iot-sdk-python
    # The sample connects to a device-specific MQTT endpoint on your IoT Hub.
    from azure.iot.device import IoTHubDeviceClient, Message
    
    # The device connection string to authenticate the device with your IoT hub.
    # Using the Azure CLI:
    # az iot hub device-identity show-connection-string --hub-name {YourIoTHubName} --device-id MyNodeDevice --output table
    CONNECTION_STRING = "your device conn string"
    
    # Define the JSON message to send to IoT Hub.
    TEMPERATURE = 120.0
    HUMIDITY = 160
    MSG_TXT = '{{"temperature": {temperature},"humidity": {humidity}}}'
    
    def iothub_client_init():
        # Create an IoT Hub client
        client = IoTHubDeviceClient.create_from_connection_string(CONNECTION_STRING)
        return client
    
    def iothub_client_telemetry_sample_run():
    
        try:
            client = iothub_client_init()
            print ( "IoT Hub device sending periodic messages, press Ctrl-C to exit" )
    
            while True:
                # Build the message with simulated telemetry values.
                temperature = TEMPERATURE + (random.random() * 15)
                humidity = HUMIDITY + (random.random() * 20)
                msg_txt_formatted = MSG_TXT.format(temperature=temperature, humidity=humidity)
                message = Message(msg_txt_formatted)
    
                # Add a custom application property to the message.
                # An IoT hub can filter on these properties without access to the message body.
                if temperature > 30:
                  message.custom_properties["temperatureAlert"] = "true"
                else:
                  message.custom_properties["temperatureAlert"] = "false"
    
                # Send the message.
                print( "Sending message: {}".format(message) )
                client.send_message(message)
                print ( "Message successfully sent" )
                time.sleep(1)
    
        except KeyboardInterrupt:
            print ( "IoTHubClient sample stopped" )
    
    if __name__ == '__main__':
        print ( "IoT Hub Quickstart #1 - Simulated device" )
        print ( "Press Ctrl-C to exit" )
        iothub_client_telemetry_sample_run()

    相关产品的链接:

    IoT Hub:https://docs.azure.cn/zh-cn/iot-hub/

    时序见解:https://www.azure.cn/zh-cn/home/features/time-series-insights/

     

  • 相关阅读:
    GridView, ListView 区别
    ActivityGroup和TabActiviy的差异性?
    Java加密解压
    Android代码中实现WAP方式联网
    SVN创建资源库和远程连接配置
    高仿优酷Android客户端图片左右滑动(自动切换)
    andoid 多线程断点下载
    Android中用Java代码实现zip文件解压缩
    JAVA两种实现二分查找方式
    三种JAVA编程方法实现斐波那契数列
  • 原文地址:https://www.cnblogs.com/shuzhenyu/p/11904799.html
Copyright © 2011-2022 走看看