Sub Process_Globals
    Public Serial1 As Serial
    Private wifi As ESP8266WiFi
    Private socket As WiFiSocket
    Private astream As AsyncStreams
    Private bc As ByteConverter
    Private eol() As Byte = Array As Byte(13, 10)
End Sub
Private Sub AppStart
    Serial1.Initialize(115200)
    Log("Iniciando...")
    If wifi.Connect2("........", ".......") Then
        Log("Wi-Fi conectado.")
    Else
        Log("Falha ao conectar no Wi-Fi.")
        Return
    End If
    
    If socket.ConnectHost("api.telegram.org", 80) Then
        Log("Conectado ao Telegram.")
        astream.Initialize(socket.Stream, "Astream_NewData", "Astream_Error")
        EnviarTelegram("Teste do ESP8266 via B4R")
    Else
        Log("Erro ao conectar ao Telegram.")
    End If
End Sub
Sub EnviarTelegram(mensagem As String)
    Dim token As String = "01080098709:AAFA-25RJQpCboLL3h9qlAtBL8R40MrFHQA" 
    Dim chatID As String = "1192822222"
    Dim mensagem As String = "Mensagem enviada pelo ESP8266 via B4R"
    Dim linha1 As String = JoinStrings(Array As String("GET /bot", token, "/sendMessage?chat_id=", chatID, "&text=", mensagem, " HTTP/1.1"))
    Dim linha2 As String = "Host: api.telegram.org"
    Dim linha3 As String = "Connection: close"
    astream.Write(bc.StringToBytes(linha1))
    astream.Write(eol)
    astream.Write(bc.StringToBytes(linha2))
    astream.Write(eol)
    astream.Write(bc.StringToBytes(linha3))
    astream.Write(eol)
    astream.Write(eol) ' linha em branco obrigatória para finalizar o cabeçalho HTTP
End Sub
Sub Astream_NewData(Buffer() As Byte)
    Log("Resposta:")
    Log(bc.StringFromBytes(Buffer))
End Sub
Sub Astream_Error
    Log("Erro na conexão do stream.")
End Sub