Bluetooth пульт для фотокамеры на ESP32

Пользовательские блоки для коммкникации и связи GSM, GPRS, IR, Bluetooth и другие
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
Axel
Рядовой
Сообщения: 31
Зарегистрирован: 08 май 2018, 12:25

Bluetooth пульт для фотокамеры на ESP32

Сообщение Axel »

Есть интересная библиотека Bluetooth пульта для фотокамеры Canon на ESP32. Пытаюсь сделать пользовательский блок, но не понятно, что делать с void blink(){ digitalWrite(LED, !digitalRead(LED));}. Помогите разобраться.

Ссылка на библиотеку https://github.com/maxmacstn/ESP32-Canon-BLE-Remote

Пример кода из библиотеки. Его и пытаюсь реализовать через блок.

#include "CanonBLERemote.h"
#include <Arduino.h>
#include "Ticker.h"


#define LOG_LOCAL_LEVEL ESP_LOG_INFO
#include "esp_log.h"
#include <esp32-hal-log.h>

#define SHUTTTER_BTN 14
#define FOCUS_BTN 12
#define LED 2

String name_remote = "ESP32 Remote";
CanonBLERemote canon_ble(name_remote);
Ticker blinker;

void blink(){
digitalWrite(LED, !digitalRead(LED));
}

void setup()
{
Serial.begin(115200);
esp_log_level_set("*", ESP_LOG_INFO);

pinMode(SHUTTTER_BTN, INPUT_PULLUP);
pinMode(FOCUS_BTN, INPUT_PULLUP);
pinMode(LED, OUTPUT);
digitalWrite(LED, HIGH);

canon_ble.init();

delay(1000);
// Pairing
if(digitalRead(SHUTTTER_BTN) == LOW ){
blinker.attach_ms(200,blink);

// pair() function should be called only when you want to pair with the new camera.
// After paired, the pair() function should not be called.
do{
Serial.println("Pairing...");
}
while(!canon_ble.pair(10));

blinker.detach();
digitalWrite(LED, HIGH);

}


delay(1000);
Serial.println("Setup Done");
}

void loop()
{

// Shutter
if (digitalRead(SHUTTTER_BTN) == LOW){
Serial.println("Shutter pressed");
digitalWrite(LED, LOW);
if(!canon_ble.trigger()){
Serial.println("Trigger Failed");
}
digitalWrite(LED, HIGH);
}
// Focus
else if (digitalRead(FOCUS_BTN) == LOW){
Serial.println("Focus pressed");
digitalWrite(LED, LOW);
if(!canon_ble.focus()){
Serial.println("Focus failed");
}
digitalWrite(LED, HIGH);

}

}
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Re: Bluetooth пульт для фотокамеры на ESP32

Сообщение aidar_i »

Axel писал(а): 27 сен 2024, 11:27 Есть интересная библиотека Bluetooth пульта для фотокамеры Canon на ESP32. Пытаюсь сделать пользовательский блок, но не понятно, что делать с void blink(){ digitalWrite(LED, !digitalRead(LED));}. Помогите разобраться.
Засуньте в функцию.
Axel
Рядовой
Сообщения: 31
Зарегистрирован: 08 май 2018, 12:25

Re: Bluetooth пульт для фотокамеры на ESP32

Сообщение Axel »

aidar_i писал(а): 27 сен 2024, 20:05 Засуньте в функцию.
Спасибо за помощь! Всё оказалось очень просто :yes:
Axel
Рядовой
Сообщения: 31
Зарегистрирован: 08 май 2018, 12:25

Re: Bluetooth пульт для фотокамеры на ESP32

Сообщение Axel »

Вопрос к знатокам. Реально ли на один контроллер залить два разных пульта (две разные библиотеки)?
Есть библиотека для смартфона и отдельная библиотека для фотокамеры. Обе по отдельности работают хорошо.

Одновременная синхронизация со смартфоном и фотокамерой не планируется. Только либо смартфон, либо камера. Но реализовать это на одной ESP32 пока не получается. Возможно это сделать?
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Re: Bluetooth пульт для фотокамеры на ESP32

Сообщение aidar_i »

Скорее возможно, включаете нужный пульт.
Axel
Рядовой
Сообщения: 31
Зарегистрирован: 08 май 2018, 12:25

Re: Bluetooth пульт для фотокамеры на ESP32

Сообщение Axel »

aidar_i писал(а): 02 окт 2024, 18:00 Скорее возможно, включаете нужный пульт.
Подскажите, пожалуйста, в каком направлении копать? Как включить нужный пульт? Оба пульта на разных пинах. Скетч компилируется и загружается без ошибок. Подключается к смартфону без проблем. Но сразу после подключения начинаются несанкционированные нажатия.
Ответить

Вернуться в «Коммуникация и связь»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя