Slava
Подскажите кто как обрабатывает аткие кейсы: Например я не могу достучаться до датчика или не удалось подключиться к wifi или еще что-то критичное для работы устройства. Что делать в таком случае. Логчно было бы помигать светодиодом и как-то вырубить девайс?
Раз в минуту проверка на connect, попытка реконнекта, через час не коннекта рестарт. Раз в час пинг датчиков, если не отвечает, сообщает об этом. В моём случае есп32 и 8266, сообщения в телеграм, обмен между устройствами по http.
Сергій
esp32-c3 в виде модулей или плат кто нибудь уже с али заказывал? или ещё рано
Роман
подскажите, на есп32 BLE GATT server. как я могу выполнить чтение характеристики с сервера более 22 байт пакетами? Записать я могу, а вот если пытаюсь чтение выполнить то происходит ошибка: BT_GATT: GATTS_SendRsp conn_id: 3 waiting for op_code = 00 BT_APPL: Sending response failed код: else if(param->read.handle == gl_profile_tab[PROFILE_A_APP_ID].char_handle[2]) { ... ... f = fopen(LOG_FILE_PATH, "r"); for(int i=0; i<read_blocks; i++) { memset(txt_buf, 0, GATTS_CHAR_VAL_LEN_MAX); if(i == read_blocks - 1) { fread(txt_buf, sizeof(char), (read_ost * GATTS_CHAR_VAL_LEN_MAX / 10), f); } else{ fread(txt_buf, sizeof(char), GATTS_CHAR_VAL_LEN_MAX, f); } printf(txt_buf); /* отпправляем пакеты в ответе */ rsp.attr_value.len = GATTS_CHAR_VAL_LEN_MAX; rsp.attr_value.handle = param->read.handle; strcpy((char*)rsp.attr_value.value, (const char*)txt_buf); esp_ble_gatts_send_response(gatts_if, param->read.conn_id, param->read.trans_id+i, ESP_GATT_OK, &rsp); } fclose(f); printf("\n"); }
Andy
esp32-c3 в виде модулей или плат кто нибудь уже с али заказывал? или ещё рано
https://ru.mouser.com/ProductDetail/Espressif-Systems/ESP32-C3-WROOM-02-H4?qs=stqOd1AaK79%2FSA14oWtR%252Bw%3D%3D
Daniil
Daniil
кто в курсе, почему эта строка приводит к стэк оверфлоу
Daniil
?
🤙🏻 ℙ𝔸𝕍𝔼𝕃
А что за формат %l ?
Daniil
А что за формат %l ?
Ну типо Лонг Лонг инт
Daniil
А что за формат %l ?
Просто d тоже не работает
🤙🏻 ℙ𝔸𝕍𝔼𝕃
Ну типо Лонг Лонг инт
http://www.c-cpp.ru/content/printf
🤙🏻 ℙ𝔸𝕍𝔼𝕃
Мб в тайм не влазит, сделай буфер боблдьше
🤙🏻 ℙ𝔸𝕍𝔼𝕃
Ну тогда идей больше нет =)
Indr1x
делал, все одно
Там секунды помоему лишние. Нет? Там где вы формат указываете.
Юрий
https://ru.mouser.com/ProductDetail/Espressif-Systems/ESP32-C3-WROOM-02-H4?qs=stqOd1AaK79%2FSA14oWtR%252Bw%3D%3D
В чем его фишка?, ядро одно, частота ниже, цена +- та же как и у обычного wroom😐
Daniil
Размер, не?
указал размер 100, заработало. меньше не хочет, куда ему столько?
Dmytro
В чем его фишка?, ядро одно, частота ниже, цена +- та же как и у обычного wroom😐
Цена в перспективе явно будет меньше, Bluetooth 5, ниже энергопотребление
Юрий
Т.е. если блютуз не используется и размер не критичен, больше особых выгод нет ну или они уже в особенностях конкретных узлов, правильно понимаю?
Юрий
А так да, норм аппарат
Dmytro
Не, там памяти мало
Есть модули на 16Мб, куда больше-то?
Dmytro
Вроде даже на 32 есть
Юрий
Юрий
У маузера обычный esp32 стоит 7$ что ли?
Andy
я про чип, а не про модуль
Pavel
Добрый день. Имеется умный пульт перешитый в esphome, хочу к нему прикрутить ещё датчик температуры, gpio4 gpio5 gpio13 gpio14 заняты под ресиверы трансмистер и кнопку, остаётся только gpio12 и gpio16 но на 16 нужно ещё резистор вещать я так понял 10ком.
Pavel
Pavel
Юрий
1wire можно на gpio12 организовать
Юрий
16 только на вход вроде был
Сергій
если да - можно io2 попробовать, или даже io на TX
⁣🇺🇦
А разве здесь нужно Лонг Лонг? У тебя же вообще uint16 для этого просто d достаточно
⁣🇺🇦
А буфер надо сделать на 11 а не 10 Максимальное значение у uint16 это 65535 (5 символов) добавляем " сек." Ещё 5 символов, и символ конца строки "\0"
Dmytro
кто в курсе, почему эта строка приводит к стэк оверфлоу
Потому что у вас строка длиной в 10 символов, а это не гарантирует что в нее влезет все что вы в нее пытаетесь записать
Dmytro
У вас фиксированная часть " сек." длинной 5+1, а еще и uint16_t, который в худшем случае может быть длинной 5 символов (65535)
Sid
В конец строки \0 и проверь
Sid
Ну и возьми не sprintf а swprintf
Mr.Mait
Там же нету !
Имеется ввиду не равен
Станислав
Всем привет. подскажите, в чем может быть дело. имеется wemos d1 mini и датчик влажности почвы, вот такой. должен работать от 3.3 вольт. но при подключении к пину 3.3 на wemos последний отключается от USB (и от COM) появляется звук как будто вынули устройство из USB. преобразователя для контроллера на 3.3в должно хватать с запасом. датчик потребляет до 6 ма. Спасибо
Станислав
есть видео в инете, где подключают как я хочу и все работает
Сергій
проверить датчик на КЗ по питанию
Сергій
мультиметром
Сергій
либо не правильно подключаете, не та полярность, например
Станислав
проверить датчик на КЗ по питанию
от 5 вольт норм работает
Станислав
и через Dc преобразователь 5-3.3 тоже норм
Сергій
тогда хлипкий стабилизатор всё же на d1 mini
Станислав
пробовал разные датчики из одной партии и разные wemos
Сергій
и ?
Станислав
тогда хлипкий стабилизатор всё же на d1 mini
хорошо тогда другой вопрос, можно ли питать датчик от 5 вольт, а показания снимать на аналоговом пине 3.3, не будет ли зашкаливать данные и теряться?
Сергій
провод usb тонкий
Станислав
и ?
тоже самое
Сергій
или порт на компе
Станислав
провод usb тонкий
пробовал два разных, один из них хороший, и на разных компах
Сергій
Станислав
или порт на компе
другой датчик sht10 работает нормально от 3.3 вольта
Сергій
по описанным симптомам пропадает питание на плате ли на порте
Станислав
запитать от 5В вставть на выход мультиметром посмотреть значение сухого потом значение мокрого
я про другое, не будет ли смещения напряжения и потеря показаний. при питании от 5 вольт показания в сухом 1024, я боюсь что часть полезного потенциала напряжения просто будет обрезаться
Сергій
может быть , надо проверять
Сергій
Сергій
судя по схеме смена напряжения питания повлияет
Сергій
и на частоту, и на амплитуду
Станислав
может быть , надо проверять
я пробовал включать через диоды при понижении питания, значения датчика ниже 1024, что мне и надо. придется мостырить 3-4 последовательных диода, чтобы снизить питание, или DC-ВС
Сергій
1117