基於ESP32的物聯網學習-uPyCraft下使用MicroPython

先請出豬角,手上這塊開發板是ESP32 DevKit V1,看下擴展引腳:

 

使用HTTP POST發送數據到oneNet

一. 註冊oneNet網站,https://open.iot.10086.cn/進入開發者中心
二. 創建設備,記住你的API_KEY和DEVICE_ID,替換程序中的對應變量

三. 將uPy_Lib中的urequests.py拖動到lib目錄下
四. 運行這個代碼,就可以上傳溫度啦(替換你的API_KEY和DEVICE_ID哦,還要替換您路由器的SSID和PASSWD)

登錄NetOne平臺查看數據點

參考代碼如下:

import urequests
import network
import socket
import time
import json

DEVICE_ID='4232735'
API_KEY='u69BKBvvXlfdsgfdfaAdfdfdFA='

SSID="wcchhd"
PASSWORD="123456789"
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)

 

 

---------------------------------

時間格式化:time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章