Skip to main content

En cambio, el envío de Telegram no funciona

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.

Al revés, es decir, la llamada de PicoBricks a una web externa no funciona

Esto sería útil para llamar a la API de Telegram y que Picobricks pudiese enviar información al usuario por Telegram 

PeroTienes segúnque esteponer foroen la instrucciónlínea urequest11 yalos no funciona. Lo hemos probadodatos de muchastu maneraswifi

y

Tienes efectivamente.que Si sabes cómo poder enviar a Telegram con Picobricks por favor ponteponer en contactola conurl nosotrosde la línea 16:
- el token del bot que has conseguido en www.catedu.esreando enun informaciónbot de Telegram y pondremosconsiguiendo el código correcto.

import urequests
import network
import time

TOKEN="----------"     ## Pon aquí elsu Token que sale de @BotFather
CHAT_ID="
---------" ## Pon aquí el ID delde tu usuario a donde hay que enviar el mensaje ver identificar nuestro ID de Telegramusuario destinatarioa lodonde daenviar @myidbotel SSIDmensaje

## 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 ##digital Ponpin aquías laan redoutput wififor PASSWORDled
push_button = '---------'Pin(10,Pin.IN,Pin.PULL_DOWN)#initialize ##digital Ponpin aquí10 laas contraseñaan input
        
#extraido de lapágina red21 wifide defhttps://datasheets.raspberrypi.com/picow/connecting-to-the-internet-with-pico-w.pdf
conectar_wifi():# Connecttonetwork
import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(SSID,'PONTUWIFI', PASSWORD)
    print("Conectando a Wi-Fi..."'PONTUCONTRASEÑAWIFI')

while# notMake wlan.isconnected(GET request
import urequests
def mandarmensaje():
    time.sleep(1)r print(= urequests.get("Conectado a Wi-Fi:", wlan.ifconfig())
    return True

def enviarmensaje (mensaje):
    url="https:http://api.telegram.org/bot"+telegramBot+"/botPONTUBOT/sendMessage?chat_id="+telegramChatId+"PONTUID&text="+mensajeAPRETADO")
    respuestaprint(r.status_code) # redirectsto https
    #print(r.content)
    r.close() 

    
while True:#while loop
    logic_state = urequests.get(url)push_button.value();#button print('Mensajeon&off Enviado'status
    if logic_state == True:#check the button and if it is on
        led.value(1)#turn on the led
        mandarmensaje()
    returnelse:
        respuestaled.value(0)#turn ###########off PROGRAMAthe PRINCIPAL,led
Conexión

Hay Wi-Fique ydejar envíoapretado delunos mensaje conectar_wifi() enviarmensaje("Prueba") #Ponersegundos el mensajebotón apara enviar,que podríafuncione:

ser