d1_mini/main.py

70 lines
1.3 KiB
Python

import usocket as socket
import ssl
from machine import Pin
import time
with open('token') as f:
token = f.readline().strip('\n')
def send_msg(text, title=""):
s = socket.socket()
host = "ntfy.acorneroftheweb.com"
port = 443
ai = socket.getaddrinfo(host, port)
print("Address infos:", ai)
addr = ai[0][-1]
print("Connect address:", addr)
s.connect(addr)
s = ssl.wrap_socket(s)
headers = """\
POST / HTTP/1.1\r
Host: {host}\r
Content-Type: application/json\r
Authorization: Bearer {token}
Accept: */*\r
Connection: close\r
Content-Length: {content_length}\r
\r\n"""
body = '{"topic": "d1", "message": "' + text + '", "title": "' + title + '"}'
body_bytes = body.encode('ascii')
header_bytes = headers.format(
content_length=len(body_bytes),
token=token,
host=str(host)
).encode('iso-8859-1')
payload = header_bytes + body_bytes
print(payload)
s.write(payload)
print(s.read())
s.close()
def simple_msg():
send_msg("Hello there from the button")
def main():
p2 = Pin(2, Pin.IN)
while True:
cur_value = p2.value()
active = 0
while active < 20:
if p2.value() != cur_value:
active += 1
else:
active = 0
time.sleep_ms(1)
simple_msg()
main()