uPyCraft-micropython教程之使用HTTP POST发送数据到oneNet

2017-07-061.5万
AI 快速预览详细 收起
本文介绍了如何使用uPyCraft和Micropython通过HTTP POST方法将温度数据发送到OneNet平台。首先需要注册OneNet账号并创建设备,获取API_KEY和DEVICE_ID。接着,将urequests.py文件拖动到lib目录下,并运行提供的代码。代码中包括Wi-Fi连接和数据上传的具体步骤。通过这个教程,零基础的新手也能快速上手物联网项目,实现数据的远程传输。
一. 注册10086的oneNet网站,进入开发者中心
二. 创建设备,记住你的API_KEY和DEVICE_ID,替换程序中的对应变量
这是我的设别列表列表
uPyCraft-micropython教程之使用HTTP POST发送数据到oneNet图2

这是我真实的设备,这次实验使用18b20这个设备
uPyCraft-micropython教程之使用HTTP POST发送数据到oneNet图3

三. 将uPy_Lib中的urequests.py拖动到lib目录下
四. 运行这个代码,就可以上传温度啦(注意替换你的API_KEY和DEVICE_ID哦,还要替换您路由器的SSID和PASSWD)
[mw_shl_code=python,true]import urequests
import network
import socket
import time
import json

DEVICE_ID='3332733'
API_KEY='u39BKBvvXl6JHzXANvTR6qd5RPA='

SSID="DFROBOT_AP"
PASSWORD="12345678"
wlan=None
s=None

def connectWifi(ssid,passwd):
  global wlan
  wlan=network.WLAN(network.STA_IF)
  wlan.active(True)
  wlan.disconnect()
  wlan.connect(ssid,passwd)
  while(wlan.ifconfig()[0]=='0.0.0.0'):
    time.sleep(1)
  return True

def http_put_data(data):
    url='http://api.heclouds.com/devices/'+DEVICE_ID+'/datapoints'
    values={'datastreams':[{"id":"temperature","datapoints":[{"value":data}]}]}
    jdata = json.dumps(values)                 
    r=urequests.post(url,data=jdata,headers={"api-key":API_KEY})
    return r
try:
  connectWifi(SSID,PASSWORD)
  rsp = http_put_data(86)
  print(rsp.json())
except:
  wlan.disconnect()
  wlan.active(False)[/mw_shl_code]

运行结果
uPyCraft-micropython教程之使用HTTP POST发送数据到oneNet图1

网站显示结果
uPyCraft-micropython教程之使用HTTP POST发送数据到oneNet图4

嘿嘿,http post实验完成

HTTP请求的详细细节我就不班门弄斧了,这里有一个篇非常好的文档(支持他人原创),写的非常浅显易懂,有兴趣的同学可以学习一下。
https://my.oschina.net/manmao/blog/549123

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
super-power
super-power
回个帖,占个位!
- 没有更多了 -