Artem
Это планировалось как некоммерческий проект, но хрен его знает как оно пойдёт
ushakov
А как его защитить?
flash encryption + secure boot. сам не пробовал, так что в этом аспекте я теоретик. материалы для вкуривания тут: https://docs.espressif.com/projects/esp-idf/en/latest/security/flash-encryption.html https://docs.espressif.com/projects/esp-idf/en/latest/security/secure-boot.html
Artem
Мерси
Artem
выше написано как избавиться
конкретнне пожалуйста
Ant
конкретнне пожалуйста
два отдельных дс-дс, один для питания реле, другой для питания схемы. стабильность на выходе дс-дс для схемы - 0,1В, для реле - 0,5в. на реле снабберы и диоды. разнести и заэкранировать провода от датчиков и от реле
Ant
обеспечить защиту от помех по цепям питания 12В до 50В в пике
Artem
еще один момент, контроллер и блок реле будут в одной коробке :(
Ant
заэкранировать контроллер от реле
Ruslan
камрады, а кто подключал к ESP32 микрофон и динамик? я в аналоге не очень, как это правильно сделать?
Ruslan
меня больше микрофон интересует, с обычным усилителем я разберусь
Svyatoslav
Микрофон ставили и классический макс с усилителем и мемс. Не каждый мемс хорош, лучше через усилитель
Svyatoslav
I2s не стали мурыжить, оставили на потом.
Svyatoslav
камрады, а кто подключал к ESP32 микрофон и динамик? я в аналоге не очень, как это правильно сделать?
Просто кидай на аналоговый канал и читай по прерываниям. Либо можешь взять АЦП то SPI
Ruslan
ok
Василий
Svyatoslav
а что дальше с полученным значением делать будете ?
Мы по udp шлем на сервер. Можно сделать проще и поставить карточку.
Svyatoslav
ok
Совсем правильно - поставить кодек и работать уже с кодеком.
Ruslan
мне потом в SIP
Василий
Мы по udp шлем на сервер. Можно сделать проще и поставить карточку.
и хватает скорости - доставить хотя бы 3000 значений в секунду? - что бы получить звук а не квакание?
Svyatoslav
и хватает скорости - доставить хотя бы 3000 значений в секунду? - что бы получить звук а не квакание?
Вы что?! у нас 8к стабильно шлються при параллельном сборе 3ех осей аксселерометра на частоте 2 кГц
Svyatoslav
Если убирать акси, то можно легко 16 кГц прокачать.
Svyatoslav
Звук восстанавливали. Конечно не студийная запись, но речь слышно.
Svyatoslav
Просто два ядра задействуются: одно под сбор, второе под отправку.
Василий
Вы что?! у нас 8к стабильно шлються при параллельном сборе 3ех осей аксселерометра на частоте 2 кГц
...интересно - а чем отправляются пакеты (библиотека, процедуры какие) и чем принимаются ?
Svyatoslav
...интересно - а чем отправляются пакеты (библиотека, процедуры какие) и чем принимаются ?
Реализация своя, через сокеты. Формат пакета тоже свой, без структуры. Принимаем через внешнюю AP (роутер) сразу на сервер. Сервер на питоне через сокетсервер сделанный.
Василий
совсем своя реализация ? - даже tcp/ip или что там udp стек свой ?
Ruslan
Svyatoslav
совсем своя реализация ? - даже tcp/ip или что там udp стек свой ?
Ох, извиняюсь. Это все делалось из под micropython и их либы socket
Svyatoslav
не вникал пока... как там ядра использовать?
Предлагаю вам использовать прошивку loboris, у него есть поддержка всего этого из коробки
Svyatoslav
вы про что конкретно?
https://github.com/loboris/MicroPython_ESP32_psRAM_LoBo
Svyatoslav
Мы делали на оригинальном микропитоне
Ruslan
я просто выпал из контекста, вы явно не про шифрование прошивки...
Svyatoslav
я просто выпал из контекста, вы явно не про шифрование прошивки...
Вам нужно считать данные с микрофона и воспроизвести на динамик? Вот функция чтения, в этой прошивке, даст вам возможность чтения с 16кгц.
Ruslan
а, понял к сожалению, кроме этого ещё много чего надо делать и питон тут не подойдёт, но я посмотрю
Ruslan
полная защита прошивки для начала
Svyatoslav
В питоне хорошая поддержка thread ов
Василий
та судя по производительности - питона на esp32 - то это даже круто
Svyatoslav
полная защита прошивки для начала
Вы можете заморозить файлы прошивки через mpy-cross
Ruslan
я много пишу на питоне, но в текущем проекте всё на чистом C, написано много
Василий
В питоне хорошая поддержка thread ов
а с чего начать - поковырять питон ? IDE какой, либы и т.д. - подскажите
Ruslan
pycharm CE
Ruslan
и дока на питон, там есть всё
Svyatoslav
а с чего начать - поковырять питон ? IDE какой, либы и т.д. - подскажите
Micropython.org, у них очень показательная и полная дока + на просторах сети есть книга
Василий
..спасибо
Whatislove
Micropython.org, у них очень показательная и полная дока + на просторах сети есть книга
нормально питон работает на esp? не жрёт много ресурсов?
Svyatoslav
нормально питон работает на esp? не жрёт много ресурсов?
На 86 остаётся около 20 КБ памяти, на 32 порядка 104кб
Svyatoslav
С внешней рам становится проще, но там долгий сборщик мусора
Artem
Господа подскажите плз, на esp32 есть функция очистки еепрома? Или может подскажете как реализовать программную кнопку сброса
Resident
EEPROM.commit();
Resident
После
Resident
int reading = digitalRead(buttonPin); // во фрагменте кода ниже проверяем, была ли нажата кнопка // (т.е. изменилось ли входное значение с «LOW» на «HIGH») // и прошло ли достаточно времени с момента нажатия // (чтобы исключить вероятность переключения из-за шума): // если состояние переключателя изменилось - // либо из-за шума, либо из-за нажатия на кнопку... if (reading != lastButtonState) { // ...сбрасываем счетчик антидребезга: lastDebounceTime = millis(); } if ((millis() - lastDebounceTime) > debounceDelay) { // каким бы ни было считанное значение, // оно держится уже дольше периода антидребезга, // поэтому принимаем это значение за текущее состояние контакта: // если состояние кнопки изменилось: if (reading != buttonState) { buttonState = reading; // чистим память, только если // новым состоянием кнопки является «HIGH»: if (buttonState == HIGH) { Здесь очистка epprom } } }
Resident
Если поставить время 5000 то нужно будет 5 сек жать кнопку что бы сбросить память
Artem
По сути просто вместо всех значений присваиваем 0
Resident
Ну этт и ежам понятно вроде бы
Artem
?
Resident
Да
Artem
Он сразу во все адреса еепрома пишет ноль?
Resident
А может быть даже и null это надо в инет лезть смотреть
Resident
Да
Artem
Спасибо это прям то что нада
Resident
Пустая ячейка памяти что возвращает?
Artem
Да по идёт ничего
Resident
Не может быть
Artem
Ну тогда нули
Resident
Что то она в любом случае возвращает
Resident
Либо null
Resident
Тут надо комп) а я с телефона только
Artem
Да мне думаю достаточно того что ты дал
Artem
Доберусь до компактное проверю
Artem
Очень вымораживает что нада делать комит постоянно
Artem
Типа рациональнее использовать перезапись?
Resident
Get put