Envío de mensajes a Telegram
En la anterior página, PicoBricks hacía de servidor, alojaba una página web y desde el exterior, se llamaba a su página web para encender y apagar un led.
¿y al revés? es decir, la llamada de PicoBricks a una web externa, por ejemplo la api de Telegram y así poder enviar temperatura, datos, etc.. de forma muy fácil :
- Primero creando un bot de Telegram y consiguiendo su Token
- Segundo identificar nuestro ID de usuario a donde enviar el mensaje
- Tercero utilizar la instrucción urequest.get(laurl) de la librería urequests
Tienes que poner en la línea 11 los datos de tu wifi
Tienes que poner en la url de la línea 16:
- Donde pone PONTUBOT sustitúyelo por el token del bot que has conseguido en reando un bot de Telegram y consiguiendo su Token
- Donde pone PONTUID sustitúyelo por el ID de tu usuario a donde hay que enviar el mensaje ver identificar nuestro ID de usuario a donde enviar el mensaje
## extraido del proyecto action-reaction https://github.com/Robotistan/PicoBricks/tree/main/Software/Activities/Action-Reaction
from machine import Pin#to acces the hardware picobricks
led = Pin(7,Pin.OUT)#initialize #### initialize digital pin as an output for led
push_button = Pin(10,Pin.IN,Pin.PULL_DOWN)#initialize ### initialize digital pin 10 as an input
##### extraido de página 21 de https://datasheets.raspberrypi.com/picow/connecting-to-the-internet-with-pico-w.pdf
##### Connecttonetwork
import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('PONTUWIFI', 'PONTUCONTRASEÑAWIFI')
# Make GET request
import urequests
def mandarmensaje():
r = urequests.get("http://api.telegram.org/botPONTUBOT/sendMessage?chat_id=PONTUID&text=APRETADO")
print(r.status_code) # redirectsto https
#print(r.content)
r.close()
while True: #### while loop
logic_state = push_button.value();#button on&off status
if logic_state == True:#check the button and if it is on
led.value(1)#turn on the led
mandarmensaje()
else:
led.value(0)#turn off the led
Hay que dejar apretado unos segundos el botón para que funcione: