如何将数据上传到onenet服务器

onenet是中移动物联网公司面向大众免费提供的物联网平台。简单点说就是一个存放、展示数据的服务器。

百度搜索onenet,进入之后在上方标题栏找到开发文档链接,进入之后可以看到各种说明。
onenet支持http等多种协议,甚至为用户开发了基于TCP/TP协议的EDP协议。
本文以http协议为例介绍如何上传数据并在手机查看。
首先,注册账号,注册页面是这样的
注册页面
注册完成后在onenet主页右上角找到开发者中心,点击进入,然后找到创建产品。
开发者中心
创建产品
按提示创建完后要创建设备、创建APIkey,创建APIkey时要关联前面创建的设备。
创建设备
ps:(不要用我的产品信息)
然后在左侧找到数据流模板,像添加设备一样添加数据流,数据流名称要简介,不要太长。
完成之后在设备管理这里你可以找到你的设备,设备信息旁边有一个数据展示,点进去可以看到你的数据,因为还没上传,没有数据是理所当然的事。
接下来,我们应该要上传数据了,这里使用PC机的网络调试助手上传数据。
这里,我们要记住一些必要的信息:
这是一段http报文

“`
POST /devices/6523751/datapoints?type=3 HTTP/1.1
api-key:4pjuTJRDF1jFiH5y6uj5zN7UKH4=
Host:api.heclouds.com
Content-Length:25

{“ADC_1”:10,”ADC_2”:20}
“`http协议有4种数据交互方式,post正如字面意思,英语不好,。。。


—–首先, 第一行中的/devices/6523751/ 6523751是设备ID。api-key:后面跟着的正是前面所创建设备之后创建的APIkey(不是项目key,是设备key)。      
     Content-Length:25
           25是下面这行{“ADC_1”:10,”ADC_2”:20}的长度             
     实际上最后一行只看到23个字符,然而我们习惯在}后面添加回车换行符,回车换行符\r\n是两个字符,所以是25.Content-Length:25与{“ADC_1”:10,”ADC_2”:20}之间有一空行,千万不要忘了。        
     最后,最重要的一行{“ADC_1”:10,”ADC_2”:20}    
     这是json数据,其中“ADC_1”中的ADC_1正是我的数据流,在这里,你要替换成你的数据流。           
     冒号后面的10是我的数据,这里你要替换成你的数据。          
     json规定两个json数据之间用逗号分隔,显然“ADC_2”是我的第二个数据流,这里同时上传两个数据是没问题的。如果你只有一个数据流的话,可以是这种形式{“ADC_1”:10}     ,要记住,更改了{}里面的内容一定要重新计算数据长度,出错了就傻逼了。          
    废话不多说,下面演示使用PC机的网络调试助手进行调试。           
    我的网络调试助手是这样的                  
    网络调试助手
    左边的是串口助手,右边的是网络调试助手。
    1.按照我的设置选择TCP client 要向服务器传数据  这是理所当然的  是必须的
    2.根据onenet公开协议接入指南,http接入要连接到183.230.40.34:80
    按照我的设置,点击connect之后,可以连接上服务器了
    先别急着连接到服务器,这里应该先用记事本把要上传的那段http报文替换信息,将我的报文变成你的报文。
    假定我的传感器探测到我写下这句话时,ADC_1 = 15  ADC_2 = 60,替换掉相关的信息之后,点击connect
    应该会看到这里
    套接字
     172.28.81.145是我的IP地址,东莞理工学院8B117的一台傻逼电脑。        
     51848是我的端口号。 
     这两项会跟你的不一样,不用担心。连接之后先将原来默认的发送信息删掉,再发送你的报文。如果一切没问题的话,你会看到这样的。

上传  
     下面的窗口是我发送过去的信息,排版问题不要在意,只要确保你的报文在记事本里面是这样一个排版

报文排版
不该换行的地方千万不要换行,数据有效长度后面一定跟着一个空行。     
     是不是真的上传成功了呢?进入onenet,找到数据展示,我的是这样的           
     onenet页面         
          仔细点找到ADC_1和ADC_2  是不是最新数据是 15和60了呢?      
               最后,再给大家一些建议,http报文时非常复杂的,真的要想不出错的话,你应该去看看这个协议。    
                    json是js的一种数据交互格式,用于http服务器与客户端之间通信。当然,其他地方也可以用。如果你想真正做好一个产品,你应该去简单了解json。       
                  仅仅上传数据是不够的,如果你想要获取数据,应该怎么办?前面提到http协议有4种数据交互方式,POST是其中一种,还有一种叫GET。等有空的时候我会写如何用GET获取一段json数据。

  • 16
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值