LINUX.ORG.RU

Подключение к Telegram с помощью АТ команд

 , , ,


0

1

Пробую подключиться к Telegram bot с помощью AT команд ESP8266. Пишет, что неправильный запрос - вместо HTTPS получает HTTP. Как можно отправить запрос АТ командами?

AT
AT+CWMODE=3
AT+CWQAP
AT+RST
AT+CWJAP_CUR="Qwerty","Qwerty"
AT+CIFSR
AT+CIPMUX=1
AT+CIPSERVER=1,80
AT+CIPSSLCCONF=2
AT+CIPSSLSIZE=4096
AT+CIPSTART=0,"TCP","api.telegram.org",443
AT+CIPSEND=0,154
>GET /bot4562385428:GHRxtG85bfBDdaE5I3PnZT-A1Lgg-zjKTOU/sendmessage?chat_id=593816732&text=3333 HTTP/1.1
>Host: api.telegram.org
>Connection: close
>
>
Recv 154 bytes

SEND OK

+IPD,0,595:HTTP/1.1 400 Bad Request
Server: nginx/1.16.1
Date: Sun, 08 Nov 2020 20:03:43 GMT
Content-Type: text/html
Content-Length: 255
Connection: close
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection

<html>
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<center>The plain HTTP request was sent to HTTPS port</center>
<hr><center>nginx/1.16.1</center>
</body>
</html>
0,CLOSED

AT+CIPCLOSE=0

Ответ на: комментарий от torvn77

Arduino IDE там запускаю мониторинг порта и в него отправляют АТ команды. Есть реализация в скетче, то там часто проблемы с шрифтами и отладочную информацию не вывожу, а так полностью аналогично все работает. Операционная система manjaro.

GeoSh ()
Ответ на: комментарий от manntes-live

В ssl надо как-то передать сертификат, но как - найти не могу. Смотрел исходные коды отправки запроса из браузера (chromium), за исключением дополнительной служебной информации всё полностью аналогично.

GeoSh ()
Ответ на: комментарий от GeoSh

я конечно не эксперт, но вроде же у них в гайде написано

  • esp_ca_cert.bin downloads to 0xFB000 by default
  • esp_cert_private_key.bin downloads to 0xFC000 by default
  • Users can revise the SYSTEM_PARTITION_SSL_CLIENT_CA_ADDR and SYSTEM_PARTITION_SSL_CLIENT_CERT_PRIVKEY_ADDR in user_main.c to change the downloading addresses

еще есть отдельный «ESP8266 SSL User Manual», в котором написано, как генерировать свои сертификаты или использовать существующие.

Lrrr ★★ ()