大作业三 通过pcduino控制linkspriteIO平台进而对LinkNode R4/R8的继电器进行设置
实验目的
进一步熟悉pcDuino,熟练掌握pcduino中的命令行编程的相关方法,了解spriteIO平台的数据更新方法。
实验内容
通过使用pcDuino上的命令行编程,来编写出能够更新spriteIO平台上数据的方法程序,运行后更新spriteIO上的数据进而能够对LinkNode R4/R8进行有效的控制,实现能够远程操控LinkNode R4/R8的继电器开关的作用。
实验要求
可以在pcduino中使用shell编程,java,python等语言编程,不过需要做出友好的ui交互界面,并完善各种功能,比如:基础的开关设置,定时开关设置,添加linknode断网的情况下的默认处理等。如果会编写android程序的,也可以通过手机app来实现以上的功能。
附录
向linkspriteIO平台发送post请求操作的python源码:
#!/usr/bin/env python
# -*- coding:UTF-8 -*-
import urllib
import urllib2
import json
deviceID="xxxxxxxx"
apikey = "xxxxxxxxxxxxxxxxxxxxx"
s = "s"
door = "door"
PIR = "pir"
Leak = "leak"
Smoke = "smoke"
Remote = "remote"
def http_post(data):
try:
url = 'http://www.linksprite.io/api/http'
jdata = json.dumps(data)
req = urllib2.Request(url, jdata)
req.add_header('Content-Type','application/json')
response = urllib2.urlopen(req)
return response.read()
except urllib2.URLError:
print "connect failed"
return "connect failed"
pass
values ={
"action":"update",
"apikey":apikey,
"deviceid":deviceID,
"params":
{
"Door":door,
"PIR":PIR,
"Leak":Leak,
"Smoke":Smoke,
"Remote":Remote,
"SOS":s
}}
print http_post(values)