телеграмм бот на arduino (Ethernet Shield W5100)
Хочу замутить проект на ардуино, что бы можно было через бота телеграмм, через интернет, управлять ардуино, у меня есть шилд с интернетовским портом, хотел на ней запустить бота телеграмм, есть прикольная библиотека UniversalTelegramBot.h, но шилд может отправлять только http, но не может отправлять https, что делает не возможным запустить бота, т к api телеграмма работает с https, посмотрел в интернете и узнал про такую вещь как туннели , задумка в том что я отправляю пост запрос на http адрес, он его перенаправляет на https api телеграмма, но сколько бы не старался он мне выдает 412 ошибку и не работает. Tуннель сделал через https://my.webhookrelay.com/tunnels
вот мой туннель
#define TELEGRAM_HOST "http://i7xvjiitujz3dkxdkkhybv.sg.webrelay.io"
вот
Пробовал изменять код в библиотеке что бы отправка была не на api.telegram.org а на мой туннель вот код из библиотеки для отправки запросов в телеграмм
#define TELEGRAM_PORT 80
String UniversalTelegramBot::sendPostToTelegram(const String& command, JsonObject payload) {
String url = String("/bot") + _token + "/" + command;
client->flush();
client->setTimeout(5000);
if (!client->connect(TELEGRAM_HOST, TELEGRAM_PORT)) {
return "";
}
String body;
serializeJson(payload, body);
client->println("POST " + url + " HTTP/1.1");
client->println("Host: " TELEGRAM_HOST);
client->println("Content-Type: application/json");
client->println("Content-Length: " + String(body.length()));
client->println("Connection: close");
client->println();
client->print(body);
String responseBody, headers;
readHTTPAnswer(responseBody, headers);
return responseBody;
}
String UniversalTelegramBot::sendGetToTelegram(const String& command) {
String url = String("/bot") + _token + "/" + command;
client->flush();
client->setTimeout(5000);
if (!client->connect(TELEGRAM_HOST, TELEGRAM_PORT)) {
return "";
}
client->println("GET " + url + " HTTP/1.1");
client->println("Host: " TELEGRAM_HOST);
client->println("Connection: close");
client->println();
String body, headers;
readHTTPAnswer(body, headers);
return body;
}
}