koliada 1 Опубликовано 11 мая Поделиться Опубликовано 11 мая Делай на HC-05 реально работает спасибо автору Посмотри в соседней ветке Ссылка на комментарий Поделиться на другие сайты Поделиться
carmasteruser 0 Опубликовано 13 мая Поделиться Опубликовано 13 мая #include "BluetoothSerial.h" #include "driver/uart.h" #define BAUD_RATE 115200 * 8 #define SIZE_BUFFER 256 #define SIZE_FIFO SIZE_BUFFER * 8 #define SAVE_MODE //#define DEBUG_MODE //#define USE_PIN #ifdef USE_PIN const char* pin = "1234"; #endif const String device_name = "SCANMATIK #A111788"; BluetoothSerial SerialBT; uint8_t buffer[SIZE_BUFFER]; unsigned int available=0; unsigned int availableBT=0; size_t bytesRead=0; size_t bytesWrite=0; #ifdef SAVE_MODE uint32_t min_delay = 1; uint32_t max_delay = min_delay * 1024; uint32_t cur_delay = min_delay; uint32_t critical_size = SIZE_FIFO / 2; #endif #ifdef DEBUG_MODE #include <chrono> using namespace std::chrono; auto timePointSerial = high_resolution_clock::now(); auto timePointBT = high_resolution_clock::now(); #endif void setup() { Serial.setRxBufferSize(SIZE_FIFO); Serial.setTxBufferSize(SIZE_FIFO); Serial.begin(BAUD_RATE); memset(buffer, 0, sizeof(buffer)); // setup UART from hardware (RTS/CTS) uart_set_pin(UART_NUM_0, 1, 3, 22, 19); // UART, TX, RX, RTS, CTS uart_set_hw_flow_ctrl(UART_NUM_0, UART_HW_FLOWCTRL_CTS_RTS, 64); uart_set_mode(UART_NUM_0, UART_MODE_UART); SerialBT.begin(device_name); #ifdef USE_PIN SerialBT.setPin(pin); #endif Serial.print("AT-AB -BypassMode-\n"); } void loop() { available = Serial.available(); if (available > 0) { bytesRead = Serial.readBytes(buffer, min(available, sizeof(buffer))); bytesWrite = SerialBT.write(buffer, bytesRead); #ifdef SAVE_MODE if (cur_delay > min_delay) { cur_delay /= 2; } #endif #ifdef DEBUG_MODE auto timeoutSerial = high_resolution_clock::now() - timePointSerial; Serial.printf("\n\rAvailable from Serial %u, cur_delay %u , timeout %u\n", available, cur_delay, duration_cast<microseconds>(timeoutSerial).count()); Serial.printf("\n\rFrom Serial to BT Read = %u, Write = %u\n", bytesRead, bytesWrite); timePointSerial = high_resolution_clock::now(); #endif } availableBT = SerialBT.available(); if (availableBT > 0) { bytesRead = SerialBT.readBytes(buffer, min(availableBT, sizeof(buffer))); bytesWrite = Serial.write(buffer, bytesRead); #ifdef SAVE_MODE if (cur_delay > min_delay) { cur_delay /= 2; } #endif #ifdef DEBUG_MODE auto timeoutBT = high_resolution_clock::now() - timePointBT; Serial.printf("\n\rAvailable from BT %u, cur_delay %u, timeout %u\n", availableBT, cur_delay, duration_cast<microseconds>(timeoutBT).count()); Serial.printf("\n\rFrom BT to Serial Read = %u, Write = %u\n", bytesRead, bytesWrite); timePointBT = high_resolution_clock::now(); #endif } #ifdef SAVE_MODE if ((available < critical_size) && (availableBT < critical_size)) { delay(cur_delay); } if ((available <= 0) && (availableBT <= 0)) { if (cur_delay < max_delay) { cur_delay *= 2; } } #endif } для визуального контроля работы интерфейсов раскоментировать //#define DEBUG_MODE Это для экспериментов до установки в сканматик. Устанавливать с включенным DEBUG лучше не надо Roman St 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
a_m_k 2 Опубликовано 14 мая Поделиться Опубликовано 14 мая А это подо что скетч? Под ESP32? Ссылка на комментарий Поделиться на другие сайты Поделиться
carmasteruser 0 Опубликовано 14 мая Поделиться Опубликовано 14 мая Это исходный код для Ардуины IDE. Проверял да, на ESP32. Для DEBUG режима надо соединить с какой USB-TTL платой способной работать на высоких скоростях. Годится дешевый программатор на CH341A. Далее запускаем терминал где можно отправлять файлы и выставить соответствующую скорость. Cгодится minicom на передачу и Putty для приема. Не забываем и про блютуз. Для передачи файла на блютуз готового решения не нашел, пришлось свой скрипт на питоне сварганить. По поводу размера буфера. 128 должно было в теории хватать для устойчивой работы. Но при длительной передаче заметил что буфер FIFO постепенно заполняется под завязку что чревато потерей данных. При 256 такой проблемы не заметил. Увеличивать до 512 смысла не вижу. Будет страдать отзывчивость системы. Все-таки у нас один поток и все операции выполняются последовательно. Прошивка энергосберегающая. Применяется динамическая задержка от 1 до 1024 миллисекунд в зависимости от загрузки системы. В результате потребление системы снижается до 45 - 55 ма в состоянии покоя. Переход от максимальной задержки к минимальной в пределах значения максимальной задержки. При загрузке буферов FIFO больше половины задержка не применяется. Ссылка на комментарий Поделиться на другие сайты Поделиться
a_m_k 2 Опубликовано 15 мая Поделиться Опубликовано 15 мая Спасибо. Будет время - попробую данную прошивку. Ссылка на комментарий Поделиться на другие сайты Поделиться
carmasteruser 0 Опубликовано 15 мая Поделиться Опубликовано 15 мая максимальную задержку вполне можно увеличить до 2048 или даже 4096 но это надо проверять в работе на сканматике. я свою плату еще не подключал. Ссылка на комментарий Поделиться на другие сайты Поделиться
Demacr 0 Опубликовано 21 июня Поделиться Опубликовано 21 июня Всем привет. Подумываю прикрутить блютуз, но чёт кругом голова, что выбрать? Есть у меня кучка разных esp32 и скетчи тут лежат в открытом виде (прав качать нет), но привлекательным вижу вариант на hc-05 в силу энергопотребления, но архив скачать не могу - что с HC-05 надо сделать, чтобы завёлся? Ссылка на комментарий Поделиться на другие сайты Поделиться
Demacr 0 Опубликовано 22 июня Поделиться Опубликовано 22 июня Upd. Сам поискал информацию, заказал в итоге HC-06 (его должно тоже хватить). Насколько я понял нужно просто его настроить АТ командами (скорость, имя, пин-код) и припаять gnd, 3.3v, rx и tx. Ссылка на комментарий Поделиться на другие сайты Поделиться
deman-s 72 Опубликовано 22 июня Поделиться Опубликовано 22 июня 3 часа назад, Demacr сказал: Upd. Сам поискал информацию, заказал в итоге HC-06 (его должно тоже хватить). Насколько я понял нужно просто его настроить АТ командами (скорость, имя, пин-код) и припаять gnd, 3.3v, rx и tx. Немного не так с помощью ат команд в стандартной прошивке вы управление потоком не включите и подключать нужно ещё rts и cts для управления потоком (то есть не 4 провода а 6 ) посмотрите на примере esp32, есть ещё один нюанс, блютуз модуль (не программа) шлёт в МК (stm32f105) сообщение (типо я готов к передачи данных)без этого сообщения stm32 не будет работать с модулем (сообщение можно посмотреть в скетче к esp32) так что без прошивки ничего не получится Ссылка на комментарий Поделиться на другие сайты Поделиться
david manukyan 1 Опубликовано 24 июня Поделиться Опубликовано 24 июня Пожалуйста кто-нибудь дайте рабочую ссылку чтобы скачать а то отсюда я не могу скачать sputnet74 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Виктор V 28 Опубликовано Понедельник в 17:38 Поделиться Опубликовано Понедельник в 17:38 В 22.06.2025 в 00:29, Demacr сказал: Всем привет. Подумываю прикрутить блютуз, но чёт кругом голова, что выбрать? Есть у меня кучка разных esp32 и скетчи тут лежат в открытом виде (прав качать нет), но привлекательным вижу вариант на hc-05 в силу энергопотребления, но архив скачать не могу - что с HC-05 надо сделать, чтобы завёлся? Что так волнует энергопотребления он запитывается от аккумулятора автомобиля AllScan 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Serj_Pro 7 Опубликовано Понедельник в 20:18 Поделиться Опубликовано Понедельник в 20:18 Всем здравствуйте. Решил установить на китайматик модуль esp32. Подключил его к машине по ОБД всё чётко, работает. Тут как-то решил по USB его подключить к компьютеру, и слышно на windows постоянные отвалы USB с периодичностью в секунду. Отпаял питание от esp32, всё заработало. Заметил, что микросхема adum5000 сильно греется, бывает даже пальцем не стерпеть. И греется даже без bluetooth модуля. Не подскажете почему может греться? Мерил напряжение на стабилизаторе вроде всё норм 3 3 Вольта имеется. На входе где-то 4,8 стабильно. Ну и честно сказать я не электронщик, в радиоинститут не поступал))). Раньше я не обращал внимания на нагрев, пока bluetooth ставить не ставил. Трансиверы меняны давно. Ссылка на комментарий Поделиться на другие сайты Поделиться
deman-s 72 Опубликовано Вторник в 08:11 Поделиться Опубликовано Вторник в 08:11 11 часов назад, Serj_Pro сказал: Всем здравствуйте. Решил установить на китайматик модуль esp32. Подключил его к машине по ОБД всё чётко, работает. Тут как-то решил по USB его подключить к компьютеру, и слышно на windows постоянные отвалы USB с периодичностью в секунду. Отпаял питание от esp32, всё заработало. Заметил, что микросхема adum5000 сильно греется, бывает даже пальцем не стерпеть. И греется даже без bluetooth модуля. Не подскажете почему может греться? Мерил напряжение на стабилизаторе вроде всё норм 3 3 Вольта имеется. На входе где-то 4,8 стабильно. Ну и честно сказать я не электронщик, в радиоинститут не поступал))). Раньше я не обращал внимания на нагрев, пока bluetooth ставить не ставил. Трансиверы меняны давно. Adum5000 по даташиту 100ма даже в оригинале греется пока питание берётся через юсб при подачи отдельного питания (обед разъём) нагреваться перестает в вашем случае скорее всего плата с золотистыми контактами и адум5000 поддельная рассчитана на ещё меньший ток. Вам стоит или заменить adum5000 ( на что-то более мощное) либо совсем её убрать (поставить перемычки ) возможно ещё посмотреть номиналы резисторов в dc-dc преобразователе китаймата Виктор V и AllScan 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Виктор V 28 Опубликовано Среда в 05:39 Поделиться Опубликовано Среда в 05:39 В 01.07.2025 в 01:18, Serj_Pro сказал: Всем здравствуйте. Решил установить на китайматик модуль esp32. Подключил его к машине по ОБД всё чётко, работает. Тут как-то решил по USB его подключить к компьютеру, и слышно на windows постоянные отвалы USB с периодичностью в секунду. Отпаял питание от esp32, всё заработало. Заметил, что микросхема adum5000 сильно греется, бывает даже пальцем не стерпеть. И греется даже без bluetooth модуля. Не подскажете почему может греться? Мерил напряжение на стабилизаторе вроде всё норм 3 3 Вольта имеется. На входе где-то 4,8 стабильно. Ну и честно сказать я не электронщик, в радиоинститут не поступал))). Раньше я не обращал внимания на нагрев, пока bluetooth ставить не ставил. Трансиверы меняны давно. Чтобы не отвалилался USB в начале подключи питание от OBD разъема, потом в комп втыкай не будет отвалится AllScan 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Serj_Pro 7 Опубликовано Среда в 09:23 Поделиться Опубликовано Среда в 09:23 В 01.07.2025 в 11:11, deman-s сказал: Adum5000 по даташиту 100ма даже в оригинале греется пока питание берётся через юсб при подачи отдельного питания (обед разъём) нагреваться перестает в вашем случае скорее всего плата с золотистыми контактами и адум5000 поддельная рассчитана на ещё меньший ток. Вам стоит или заменить adum5000 ( на что-то более мощное) либо совсем её убрать (поставить перемычки ) возможно ещё посмотреть номиналы резисторов в dc-dc преобразователе китаймата Подтверждаю. Да, плата с золотистыми контактами. У меня кстати есть ещё один китайматик(тот что в черном корпусе ) так вот на нем все чётко работает, ниче не греется и не отваливается. На нем и блютуз четко пашет, без нареканий. Только что, Serj_Pro сказал: Подтверждаю. Да, плата с золотистыми контактами. У меня кстати есть ещё один китайматик(тот что в черном корпусе ) так вот на нем все чётко работает, ниче не греется(адум 5000 еле теплая) и не отваливается. На нем и блютуз четко пашет, без нареканий. И adum5000 по внешнему виду и маркировке чётче выглядит Ссылка на комментарий Поделиться на другие сайты Поделиться
Demacr 0 Опубликовано 21 час назад Поделиться Опубликовано 21 час назад В 22.06.2025 в 11:55, deman-s сказал: Немного не так с помощью ат команд в стандартной прошивке вы управление потоком не включите и подключать нужно ещё rts и cts для управления потоком (то есть не 4 провода а 6 ) посмотрите на примере esp32, есть ещё один нюанс, блютуз модуль (не программа) шлёт в МК (stm32f105) сообщение (типо я готов к передачи данных)без этого сообщения stm32 не будет работать с модулем (сообщение можно посмотреть в скетче к esp32) так что без прошивки ничего не получится Да ещё и hc-06 сейчас выше 115 не поддерживают, как оказалось. А вот про спец команду это вы очень вовремя мне написали - я в итоге взял esp32 и скетч писал сам (выше несколькими сообщениями не увидел 😵💫) и эту строку не добавлял (подумал, что кто-то из примера какого-нибудь перетянул) и в итоге 3 дня мучаюсь 😂 Ссылка на комментарий Поделиться на другие сайты Поделиться
Виктор V 28 Опубликовано 21 час назад Поделиться Опубликовано 21 час назад Только что, Demacr сказал: Да ещё и hc-06 сейчас выше 115 не поддерживают, как оказалось. А вот про спец команду это вы очень вовремя мне написали - я в итоге взял esp32 и скетч писал сам (выше несколькими сообщениями не увидел 😵💫) и эту строку не добавлял (подумал, что кто-то из примера какого-нибудь перетянул) и в итоге 3 дня мучаюсь 😂 Есть готовая прошивка для ESP Ссылка на комментарий Поделиться на другие сайты Поделиться
deman-s 72 Опубликовано 21 час назад Поделиться Опубликовано 21 час назад 29 минут назад, Demacr сказал: Да ещё и hc-06 сейчас выше 115 не поддерживают, как оказалось. А вот про спец команду это вы очень вовремя мне написали - я в итоге взял esp32 и скетч писал сам (выше несколькими сообщениями не увидел 😵💫) и эту строку не добавлял (подумал, что кто-то из примера какого-нибудь перетянул) и в итоге 3 дня мучаюсь 😂 С чего вы взяли что hc-06 не поддерживает скорость выше 115 в программе ps tool можете выставить даже выше 921600 в прошивке с помощью ат команд выше не настроите а вот с помощью программы ps tool вполне возможно Ссылка на комментарий Поделиться на другие сайты Поделиться
Demacr 0 Опубликовано 20 часов назад Поделиться Опубликовано 20 часов назад 48 минут назад, deman-s сказал: С чего вы взяли что hc-06 не поддерживает скорость выше 115 в программе ps tool можете выставить даже выше 921600 в прошивке с помощью ат команд выше не настроите а вот с помощью программы ps tool вполне возможно Ааа. Ну в любом случае я так понимаю флоу контроль и команду инициализации только через программатор можно было внести. HC-06 уже вернул. Ссылка на комментарий Поделиться на другие сайты Поделиться
deman-s 72 Опубликовано 13 часов назад Поделиться Опубликовано 13 часов назад 6 часов назад, Demacr сказал: Ааа. Ну в любом случае я так понимаю флоу контроль и команду инициализации только через программатор можно было внести. HC-06 уже вернул. Все правильно прошивка сложнее и модулей поддельных тоже много Ссылка на комментарий Поделиться на другие сайты Поделиться
Demacr 0 Опубликовано 4 часа назад Поделиться Опубликовано 4 часа назад Вообщем ура, все заработало. Взял скетч, где прописан SAVE_MODE, но сам режим выключил. Дополнительно в setup прописал esp_wifi_stop() и esp_wifi_deinit() и добавил светодиод статуса связи. Подключил сканматик через usb тестер - во время автоопределения блока двигателя (сканмат никуда не подключен) потребление 170 мА (на весь сканмат). Считаю, что более чем достойно и можно не заморачиваться с доп. стабом. Кстати, у 1117 по даташиту вообще-то 1.1А в максимуме. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти