首页 > 编程语言 >python给onnet上报数据

python给onnet上报数据

时间:2023-05-06 18:12:13浏览次数:35  
标签:__ onnet OneNet python request urllib streams 上报 data

 

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2021/2/24 23:01
# @Author  : LiShan
# @Email   : [email protected]
# @File    : OneNet_Post.py
# @Note    : https://blog.csdn.net/lishan132/article/details/114044902
import urllib.request
import json
 
# 设备ID、Key
deviceId = "1077077815"
APIKey = "N6Qfkvs2CS4xYq7jX3Zj4vgsl3g="
 
 
# 上传函数
def OneNet_post_data(info):
    url = "https://api.heclouds.com/devices/" + deviceId + '/datapoints'
    streams = []
    for index, element in enumerate(info):
        streams.append({"id": element[0], "datapoints": [{"value": element[1]}]})
    values = {"datastreams": streams}
    data = json.dumps(values).encode("utf-8")
    request = urllib.request.Request(url, data)
    request.add_header('api-key', APIKey)
    request.get_method = lambda: 'POST'
    request = urllib.request.urlopen(request)
    print(json.loads(request.read()))
 
 
if __name__ == '__main__':
    upload_data = [
        ["road1", 10],
        ["road2", 20],
        ["road3", 30],
     
    ]
    OneNet_post_data(upload_data)

  

标签:__,onnet,OneNet,python,request,urllib,streams,上报,data
From: https://www.cnblogs.com/gooutlook/p/17378202.html

相关文章

  • python中怎么输出字典中字典的值
    #T要求输出'./a/text()url_gglb_xpath_dic={'中国邮政储蓄银行':{'发行公告':['https://www.psbc.com/cn/grfw/tzlc/lc/ywgg/lcxsgg/index_页码.html','https://www.psbc.com/cn/grfw/tzlc/lc/ywgg/lcxsgg&#......
  • python中判断多个元素是否在列表中
    判断单个元素是否在列表中时可以通过in>>>'a'in['a','b','c']True但如果是多个元素,就不能通过in进行判断此时我们可以通过集合中的issubset和issuperset方法顾名思义,issubset是判断某集合是否是另外一个集合的子集,issuperset是判断某集合是否是另外一个集合的超集>>>......
  • python操作elasticsearch 记录
    一、环境Elasticsearch5.x, python3.6, 注意Elasticsearch不同版本的区别,比如以下几条:_id 字段变为 id 字段:在Elasticsearch5中,文档的唯一标识符使用 _id 字段。而在Elasticsearch6和7中,唯一标识符改为使用 id 字段。在Elasticsearch7中,_id字段被重新引......
  • 番外篇:分享一道用Python基础+蒙特卡洛算法实现排列组合的题目(附源码)
    今日鸡汤夕阳无限好,只是近黄昏。    大家好,我是Python进阶者。    是不是觉得很诧异?明明上周刚发布了这篇:分享一道用Python基础+蒙特卡洛算法实现排列组合的题目(附源码),今天又来一篇,名曰番外篇!其实今天是想给大家分享【......
  • 分享一道用Python基础+蒙特卡洛算法实现排列组合的题目(附源码)
    今日鸡汤沙场烽火连胡月,海畔云山拥蓟城。    大家好,我是Python进阶者。这篇文章的题目真的是很难取,索性先取这个了,装个13好了。前言    前几天在才哥交流群里,有个叫【RickXiang】的粉丝在Python交流群里问了一道关于排列组合的问题,初步一看觉得很简单,实际上确实是有难度的......
  • Python函数介绍:getattr()、setattr()、hasattr()
    在Python中我们通常对类的操作中,常常会判定某个属性是否是在这个类中,也会动态的为这个类更改\增添的某些属性和方法。这时我们会常常用到这个几个重要的Python内置函数,分别是getattr()、setattr()、hasattr()。1、getattr(obj,name[,default])obj表示指定的类实例对......
  • 使用python脚本传递参数:(三种方式可收藏)
    背景:使用python脚本传递参数在实际工作过程中还是比较常用,以下提供了好几种的实现方式:一、使用sys.argv的数组传入说明:使用sys.argv必须按照先后的顺序传入对应的参数;sys.argv则封装了传入的参数数据,作为数组的方式已经传入importsysprint("传入参数的总长度为:",len(sys.ar......
  • WEB|[SUCTF 2019]Pythonginx
    源码@app.route('/getUrl',methods=['GET','POST'])defgetUrl():url=request.args.get("url")host=parse.urlparse(url).hostnameifhost=='suctf.cc':#解析主机名,不能是suctf.ccreturn......
  • python IO多路复用理解记录
    一、简述:1什么是多路I/O复用机制Python中的多路I/O复用机制是一种高效的编程技巧,用于同时监视多个文件描述符是否有可读、可写或错误事件,并在这些描述符中任意一个或多个有事件发生时立即进行响应。2使用多路I/O复用机制的目的同时处理多个连接时提高网络I/O效率,从......
  • python中的报错:dictionary changed size during iteration
    该报错是一个python中常见的错误,通常在使用for循环迭代字典时删除其中的元素时出现。这个问题的根本原因在于迭代字典的同时修改了它,导致字典的大小发生了变化。如下面的例子,就会报错:d={"a":1,"b":2,"c':3}fork,vind.items():ifv==2:deld[k]上述......