我是靠谱客的博主 哭泣茉莉,最近开发中收集的这篇文章主要介绍OneNet 平台HTTP上报与获取设备数据OneNet 平台HTTP上报与获取设备数据事前准备调测,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

OneNet 平台HTTP上报与获取设备数据

@date:2017-03-24

事前准备

最近在看一些相关的物联网平台,中移动的onenet平台成为了首选,其中开放的接口比较明了,虽说现在的功能还比较简单,设备接入、数据上报与获取、触发应用及实时展现数据流功能。
- 访问ONENET平台http://open.iot.10086.cn/,进入右上角开发者中心,注册用户并登陆
- 根据文档中心http://open.iot.10086.cn/doc/art243.html#66,创建产品
- 创建设备
- 创建数据流
- 准备一台可以访问外网的机器,在该机器上安装python2.7版本,这里主要是想利用python脚本模拟设备的行为

调测

前面事前准备的步骤可根据开发者文档详细操作,调测目的是想验证HTTP设备是否可以接入平台,上报与获取相关数据。来吧,这里注意下python的版本问题,2与3版本API用法还是相差很大的。
HTTP方式,不论上报还是获取,data内容均为JSON格式。

上报数据

不说了,上代码

import urllib2
import json
import time
from time import sleep

DEVICE_ID='50479xx'
API_KEY='mNdiaXJ=1Nzdr57x8owelKi0QIs='

#添加代理
def http_proxy_handle():
    proxy_handler = urllib2.ProxyHandler({'http':'10.10.100.188:3328'})
    opener = urllib2.build_opener(proxy_handler)
    urllib2.install_opener(opener)
    return

def http_put_data(data):
    url='http://api.heclouds.com/devices/'+DEVICE_ID+'/datapoints'
    d = time.strftime('%Y-%m-%dT%H:%M:%S')
    values={'datastreams':[{"id":"temperature","datapoints":[{"at":d,"value":data}]}]}
    jdata = json.dumps(values)                  # 对数据进行JSON格式化编码
    print jdata
    request = urllib2.Request(url, jdata)
    request.add_header('api-key', API_KEY)
    request.get_method = lambda:'POST'           # 设置HTTP的访问方式
    request = urllib2.urlopen(request)
    return request.read()

http_proxy_handle()
rsp = http_put_data(30)
print rsp

执行结果如下

{"errno":0,"error":"succ"}

这里你可以在平台WEB界面中设备的数据展示中查看到己上报数据。

获取数据

获取数据是设备从平台获取己上报的数据,其代码如下

# get sensor data
def http_get_data():
        url='http://api.heclouds.com/devices/'+DEVICE_ID+'/datapoints'
        request = urllib2.Request(url)
        request.add_header('api-key',API_KEY)
        request.get_method = lambda:'GET'           # 设置HTTP的访问方式
        request = urllib2.urlopen(request)
        return request.read()

执行结果如下

{
    "errno": 0,
    "data": {
        "count": 2,
        "datastreams": [
            {
                "datapoints": [
                    {
                        "at": "2017-03-24 12:24:50.000",
                        "value": 20
                    }
                ],
                "id": "img"
            },
            {
                "datapoints": [
                    {
                        "at": "2017-03-24 13:36:34.000",
                        "value": 20
                    }
                ],
                "id": "temperature"
            }
        ]
    },
    "error": "succ"
}

最后

以上就是哭泣茉莉为你收集整理的OneNet 平台HTTP上报与获取设备数据OneNet 平台HTTP上报与获取设备数据事前准备调测的全部内容,希望文章能够帮你解决OneNet 平台HTTP上报与获取设备数据OneNet 平台HTTP上报与获取设备数据事前准备调测所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部