我是Raspberry Pi和Google Cloud Messaging的新手。我想做的事情如下:Raspberry Pi正在读取一些传感器数据,我想将数据实时发送到我的Android Phone,即,一旦收到传感器读数,它将被推送到手机上。我研究了各种方法来完成此操作,并认为使用Google Cloud Messaging最适合我。因此,我做了以下工作:
然后从RPi运行以下程序。代码中的API是上述API(摘自Google Cloud Messaging HTTP错误400:错误的请求)
导入json
import urllib
import urllib2
class RemoteAlert:
def sendGCM(self, regid, email, entry_id, date_modified, kind):
url = "https://android.googleapis.com/gcm/send'
apiKey = MY_API
myKey = "key=" + apiKey
json_data = { "registration_id": regid, "data" : {
"entry_id" : entry_id,
"email": email,
"date_modified": date_modified,
"kind": kind,
"reg_id": regid,
},
}
headers = {'Content-Type': 'application/json', 'Authorization': myKey}
data = urllib.urlencode(json_data)
req = urllib2.Request(url, data)
req.add_header("Authorization", myKey)
f = urllib2.urlopen(req)
response = f.read()
f.close()
print "DONE"
obj = RemoteAlert()
print obj.sendGCM("1234", "[email protected]", "24", "10-09-2014", "VAL")
我的问题和疑问:
我已经检查了以下页面以寻求帮助:
任何帮助表示赞赏!谢谢!
我无法解决上述错误。但是我可以使用带有GCM的Amazon SNS将推送通知成功发送到Android手机!
从我的物联网设备,我将传感器数据发送到了托管在Amazon EC2上的Web服务。从EC2,我使用SNS和GCM将数据推送到Android手机。它的工作没有任何麻烦。
我使用Web服务将数据发送到EC2实例。但是Amazon Kinesis是一种将数据实时流传输到Amazon云的更有效的方法。
AWS免费提供会员资格以试用其许多云实用程序。Kinesis不是免费的,因此我没有尝试。但是我知道有人在使用它。
您可以从Amazon SNS官方教程网站下载整个Android项目源代码,并在进行一些个性化设置后使用它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句