MicroPython을 실행하는 ESP8266 MCU에서 내 (Android) 모바일 장치에 대한 알림을 받으려고합니다. 이러한 이유로 필자는이 작업에 대한 몇 가지 API 인 Pushbullet 및 Pushed를 노출하는 몇 가지 온라인 서비스를 구독하고 장치에 해당 앱을 설치했습니다.MicroPython urequests.post 오류
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)
오류 :
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
이러한 오류를 검색해도 아무데도 유용하지 않습니다.
내 리눅스 박스에서 똑같은 코드 스 니펫이 작동합니다 (urequests
대신 requests
사용). 그러나 urequests
에는 몇 가지 제한 사항이있을 수 있음을 이해합니다.
이 문제를 해결하는 방법에 대한 힌트가 있습니까?
Micropython 포럼에서 내가 답변 한 바에 따르면, "Pushbullet"스 니펫의 경우 "Pushbullet"스 니펫에서는 @ https://github.com/micropython/micropython/issues/3389에서 제안하는대로, Micropython 및'urequests' 모듈의 일일 빌드로의 업그레이드 알림을 성공적으로 보냈습니다. – dentex