Ich versuche Benachrichtigungen auf meinem (Android) mobilen Gerät von einem ESP8266 MCU mit MicroPython zu erhalten. Aus diesem Grund habe ich einige Online-Dienste abonniert, die einige APIs für diese Aufgabe, Pushbullet und Pushed, offen legen, und ich habe die passenden Apps auf meinem Gerät installiert.MicroPython urequests.post Fehler
Das ist, was ich versuche:
Pushbullet:
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)
Fehler:
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
Pushed:
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)
Fehler:
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
Die Suche nach diesen Fehlern bringt mich nirgends nützlich.
Die exakt gleichen Code-Schnipsel funktionieren auf meiner Linux-Box (mit requests
anstelle von urequests
), aber ich verstehe, dass urequests
einige Einschränkungen haben kann.
Haben Sie Hinweise, wie Sie das beheben können?
Nach dem, was ich im Micropython-Forum beantwortet habe, gilt dies für das" Pushed "-Beispiel (aber ich habe immer noch keine Lösung dafür versucht), während für das" Pushbullet "-Snippet ich hat erfolgreich eine Benachrichtigung gesendet, die zu einem täglichen Build von Micropython und 'urequests' Modul aktualisiert, wie vorgeschlagen @ https://github.com/micropython/micropython/issues/3389 – dentex