我正在尝试在我的(Android)移动设备上接收来自运行 MicroPython 的 ESP8266 MCU 的通知。出于这个原因,我订阅了一些在线服务,这些服务公开了一些用于此任务的 API,Pushbullet 和 Pushed,并在我的设备上安装了匹配的应用程序。
这就是我正在尝试的:
推弹:
import json
import urequests
body = "Test Notification"
title = "Pushbullet"
data_sent = {"type": "note", "title": title, "body": body}
API_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx'
pb_headers = {
'Authorization': 'Bearer ' + API_KEY,
'Content-Type': 'application/json'
}
r = urequests.post(
'https://api.pushbullet.com/v2/pushes',
data=json.dumps(data_sent),
headers=pb_headers
)
print(r)
错误:
ssl_handshake_status: -256
Traceback (most recent call last):
File "<stdin>", line 11, in <module>
File "urequests.py", line 104, in post
File "urequests.py", line 56, in request
OSError: [Errno 5] EIO
推:
import json
import urequests
payload = {
"app_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
"target_type": "app",
"content": "Remote Mic MCU test from ESP8266"
}
r = urequests.post("https://api.pushed.co/1/push", data=payload)
print(r)
错误:
Traceback (most recent call last):
File "<stdin>", line 8, in <module>
File "urequests.py", line 104, in post
File "urequests.py", line 74, in request
TypeError: object with buffer protocol required
搜索这些错误,并没有让我有任何用处。
完全相同的代码片段在我的 Linux 机器上工作正常(使用requests
代替urequests
),但我知道这urequests
可能有一些限制。
您对如何解决此问题有任何提示吗?