Anonymous
На i2c есть простые, они добавят gpio
Ttt
На i2c есть простые, они добавят gpio
Понимаю. Есть у меня платка с мультиплексируемыми входами/выходами. Но это не то направление. Хочу все же на Меге остаться. Спасибо за помощь! Возможно в будущем над прошивкой esp поколдую. Например, чтобы AT команды принимала и соответствующе реагировала, а в случае ssl соединения организовывала его от себя с переданными по Serial параметрами.
Dmitry
Всем привет
Ttt
разверните логически конструкцию наоборот, ведущая esp с ботом, которую обслуживает atmega по запросу через тот же uart
Я правильно понимаю: взаимодействовать с ботом будет есп, а инфу ей отсылать мега по uart? Если так, то я это и имел в виду.
Dmitry
заблочте его, за неучтивость к участникам форума...
filarius
Здравичка, пишет нуб который маленько умеет с С++ и не очень боится математики, крохотный опыт в Arduino Studio, пытался делать простой астротрекер "амбарный". хочу заехать в HID (мышь/клава/джойстик) для компа, по запчастям не сильно дорогое на деревенский кошелек, но в достаточной степени эффективное/быстрое (так что покупать скорее всего с Али) мысль про 9 DoF сенсор (гироском, аксельрометр, компас), может задействовать жесты через потенциометры по штуке на палец в качестве мозгов глаз положил на esp32-s2 или esp32-s3 dev board (тупо нашел упоминание что на них получалось делать USB клавиатуру и джойстик), сенсор MPU-9250 через SPI (типа быстрое). Потенциометры пока хз вроде слышал дешевые дребезжат сильно. Еще когда-то раньше видел мужики делают определение сгибания пальцев через "сенсор деформации", полоска такая, но они довольно дорогие выходят если брать сразу 5. Дешевенькие акселерометры на ногти "клеить" - хз если честно, я ж паять не умею и буду покупать относительно большие готовые платы с сенсорами. Спасибо что прочитали.
filarius
Сам вопрос забыл задать то, растяпа. Вопрос - нормально ли подобрал железки, может что другое взять, ну и трекинг пальцев через конкретно какие экзепляры лучше делать.
Andy
Здравичка, пишет нуб который маленько умеет с С++ и не очень боится математики, крохотный опыт в Arduino Studio, пытался делать простой астротрекер "амбарный". хочу заехать в HID (мышь/клава/джойстик) для компа, по запчастям не сильно дорогое на деревенский кошелек, но в достаточной степени эффективное/быстрое (так что покупать скорее всего с Али) мысль про 9 DoF сенсор (гироском, аксельрометр, компас), может задействовать жесты через потенциометры по штуке на палец в качестве мозгов глаз положил на esp32-s2 или esp32-s3 dev board (тупо нашел упоминание что на них получалось делать USB клавиатуру и джойстик), сенсор MPU-9250 через SPI (типа быстрое). Потенциометры пока хз вроде слышал дешевые дребезжат сильно. Еще когда-то раньше видел мужики делают определение сгибания пальцев через "сенсор деформации", полоска такая, но они довольно дорогие выходят если брать сразу 5. Дешевенькие акселерометры на ногти "клеить" - хз если честно, я ж паять не умею и буду покупать относительно большие готовые платы с сенсорами. Спасибо что прочитали.
честно сказать не понял чего хотите сделать - датчик жестов, но для пальцев? Датчик положения пальцев? Результат отдавать в хост как положения мыши? Привязать координаты пальцев и отдавать изменения на хост как нажатия кнопок?
filarius
честно сказать не понял чего хотите сделать - датчик жестов, но для пальцев? Датчик положения пальцев? Результат отдавать в хост как положения мыши? Привязать координаты пальцев и отдавать изменения на хост как нажатия кнопок?
возможно я сам для себя еще до конца сформулировал желаемый конечный продукт первоначально думал о замене мыши через отслеживание положения ладони, ну и джойстик с 4 осями, бывало, хотелось. потом, когда уже писал вопрос, интернет мне напомнил про самодельные перчатки для виртуальной реальности и я подумал что если добавить отслеживание пальцев, то это существенно облегчит реализацию хотя бы нажатия клавиш, ну и в целом расширит функционал, не знаю потяну ли я реализацию отслеживания жестовых движений руки с пальцами (я так понимаю это нужно хардкодить каждый жест внутри программы для esp32, а не на стороне компьютера), но вроде как не выглядит сложным следить за отдельными пальцами и назначить на них кнопки или триггеры переключения режимов работы.
The Lord of Кот
В 70 строк сделаешь эту штуку
Andy
возможно я сам для себя еще до конца сформулировал желаемый конечный продукт первоначально думал о замене мыши через отслеживание положения ладони, ну и джойстик с 4 осями, бывало, хотелось. потом, когда уже писал вопрос, интернет мне напомнил про самодельные перчатки для виртуальной реальности и я подумал что если добавить отслеживание пальцев, то это существенно облегчит реализацию хотя бы нажатия клавиш, ну и в целом расширит функционал, не знаю потяну ли я реализацию отслеживания жестовых движений руки с пальцами (я так понимаю это нужно хардкодить каждый жест внутри программы для esp32, а не на стороне компьютера), но вроде как не выглядит сложным следить за отдельными пальцами и назначить на них кнопки или триггеры переключения режимов работы.
т.е. хотите сделать инерциальную систему захвата движения пальцев?
filarius
Стм и питончик с опенсиви
а симуляция клаво-мыши для любых игр ? я как-то пытался через питон сделать "бота" для одной, но она упорно делала вид что "бот" не работает если подключить для STM32 режим USB HID, то COM-порт остается работать? не будет ли такой комбайн подлагивать? Ты про OpenCV ?
The Lord of Кот
Та и вообще изобретать мышь такое себе
The Lord of Кот
Сделай что хочешь только никак хид устройство
The Lord of Кот
Апишки под такие штуки есть
filarius
т.е. хотите сделать инерциальную систему захвата движения пальцев?
в последней мысле мысль такая - следить за движениями ладони и насколько согнуты пальцы, а для компьютера esp32 будет видится как джойстик, например
The Lord of Кот
Бери любой, скачивай, смотри, переделывай
filarius
На Гите по запросу gesture mouse "миллиарды" проектов
порой главное - это знать какие именно слова и в каком месте задавать, да посмотрю про питон хочу уточнить, ты предлагаешь по UART передавать данные с датчиков на комп, а питон компу будет симулировать HID ?
The Lord of Кот
Зачем тебе датчики?
The Lord of Кот
Ты хочешь сделать трек руки через камеру или через гироскоп?
Andy
в последней мысле мысль такая - следить за движениями ладони и насколько согнуты пальцы, а для компьютера esp32 будет видится как джойстик, например
Следить можно по разному, грубо это оптические или инерциальные системы. Для начала возможно имеет смысл изучить тему, а кто там будет обрабатывать поток данных (микроконтроллер или хост) уже потом решать. Пример оптической системы https://www.amazon.com/ODiN-Holographic-Projection-Complementary-Accessory/dp/B016O1L32C
filarius
Следить можно по разному, грубо это оптические или инерциальные системы. Для начала возможно имеет смысл изучить тему, а кто там будет обрабатывать поток данных (микроконтроллер или хост) уже потом решать. Пример оптической системы https://www.amazon.com/ODiN-Holographic-Projection-Complementary-Accessory/dp/B016O1L32C
просто пытаюсь понять предлагаемую схему работы когда esp32 или stm32 не будут для компьютера выдавать себя за USB HID под OpenCV я предполагаю трекинг с вебкамеры, но такой способ заметно подлагивает даже блютузная мышка (ну правда недорогая) я замечаю как отстает от движений, просто в винде тыкаться это пойдет, а для игр уже существенно
filarius
Ты хочешь сделать трек руки через камеру или через гироскоп?
через акселерометр+гироскоп, может компас там и не нужен, но хотелось как-то "прочнее" привязать руку к окружающему пространству. я так понимаю что если только гироскоп и акселерометр, то положение может дрейфовать по горизонтальной оси (по вертикальной - всегда можно ориентироваться на вектор постоянной гравитации).
The Lord of Кот
Примерно то что ты хочешь
The Lord of Кот
Там все проблема в фильтрации
The Lord of Кот
Даже можно блюпуп прикрутить
The Lord of Кот
Думаю как к епсшке мемс гироскоп присобачить
filarius
Ну у меня уже есть эта штука на есп
блюпуп дает задержку данных по сравнению с прямым USB ? Просто есть неудачный опыт с блюпуп мышей, мне ее лаги не нравится для игр т.е. получается недорогие сенсоры не настолько качественные данные немного скачут? какое-нибудь скользящее среднее, если хорошая скорость обновления с сенсоров, может и не будет так уж заметно
The Lord of Кот
У меня нет задержки
filarius
ну в том же популярном MPU 6050 вроде какой-то встроенный программируемый обработчик есть, правда не изучал что он может и как работать
Алексей
Реализую софтверное подобие I2C. Хорошая ли идея делать это через arduino IDE, и на какой скорости может работать софтверный асинхронный протокол?
filarius
Смотря как сделаешь
а какой у тебя гироскоп, аналоговой ? загуглил про MEMS, первая же ссылка на хабр по MPU 9250, который я и хочу взять
Andy
Реализую софтверное подобие I2C. Хорошая ли идея делать это через arduino IDE, и на какой скорости может работать софтверный асинхронный протокол?
мастер можно делать на чем хочешь, т.к. I2C синхронный протокол. А вот slave уже лучше делать на прерываниях, причем на конкретном ядре esp32 не используемом для wifi
Алексей
мастер можно делать на чем хочешь, т.к. I2C синхронный протокол. А вот slave уже лучше делать на прерываниях, причем на конкретном ядре esp32 не используемом для wifi
Как раз слейв работает на прерываниях Но он же тоже данные отсылает, вопрос в том, будет ли есп делать это быстро
Andy
Как раз слейв работает на прерываниях Но он же тоже данные отсылает, вопрос в том, будет ли есп делать это быстро
Потому и оговариваю отдельное ядро для работы slave, т.к. если битбангом делать, то на esp8266 например немаскируемые прерывания WIFi нарушают временные промежутки.
Andy
А если вайфай выключен, все равно промежутки нарушаются?
не проверял, т.к. смысла в такой конфигурации для моей задачи не было.
Алексей
Понял, спасибо
filarius
Mpu 9255
пошел гуглить, пока не вижу особо разницу с 9250, разве что на Али 9255 можно найти немного дешевле
filarius
вдруг ты уже знаешь в чем между ними принципиальная разница
Dmitriy
Кто на такой сеть заводил?
Denis
езерчип какой там стоит?
Олег
Кто на такой сеть заводил?
POE ttgo? самому интересно
Dmitriy
езерчип какой там стоит?
https://habr.com/ru/post/547044/ да уже раскопал
Rossomahaar
Мужики, привет) не подскажете, можно ли у модуля esp01 I02 распаять под датчик DHT22 например?)
Rossomahaar
А почему нет?
🤝 понял, огромное спасибо) буду делать)
Rossomahaar
а то я ее использовал лишь свет цветам вкл-выкл)
Dmitry
Кто использовал digispark, на нем вотчдог нормально работает или надо что-то подкрутить?
Dmitry
Скетч компилируется, аттини засыпает, вотчдог включен, но не просыпается...
Rossomahaar
На platformio elegantOTA в тупянку роняет железку, а в ардуинеИДЕ железка работает ок. Смотреть в .ini?)
K.
блюпуп дает задержку данных по сравнению с прямым USB ? Просто есть неудачный опыт с блюпуп мышей, мне ее лаги не нравится для игр т.е. получается недорогие сенсоры не настолько качественные данные немного скачут? какое-нибудь скользящее среднее, если хорошая скорость обновления с сенсоров, может и не будет так уж заметно
Тот же MPU6050 весьма недорогой сенсор. При грамотной калибровке (вручную, а не предлагаемым скетчем из ардуиновского примера) даёт отличные результаты. Правда он очень чувствительный, что многие принимают за шум. Для твоих целей его нужно программно загрубить и данные отфильтровать. Магнетометр (для коррекции дрейфа нуля гироскопа) мне побороть не удалось. Проблему с калибровкой так и не решил.
K.
мастер можно делать на чем хочешь, т.к. I2C синхронный протокол. А вот slave уже лучше делать на прерываниях, причем на конкретном ядре esp32 не используемом для wifi
Можно поподробнее про I2C и ядра ESP32? Мне нужно решить задачу считывания данных с датчика по I2C через строго равные промежутки времени. Если пробую это сделать через прерывания, то у меня с датчика информация не приходит. То есть запрос - ответ есть, а в ответе одно и то же значение - 0.
K.
на наличие SPI (большая частота опроса) стоит заморачиваться или не очень ? MPU 6000 - та же фигня но плюс SPI или MPU 6500
Вообще-то 6050 менее шумный по сравнению с 6500. Оба работают с I2C и с SPI. (400kHz Fast Mode I²C or up to 20MHz SPI serial host interfaces). 6500 работает на меньшем напряжении. В остальном они одинаковые.
filarius
может даташит врет
Evgeny
Спасибо, посмотрю.
у меня attiny85 отдавала нули т.е. этого параметра по умолчанию было не достаточно.
K.
может даташит врет
https://invensense.tdk.com/products/motion-tracking/6-axis/mpu-6050/ https://invensense.tdk.com/products/motion-tracking/6-axis/mpu-6500/
filarius
"400kHz Fast Mode I²C or up to 20MHz SPI (MPU-6000 only) serial host interfaces"
filarius
и там таблица, колонка "digital output" значится только i2c
Andy
Можно поподробнее про I2C и ядра ESP32? Мне нужно решить задачу считывания данных с датчика по I2C через строго равные промежутки времени. Если пробую это сделать через прерывания, то у меня с датчика информация не приходит. То есть запрос - ответ есть, а в ответе одно и то же значение - 0.
Дело в том, что чтение линии SDA мастером происходит в строго определенный интервал времени после прижатия линии SCL, если в это время ядро будет занято немаскируемым прерыванием от WiFi, то прерывание от ноги SCL будет отложено и соответственно линия SDA будет прижата на больше время чем надо. Следовательно мастер прочитает такой сигнал как 0.
filarius
трудно поспорить с тем что ты сейчас работаешь по SPI, не думаю что ты перепутал, а вот что маркировка чипа неправильное - это возможно. пока что все пруфы показывают (твои тоже) что 6050 только на I2C (исходя из документации)
K.
не могу точно ответить, т.к. не проводил таких экспериментов.
Всё равно спасибо за пояснение работы I2C.