话不多说,直接上代码
from gpio import *
from time import *
from realtcp import *
from time import *
from gpio import *
from realhttp import *
http = RealHTTPClient()
url='解释点1'
head={"api-key":"解释点2", "Content-Type":"application/json"}
serverIP = "dtu.heclouds.com"
serverPort = 1811
auth = '解释点3'
client = RealTCPClient()
def onTCPConnectionChange(type):
if int(type)==3:
client.send(auth)
def onTCPReceive(data):
print("received: " + data);
import json
def onHTTPDone(status, data):
data = json.loads(data)
if data['errno'] == 0:
print("upload data successfully!")
else:
print("failed")
def main():
client.onConnectionChange(onTCPConnectionChange)
client.onReceive(onTCPReceive)
client.connect(serverIP, serverPort)
http.onDone(onHTTPDone)
while True:
value = Button()
if value==1023:
http.postWithHeader(url, {"Status":"Fire Alarm"}, head)
else:
http.postWithHeader(url, {"Status":"No Alarm"}, head)
sleep(1)
if __name__ == "__main__":
main()
解释点1:这个地址就是你中移平台中打开设备详情中的信息→API地址项
解释点2:APIKey就是设备详情中的APIkey
解释点3:这个比较复杂,它是由*产品ID#设备鉴权#脚本名称*构成,以*开始,#为间隔,*为结束
产品ID可以在产品概况中找到,设备鉴权可以在设备详情中找到,脚本名称在设备列表,后两者都是自己定义的名称
其他的不需要改变
这个就是上传信息的格式,一个字典类型,同时可以上传多个信息
上传完毕后云端即可见
简单的设备上云到此结束,下一章讲如何云端控制设备