8490浏览
查看: 8490|回复: 1

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

[复制链接]
一. 注册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

super-power  中级技师

发表于 2017-8-20 21:34:04

回个帖,占个位!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail