Приветствую всех участников.
Решил я сделать что то вроде домофона на esp32-cam с отправкой фото звонящего в телегу. И т.к. мы не ищем легких путей, то вместо простого копирования по мануалу Telegram: ESP32-CAM Take and Send Photo решил я это дело собрать с использованием FastBot2 от уважаемого нами Гайвера.
Так вот при отправке фото esp32-cam уходит в перезагрузку и всё.
Как я понял camera_fb_t * fbcam это структура, в которой содержится:
unit8_t * buf - указатель на данные снимка (Pointer to the pixel data)
size_t len - длина буфера в байтах
Возможно я как то не так передаю ссылку на буфер с фото, но я с этими указателями и ссылками не очень дружу, поэтому и прошу помощи.
Решил я сделать что то вроде домофона на esp32-cam с отправкой фото звонящего в телегу. И т.к. мы не ищем легких путей, то вместо простого копирования по мануалу Telegram: ESP32-CAM Take and Send Photo решил я это дело собрать с использованием FastBot2 от уважаемого нами Гайвера.
C++:
String sendPhotoTelegram() {
//здесь делается первый снимок, т.к. первый снимок вроде как не очень
camera_fb_t * fbcam = NULL;
fbcam = esp_camera_fb_get();
esp_camera_fb_return(fbcam); // очищается буфер
// Делается новой фото
fbcam = NULL;
fbcam = esp_camera_fb_get();
if(!fbcam) {
Serial.println("Camera capture failed");
delay(1000);
ESP.restart();
return "Camera capture failed";
}
uint8_t *fbBuf = fbcam->buf;
size_t fbLen = fbcam->len;
//Код ниже из мануала для Universal Telegram Bot Library
/*for (size_t n=0;n<fbLen;n=n+1024) {
if (n+1024<fbLen) {
clientTCP.write(fbBuf, 1024);
fbBuf += 1024;
}
else if (fbLen%1024>0) {
size_t remainder = fbLen%1024;
clientTCP.write(fbBuf, remainder);
}
*/
// Собственно отправка фото из буфера в телеграмм.
fb::File f("esp32-cam.jpg", fb::File::Type::photo, fbBuf, fbLen);
f.chatID = chat_id;
bot.sendFile(f, false);
esp_camera_fb_return(fbcam);
}
Как я понял camera_fb_t * fbcam это структура, в которой содержится:
unit8_t * buf - указатель на данные снимка (Pointer to the pixel data)
size_t len - длина буфера в байтах
Возможно я как то не так передаю ссылку на буфер с фото, но я с этими указателями и ссылками не очень дружу, поэтому и прошу помощи.
Изменено: